roux@ecoledoc.lip6.fr (Cedric ROUX) writes:
Then, another time, the boot process blocks with this time the message : ipc.cc:169 : failed assertion `! in_sender_list()'
Attached below are some Fiasco patches which should help.
This problem was a symptom of a familiar problem: Code which disables interrupts to protect a critical region trapped into a page fault which subsequently enabled interrupts again. We now protect against this problem by pre-installing all pages required for the operation in a safe way before the actual critical region starts.
Ugly synchronization problems like this have been one of the main reasons to try to get rid of disabling interrupts altogether. However, the occasional "cli" instruction is still lurking in the code, waiting to be replaced with better mechanisms (like non-blocking synchronization).
The patch also includes a fix which enhances compatibility with Jochen's L4 so that L4Linux can handle segmentation faults better.
Michael