kern/113517: panic on SMP build with ULE2
moose at opera.com
moose at opera.com
Sun Jun 10 11:30:12 UTC 2007
>Number: 113517
>Category: kern
>Synopsis: panic on SMP build with ULE2
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Jun 10 11:30:12 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: moose at opera.com
>Release: FreeBSD 7.0-CURRENT
>Organization:
Opera Software
>Environment:
FreeBSD 7.0-CURRENT #0: Sun Jun 10 11:41:43 CEST 2007 moose at evangelista:/usr/obj/usr/src/sys/EVANGELISTA amd64
>Description:
Kernel panics during both buildworld and buildkernel, only if -j8 flagg is added to make. Always reproducible with the following options: PREEMPTION, SCHED_ULE, SMP. I cannot do a dump as I have way more memory than swap. With the following enabled:
makeoptions DEBUG=-g
options KDB
options DDB
what follows is the output (after which I ran show reg and trace):
kernel trap 12 with interrupts disabled
Fatal trap 12: page fault while in kernel mode
cpuid = 3; apic id = 03
fault virtual address = 0x140
fault code = supervisor write data, page not present
instruction pointer = 0x8:0xffffffff80414c18
frame pointer = 0x10:0xffffffffaee9da00
code segment = base 0x0, limit 0xfffff, type 0x1b
= DFL 0, pres 1, long 1, def32 0, gran 1
processor eflags = resume, IOPL = 0
current process = 30708
[thread pid 30708 tid 100245]
Stopped at cpu+throw+ox18: lock btrl %eax,0x140(%rdx)
db>show reg
cs 0x8
ss 0x10
rax 0x3
rcx 0xb4
rdx 0
rbx 0x5d5e0
rsp 0xffffffffaee9da00
rbp 0xffffffffaee9da40
rsi 0xffffff0061d04000
rdi 0xffffff006abb3a20
r8 0x1ec00
r9 0x5d5e0
r10 0xb
r11 0
r12 0xffffff006abb3a20
r13 0xffffff000afc8000
r14 0xffffff000afc8000
r15 0
rip 0xffffffff80414c18
rflags 0x10082
cpu_throw+0x18: lock btrl %eax,0x140(%rdx)
db>trace
Tracing pid 30708 tid 100245 td 0xffffff006abb3020
cpu_throw() at cpu_throw+0x18
thread_exit() at thread_exit+0x30f
exit1() at exit1+0xb09
sys_exit() at sys_exit+0xe
syscall() at syscall+0x257
Xfast_syscall() at Xfast_syscall+0xab
--- syscall (1, FreeBSD ELF64, sys_exit), rip=0x8311bc, rsp=0x7fffffffe128, rbp=0x7fffffffe240 ---
I can always reproduce this on a 4-core opteron system. I can do it again on demand.
>How-To-Repeat:
Enable SCHED_ULE and SMP in the kernel.
make -j8 buildworld [or]
make -j8 buildkernel ...
--> panic
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list