Page Fault
Tiago Jorge
tjpj at lasige.di.fc.ul.pt
Wed Mar 16 12:34:06 CET 2005
>
>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
More information about the l4-hackers
mailing list