On Wed May 04, 2005 at 22:04:12 +0100, Tiago Jorge wrote:
Consensus::startConsensus(): /home/tiago/l4/pkg/WOO/server/src/Consensus_udp.cc:178 01db6a50 push %ebp 01db6a51 mov %esp,%ebp 01db6a53 push %edi 01db6a54 push %esi 01db6a55 push %ebx 01db6a56 sub $0xc37c,%esp 01db6a5c mov 8(%ebp),%ebx /home/tiago/l4/include/l4/lock/lock.h:97 01db6a5f lea 0xc3c8(%ebx),%eax 01db6a65 mov %eax,0xffff3c84(%ebp) <<--- PAGE FAULT HERE!!!!!!!!!!!! /home/tiago/l4/include/l4/lock/lock.h:98 01db6a6b call 0x1dc0e80 <l4thread_myself> /home/tiago/l4/include/l4/lock/lock.h:101 01db6a70 mov 0xffff3c84(%ebp),%ecx /home/tiago/l4/include/l4/lock/lock.h:98 01db6a76 mov %eax,0xffff3c80(%ebp) /home/tiago/l4/include/l4/lock/lock.h:101 01db6a7c test %ecx,%ecx 01db6a7e je 0x1db6aa6
##################################################
as of my inexperience with Fiasco debug issues... what might be causing this?
Looking at the asm I wonder how the object is initialized and where does it get its memory from?
the object its initialized as a global variable of my main program...
Consensus::Consensus () { }
Just to make sure, is it called?
so i think the pager it's the default... so i don't know why the program it's goig to try and get the instruction at 0xffff3c84
Well, this is just a (negative) offset to %ebp, and %ebp is just the start of the stack, so it's writing somewhere on the stack.
But I can only guess further. What about tar'ing up your pkg and sending it to me (privately)? So I can give it a spin and maybe say something for valuable.
Adam