Hello l4-hackers,
I run my small program as root task on top of Pistachio 0.3 microkernel and receive some errors when it run.
All works fine, but when in KDB i try to use change verbose level of sigma0 once and again (about 5-6 times) I receive Assertion:
Assertion !tcb->queue_state.is_set(queue_state_t::ready) failed in file /home/tosha/pistachio-0.3/kernel/include/api/v4/schedule.h, line 296 (fn=f010099b2)
Can you explain me where is the problem ?
Code:
#include <l4io.h> #include <l4/kip.h> #include <l4/ipc.h> #include <l4/message.h> #include <l4/kdebug.h> #include <l4/thread.h>
int main (void) { printf("Myself: %x\n", L4_Myself().raw); L4_Msg_t msg; L4_ThreadId_t tid;
tid = L4_Pager();
L4_MsgClear(&msg); L4_MsgAppendWord(&msg, 1); L4_MsgAppendWord(&msg, 9); L4_Set_Label(&msg.tag, -1001<<4); L4_MsgLoad(&msg); L4_Send(tid); printf("aaa\n");
L4_MsgClear(&msg); L4_MsgAppendWord(&msg, 1); L4_MsgAppendWord(&msg, 9); L4_Set_Label(&msg.tag, -1001<<4); L4_MsgLoad(&msg); L4_Send(tid); while(true) { printf("root\n"); L4_KDB_Enter("enter kdb"); } }
l4-hackers@os.inf.tu-dresden.de