Hi Adam,
On 03.06.2012 16:36, Adam Lackorzynski wrote:
Hi,
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).
Regards Stefan