--- title: "Application Compatibility WG, February 22, 2023" tags: unikraft, musl, app-compat datetime: 2023-02-22T12:00:00+02:00 location: Online, Discord (https://bit.ly/UnikraftDiscord), the `#monkey-business` voice channel teams: - musl-syscall participants: - Andra - Andrei - Cosmin - Florin - Maria - Pierre - Simon - Stefan - Teodor --- ## :dart: Agenda - Status update - Next steps ## :closed_book: Discussions AM: - Try to extract the args used by the unikernel. - It was possible to get the args from ukboot. - This was removed and I have issues to extract the args. - I'm working on procfs. SK: - There will be an update for inittab, would help with parsing args. - Every init could get args from the cmdline. - We had discussions what to cache or not. AM: - Will wait after the inittab update is available. - Working on improvements for procfs. - Should cache the static ones, based on the previous discussions. CV: - I tried to compile using the posix-mmap, but there is a missing header. - I built with musl. - Tried to use a 4K page when the mmap error appears. - https://gist.github.com/csvancea/ef35f935be76a6f99b43a6213fbe72ec - Looking into the openjdk app. SK: - Should not pick headers / libs from your system. - I tested the elfloader with nolibc. - There are ukmmap and posix-mmap, in the future functionality from ukmmap will be merged into posix-mmap. - posix-mmap is with full paging support. FP: - Managed to run the nginx test suite with Loupe. - The output of the log files occupied too much space on my PC, reduced the output. - There is no proper cleanup, there were so many processes. PO: - Should check this out - https://github.com/unikraft/loupe/compare/staging...pierre-smart-kill - for the cleanup issue. - Should use signaling to kill the entire process group. FP: - I talked with Razvan to port the Node.js one. SK: - Should port using the "app-elfloader". MS: - Razvan told me I should be working on the app-compat, I'm new to this. - I will look into the elfloader readme PR. SK: - There is a PR on how to execute and debug statically and dynamically linked ELF binaries - https://github.com/unikraft/app-elfloader/pull/7 - Can compile using the Makefile from the repo. - There is a pool of statically linked apps; then use dynamically linked ones. - https://github.com/unikraft/static-pie-apps PO: - My student is still working on porting tests for Unikraft. - Loupe graph - https://discord.com/channels/762976922531528725/992447887864762419/1077914394580762705 - Will report the results for the Linux testing suite. SK: - I'm working on a patch series to setup the initrd. - Also setup the environment variables. - Please find time to do testing for the apps catalogue. SJ: - No updates during this week. - Test the elfloader with statically linked apps as next step. - Looking into the sqlite app. TT: - There is an unhandled trap 8 showed when using posix-mmap. - https://discord.com/channels/762976922531528725/992447887864762419/1077918072754688091 - Also looking through the statically linked apps. - Looking into the python app. ## :wrench: TODOs and Decisions AM: - Continue with the procfs improvements development. CV, SJ, TT: - Continue the testing of the chosen apps. - CV: openjdk app - SJ: sqlite app - TT: python app FP: - Check solution for proper cleanup, after running nginx with Loupe. - Port Node.js using the elfloader. MS: - Look into the elfloader readme. PO: - Report the results for the Linux testing suite. SK: - Continue the development for the elfloader to setup the initrd and the environment variables.