Hi,
On Tue Jan 22, 2008 at 15:42:55 +0100, Marc CHALAND wrote:
Sometimes, I get the following message : semaphore/lib/src/semaphore.c:167:__enqueue_thread(): Error : l4semahore: failed to get priority of thread 17.08: invalid argument (-3)
Into sources, the comment says that thread has not been created by l4thread or is dead. But all threads are created by l4thread and no one is explicitly killed by another thread. Is there a mechanism which kills threads ? Is it possible a lock is requested as thread is not completely created ? Anybody has got an idea on what happens ?
The thread should exist, looking at the code path in the semaphore lib. The thread_id used for the prio-get is coming fron an ipc-wait so the thread should be there (in the sense there's a thread at all). The thread-lib might have some other state than ACTIVE for this thread. If you look in the debugger, the thread is there and its state is fine? If it happens, is it a permanent error or just sporadic? Does it happen during some setup phase or after that when things have settled?
Adam