--- title: "Application Compatibility WG, February 15, 2023" tags: unikraft, musl, app-compat datetime: 2023-02-15T12:00:00+02:00 location: Online, Discord (https://bit.ly/UnikraftDiscord), the `#monkey-business` voice channel teams: - musl-syscall participants: - Andra - Cosmin - Felipe - Pierre - Simon - Stefan - Teodor --- ## :dart: Agenda - Status update - Next steps ## :closed_book: Discussions SK: - https://github.com/unikraft/app-elfloader/pull/7 - README for executing and debugging ELF binaries (statically and dynamically linked ELF binaries, executed with elfloader) - Please try out the steps from the PR. Also check the debugging sections. - I'm open for any comments for the text. - There is also info for dynamically linked binaries. CV: - I had a look at the PR with the README. - I had issues with statically linked binary, could't find symbols. - I used OpenJDK as appplication. - I'm mainly focusing on hello world and Java apps. SK: - You should include the updates for futex to unblock the OpenJDK workload. FH: - Try out the README instructions. - Should include the setup for app compat in Kraftkit in the end. - Should also try out the dynamically linked apps. PO: - Worked on Loupe. - https://fosdem.org/2023/schedule/event/loupe/ - I'll share the graph on the app-compat channel. - https://discord.com/channels/762976922531528725/992447887864762419/1075373296335474698 - Looked at the order in which OSv ported the apps, the integrated syscalls and supported apps. - I can do the paper submission. - My student is working on the Linux test suite. - Plan to port for Unikraft to check the syscalls support. - Get the coverage for the Linux syscalls for Unikraft. - Try to find a way to automate the porting of the tests. SJ: - No specific updates. - Currently I check the set of the static PIE apps. - https://github.com/unikraft/static-pie-apps SK: - Identified issues e.g. with interrupt handling, the 9pfs setup hangs. - The release has issues with 9pfs, with the race condition. - Another issue is with regard to nginx, there is a crash. - Does anyone want to work on any of these issues? - We should further discuss on the Discord channel if you want to work on these issues. - There were also issues related to how the stack is aligned e.g. requirement for arguments alignment on the stack. TT: - From the "app-compat" Discord channel: "Hello! I tried compiling and testing the newest version of elfloader on the static pie apps, and I found some problems. Some of them may be related to the run_elfloader script, which I used, more specifically relating to how the arguments are passed. I compiled elfloader with 9pfs, lwip and posix-futex and enabled networking where it was required. I am attatching here my notes and the .config file generated by make menuconfig." https://discord.com/channels/762976922531528725/992447887864762419/1074365457890558032 - Possibly the issue was with the filesystem setup. - Failed to mount fs0 was seen as error, still after following the updated steps. SK: - Should include the 9pfs virtio setup for KVM or the PCI bus setup; should check the configuration for this. - Should also check the console for the issues with the app compat. TT: - I also check the static PIE apps, worked on those found on GitHub. SK: - For now also check static PIE apps, but in the future should focus on the dynamically linked ones. - For now there is the need to setup the filesystem. - In the future would be initrd, for now is 9pfs. - Should open a GitHub issue for the problems found while running the apps. ## :wrench: TODOs and Decisions CV, SJ, TT: - Try out the steps from https://github.com/unikraft/app-elfloader/pull/7 - README for executing and debugging ELF binaries. - Report the identified issues via the app-compat Discord channel and GitHub issues. PO: - My student continues to work on porting the Linux test suite for Unikraft. - Get the coverage for the Linux syscalls for Unikraft.