---
# System prepended metadata

title: 'Application Compatibility WG, February 15, 2023'
tags: [' app-compat', ' musl', unikraft]

---

---
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.