Panic on SMP machine.
Pawel Jakub Dawidek
nick at garage.freebsd.pl
Tue Jul 8 16:54:34 PDT 2003
Hello.
While building world I get this panic:
Fatal trap 12: page fault while in kernel mode
cpuid = 0; lapic.id = 00000000
fault virtual address = 24
[...]
instruction pointer = 0x8:0xc01a405b
[...]
current process = 23 (irq10: atapi1+)
kernel: type 12 trap, code=0
Stopped at propagate_priority+0x8b: cmpl 0x24(%ebx),%ecx
db> trace
propagate_priority+0x8b
_mtx_lock_sleep+0x209
ithread_loop+0x1cc
fork_exit+0xb0
fork_trampoline+0x1a
According to instruction pointer panic is here:
c01a4049: e8 c2 fe 01 00 call c01c3f10 <sched_prio>
c01a404e: eb 75 jmp c01a40c5 <propagate_priority+0xf5>
c01a4050: 89 f0 mov %esi,%eax
c01a4052: 88 81 dd 00 00 00 mov %al,0xdd(%ecx)
c01a4058: 8b 59 5c mov 0x5c(%ecx),%ebx
c01a405b: 3b 4b 24 cmp 0x24(%ebx),%ecx
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
c01a405e: 74 90 je c01a3ff0 <propagate_priority+0x20>
c01a4060: 8b 79 24 mov 0x24(%ecx),%edi
c01a4063: 8b 47 04 mov 0x4(%edi),%eax
c01a4066: 8b 10 mov (%eax),%edx
c01a4068: 0f b6 82 dd 00 00 00 movzbl 0xdd(%edx),%eax
IMHO it is here (from /sys/kern/kern_mutex.c):
166: /*
167: * Pick up the mutex that td is blocked on.
168: */
169: m = td->td_blocked;
170: MPASS(m != NULL);
171:
172: /*
173: * Check if the thread needs to be moved up on
174: * the blocked chain
175: */
176: if (td == TAILQ_FIRST(&m->mtx_blocked)) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
177: continue;
178: }
So it looks like 'm' was NULL.
--
Pawel Jakub Dawidek pawel at dawidek.net
UNIX Systems Programmer/Administrator http://garage.freebsd.pl
Am I Evil? Yes, I Am! http://cerber.sourceforge.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 305 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20030709/a2d52f26/attachment.bin
More information about the freebsd-current
mailing list