I have no idea, but you could debug this issue yourself. At this point you are in the Fiasco kernel debugger. Type
utb<SPACE>01d00249
(this means: disassemble at task/address space 0xb at address 01d00249).
And look at the output. Since you have loaded the symbols and lines, you should see the faulting source line in the disassmbly output. Just scroll the output a few lines up by hitting the Up-Arrow key (or Page-Up).
If you don't see the error, just post the output of the above command.
like you suggested i've disassembled the program, the output in the error zone is this:
/home/tiago/l4/pkg/failuredetector/server/src/FailureDetector.cc:30 01d00244 add $0xc,%esp 01d00247 push $0x0 01d00249 push $0x2 01d0024b push $0x2 01d0024d call 0x1d01300 <socket> 01d00252 add $0x10,%esp 01d00255 test %eax,%eax 01d00257 mov %eax,(%ebx) <--- ERROR HERE!!!!!! 01d00259 js 0x1d00344 /home/tiago/l4/pkg/failuredetector/server/src/FailureDetector.cc:38
the code is this one (i'll show the sequence of execution):
the program starts and invokes a function that starts an l4 thread using the short version. the error lines are in the first function called by the thread (lines 30 to 38):
int flags=0;
printf("TOU ANTES DO SOCKET!!!!!!!\n"); /* Create socket from which to send */ if ((sock_fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { perror("open error on socket"); exit(1); printf("ERRROOOOOOOOO!!!!!!!\n"); }
i've thought it was from perror and i've comment this block, but it gave the same error in the next lines.
must i reallocate the internal program thread? if so, how can i do it?
thanks
Tiago