Fiasco.OC: sigma0 stucks in ipc-path
stefan.kalkowski at genode-labs.com
Sun Jun 3 17:54:38 CEST 2012
On 03.06.2012 16:36, Adam Lackorzynski wrote:
> On Thu May 31, 2012 at 18:30:07 +0200, Stefan kalkowski wrote:
>> I think I came along a problem in the IPC-path of Fiasco.OC sometimes in
>> the past, but it was somehow hard to reproduce. But now I've an example
>> that quite reliable triggers the issue.
>> The symptom in the past, and in the concrete example was that our
>> roottask in Genode (called core) was requesting memory from sigma0,
>> either implicitly just by touching some memory-area, like a ROM-module
>> loaded by the bootloader, or explicitly by using the sigma0-protocol,
>> e.g. to request I/O memory for the framebuffer. After that the request
>> was received by sigma0, and also processed, but the answer never reached
>> the faulter/client in this case the core-pager thread. The typical
>> picture in the kernel-debugger then looks like the following:
> I'm wondering how the higher-prio and ready 'pthread' thread relates to
> that. Is it always ready and doing something?
Yes, that's strange. The sigma0 thread is always marked as being ready
in the kernel-debugger, but obviously isn't doing progress anymore.
Nevertheless, although sigma0 is marked as ready, and has the highest
priority, other thread's are still doing progress. For instance, two
threads that are using the timer-service are still doing ping-pong IPC
with it (can be observed, when enabling IPC-logging after sigma0 stucked).
More information about the l4-hackers