seL4 / sel4-tutorials

Tutorials for working with seL4 and/or CAmkES.

Home Page:https://docs.sel4.systems/Tutorials

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tutorials using CAmkES / capDL fail an assertion

baltazarortiz opened this issue · comments

Using the Docker image, I started with a fresh copy of the tutorial repo:

mkdir test && cd test
repo init -u https://github.com/SEL4PROJ/sel4-tutorials-manifest
repo sync

(I did have to change .repo/manifest.xml from <project name="polly" to <project name="polly.git" to get the sync to work, not sure if this is related or a networking issue on my end).

From here, I'm able to build the tutorials, and Capabilities, Untyped, Mapping, and the Dynamic Libraries tutorials build and run fine. For any tutorials using CAmkES / capDL (Threads, IPC, Notifications, Interrupts, Faults, Camkes, Camkes 1-3 (Camkes VM Linux had an unrelated build error)), I run into some issues.

Towards the end of the build there is a warning:

Warning: Installation path /host/test/hello-camkes-timer_build/hello-camkes-timer/capDL-tool not found on the PATH environment variable.

Adding the directory to the path does not make a difference with this issue.

If I try to run any of the CAmkES / capDL tutorials with ./simulate I get the initial QEMU output then see:

Assertion failed: free_slot_end - free_slot_start >= CONFIG_CAPDL_LOADER_MAX_OBJECTS (../projects/camkes/capdl/capdl-l)

This seems to be the same error as in #12, but I'm not sure if the resolution there is applicable since it used the older build system. I also noticed that ../projects/camkes/capdl/capdl-l does not exist.

This seems to be a CMake cache issue as the problem goes away if you run cmake . && ninja again. We're looking into it, but for now just run that and you should be good to go.

This works, thank you!

This problem should be fixed in commits: c4463e7, 4e56a77, 6877d75 and de17730.