Panic (kernel trap 12 with interrupts disabled) in propagate_priority()

David Wolfskill david at
Thu Nov 20 08:47:08 PST 2003

OK; I managed to build yesterday's -CURRENT (I update my local FreeBSD
CVS repository mirror from 0347 - 0354 hrs. US/Pacific, daily) on my
SMP "build" machine, and the resulting system appeared fairly normal:
it booted to multi-user mode, and I could login via the serial console.
(I wasn't expecting the issue with non-recognition of the Realtek 8129
NIC to be resolved yet.)

So I ran "cvs update" against /usr/src, booted to -CURRENT, fired up
"screen", then "script", and started a "make buildworld" -- then
detached the screen and headed in to work.

When I reconnected after getting in to work, I saw that the $SUBJECT
panic had occurred (cut/paste from serial console):

kernel trap 12 with interrupts disabled

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0xe5
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc0545d69
stack pointer           = 0x10:0xd9cd4ba0
frame pointer           = 0x10:0xd9cd4bc8
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 0
current process         = 92287 (make)
timeout stopping cpus
kernel: type 12 trap, code=0
Stopped at      propagate_priority+0x219:       movzbl  0xe5(%edx),%eax
db> tr
propagate_priority(c4958c80,0,c06fb9a2,1dc,c075dc38) at propagate_priority+0x219
turnstile_wait(c48e9540,c075a300,c585a140,1cc,605) at turnstile_wait+0x33d
_mtx_lock_sleep(c075a300,0,c06f66f8,241,605) at _mtx_lock_sleep+0x125
_mtx_lock_flags(c075a300,0,c06f66f8,241,14b) at _mtx_lock_flags+0x98
wait1(c4958c80,d9cd4d10,0,d9cd4d40,c06c10c0) at wait1+0xa5
wait4(c4958c80,d9cd4d10,c071729f,3ee,4) at wait4+0x20
syscall(2f,2f,2f,0,8095500) at syscall+0x300
Xint0x80_syscall() at Xint0x80_syscall+0x1d
--- syscall (7, FreeBSD ELF32, wait4), eip = 0x8061a38, esp = 0xbfbfda34, ebp = 0xbfbfda50 ---
db> show pcpu 0
cpuid        = 0
curthread    = 0xc4958c80: pid 92287 "make"
curpcb       = 0xd9cd4da0
fpcurthread  = none
idlethread   = 0xc1d00780: pid 12 "idle: cpu0"
APIC ID      = 0
currentldt   = 0x28
spin locks held:
db> show pcpu 1
cpuid        = 1
curthread    = 0xc4d8ca00: pid 93010 "cc1"
curpcb       = 0xd9db4da0
fpcurthread  = 0xc4d8ca00: pid 93010 "cc1"
idlethread   = 0xc1d00640: pid 11 "idle: cpu1"
APIC ID      = 1
currentldt   = 0x28
spin locks held:

I'm not in a super rush to get the machine back up (if it had completed
normally, I would have powered it off until tonight), so if I can supply
additional information that would help resolve this, please let me know.

Serial console is the only access to it while it's running -CURRENT, but
I have that access.

David H. Wolfskill				david at
If you want true virus-protection for your PC, install a non-Microsoft OS
on it.  Plausible candidates include FreeBSD, Linux, NetBSD, OpenBSD, and
Solaris (in alphabetical order).

More information about the freebsd-current mailing list