On 26-Jul-2002 andrew bliznak wrote: > John Baldwin wrote: >> On 26-Jul-2002 andrew bliznak wrote: >> >>>#14 0xc03179d8 in calltrap () at {standard input}:98 >>>#15 0xc01e4db5 in _mtx_lock_sleep (m=0x28, opts=0, file=0x0, line=0) >>> at /usr/home/andrew/C/src/sys/kern/kern_mutex.c:598 >> >> >> This is the bug, it's like it is dereferencing a null pointer to get >> a mutex or something. >> >> >>>#16 0xc026f71d in tcp_input (m=0xc0f10100, off0=20) >>> at /usr/home/andrew/C/src/sys/netinet/tcp_input.c:520 >> >> >> /* >> * Locate pcb for segment. >> */ >> INP_INFO_WLOCK(&tcbinfo); >> headlocked = 1; >> >> #define INP_INFO_WLOCK(ipi) mtx_lock(&(ipi)->ipi_mtx) >> >> I don't see why it should be a problem though, tcbinfo is a global >> var. > > Hm, little more debuging, m in sys/kern/kern_mutex.c:595 is wrong!
It's wrong on the stack. Look at the _mtx_lock_sleep() line above. I would say print the value of m in gdb, but gdb doesn't always get local variables right (maybe the new gcc and dwarf stuff isn't subject to that). Actually, I think gdb has screwed up your backtrace some anyway. Back to the original fault messages: fault virtual address = 0x24 fault code = supervisor read, page not present instruction pointer = 0x8:0xc01e4b02 Can you do 'l *0xc01e4b02' in gdb and show the output? -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message