freebsd panic on HP Proliant DL360

Gleb Smirnoff glebius at FreeBSD.org
Thu Oct 12 09:13:29 UTC 2006


On Wed, Oct 11, 2006 at 03:43:07PM -0400, Ernest Natiello wrote:
E> Hello,
E>      I have 4 HP Proliant DL360's (1u) which panic/reboot often (minimum
E> 1x month), but in a seemingly inconsistent manner.  As per other
E> suggestions, ipf was replaced with pf, an Intel pro 100 was added, the
E> BGE device was disabled in the BIOS and the BGE driver was removed from
E> the kernel. Also, Lights Out Management was disabled.
E>      None of the suggestions have cleared up the issue, so the BGE
E> driver was added back to the kernel after reading the most recent
E> developments in the posting:

This is a known problem. It is fixed in HEAD, but unfortunately it
isn't mergeable to RELENG_6. The problem isn't related to either pf,
ipf or NIC drivers.

What I'd suggest you to do is to workaround the problem removing
the problematic syscall from the userland program, that causes kernel
to trap.

I guess it is setsockopt(sock, IPPROTO_IP, ...). In some cases, for
example IP_TOS setting the syscall can be safely removed from the source code,
w/o affecting operability of the software.

Let's look what is the socket option, in gdb:

frame 7
p *sopt

And let's look the name of the process:

frame 11
p td->td_proc->p_comm

E> -----begin crash dump-----
E> (kgdb) where
E> #0  doadump () at pcpu.h:165
E> #1  0xc0682aaa in boot (howto=260)
E> at /usr/src/sys/kern/kern_shutdown.c:409
E> #2  0xc0682dd1 in panic (fmt=0xc088273f "%s")
E>     at /usr/src/sys/kern/kern_shutdown.c:565
E> #3  0xc0837de0 in trap_fatal (frame=0xe9226ab0, eva=260)
E>     at /usr/src/sys/i386/i386/trap.c:837
E> #4  0xc0837596 in trap (frame=
E>       {tf_fs = -858718200, tf_es = 463994920, tf_ds = -383647704, tf_edi
E> = -952443520, tf_esi = 4, tf_ebp = -383620356, tf_isp = -383620388,
E> tf_ebx = -927947756, tf_edx = 6, tf_ecx = 0, tf_eax = 1, tf_trapno = 12,
E> tf_err = 0, tf_eip = -1066951471, tf_cs = 32, tf_eflags = 65538, tf_esp
E> = -383619952, tf_ss = -927947900}) at /usr/src/sys/i386/i386/trap.c:270
E> #5  0xc08242ea in calltrap () at /usr/src/sys/i386/i386/exception.s:139
E> #6  0xc0679cd1 in _mtx_lock_sleep (m=0xc8b0a414, tid=3342523776, opts=0,
E>     file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:546
E> #7  0xc072191d in ip_ctloutput (so=0x1, sopt=0xe9226c90)
E>     at /usr/src/sys/netinet/ip_output.c:1184
E> #8  0xc072fe07 in tcp_ctloutput (so=0xc797b858, sopt=0xe9226c90)
E>     at /usr/src/sys/netinet/tcp_usrreq.c:1038
E> #9  0xc06bea50 in sosetopt (so=0xc797b858, sopt=0xe9226c90)
E>     at /usr/src/sys/kern/uipc_socket.c:1563
E> #10 0xc06c3dc5 in kern_setsockopt (td=0xc73add80, s=0, level=1, name=1,
E>     val=0x0, valseg=UIO_USERSPACE, valsize=6)
E>     at /usr/src/sys/kern/uipc_syscalls.c:1351
E> #11 0xc06c3ce6 in setsockopt (td=0xc73add80, uap=0x1)
E>     at /usr/src/sys/kern/uipc_syscalls.c:1307
E> #12 0xc0838127 in syscall (frame=
E>       {tf_fs = -65477, tf_es = 65595, tf_ds = -1078001605, tf_edi = 1,
E> tf_esi = 0, tf_ebp = -1077941176, tf_isp = -383619740, tf_ebx = 0,
E> tf_edx = 0, tf_ecx = 0, tf_eax = 105, tf_trapno = 12, tf_err = 2, tf_eip
E> = 672093283, tf_cs = 51, tf_eflags = 642, tf_esp = -1077941220, tf_ss =
E> 59})
E>     at /usr/src/sys/i386/i386/trap.c:983
E> #13 0xc082433f in Xint0x80_syscall ()
E> at /usr/src/sys/i386/i386/exception.s:200
E> #14 0x00000033 in ?? ()
E> Previous frame inner to this frame (corrupt stack?)
E> (kgdb)
E> #0  doadump () at pcpu.h:165
E> #1  0xc0682aaa in boot (howto=260)
E> at /usr/src/sys/kern/kern_shutdown.c:409
E> #2  0xc0682dd1 in panic (fmt=0xc088273f "%s")
E>     at /usr/src/sys/kern/kern_shutdown.c:565
E> #3  0xc0837de0 in trap_fatal (frame=0xe9226ab0, eva=260)
E>     at /usr/src/sys/i386/i386/trap.c:837
E> #4  0xc0837596 in trap (frame=
E>       {tf_fs = -858718200, tf_es = 463994920, tf_ds = -383647704, tf_edi
E> = -952443520, tf_esi = 4, tf_ebp = -383620356, tf_isp = -383620388,
E> tf_ebx = -927947756, tf_edx = 6, tf_ecx = 0, tf_eax = 1, tf_trapno = 12,
E> tf_err = 0, tf_eip = -1066951471, tf_cs = 32, tf_eflags = 65538, tf_esp
E> = -383619952, tf_ss = -927947900}) at /usr/src/sys/i386/i386/trap.c:270
E> #5  0xc08242ea in calltrap () at /usr/src/sys/i386/i386/exception.s:139
E> #6  0xc0679cd1 in _mtx_lock_sleep (m=0xc8b0a414, tid=3342523776, opts=0,
E>     file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:546
E> #7  0xc072191d in ip_ctloutput (so=0x1, sopt=0xe9226c90)
E>     at /usr/src/sys/netinet/ip_output.c:1184
E> #8  0xc072fe07 in tcp_ctloutput (so=0xc797b858, sopt=0xe9226c90)
E>     at /usr/src/sys/netinet/tcp_usrreq.c:1038
E> #9  0xc06bea50 in sosetopt (so=0xc797b858, sopt=0xe9226c90)
E>     at /usr/src/sys/kern/uipc_socket.c:1563
E> #10 0xc06c3dc5 in kern_setsockopt (td=0xc73add80, s=0, level=1, name=1,
E>     val=0x0, valseg=UIO_USERSPACE, valsize=6)
E>     at /usr/src/sys/kern/uipc_syscalls.c:1351
E> #11 0xc06c3ce6 in setsockopt (td=0xc73add80, uap=0x1)
E>     at /usr/src/sys/kern/uipc_syscalls.c:1307
E> #12 0xc0838127 in syscall (frame=
E>       {tf_fs = -65477, tf_es = 65595, tf_ds = -1078001605, tf_edi = 1,
E> tf_esi = 0, tf_ebp = -1077941176, tf_isp = -383619740, tf_ebx = 0,
E> tf_edx = 0, tf_ecx = 0, tf_eax = 105, tf_trapno = 12, tf_err = 2, tf_eip
E> = 672093283, tf_cs = 51, tf_eflags = 642, tf_esp = -1077941220, tf_ss =
E> 59})
E>     at /usr/src/sys/i386/i386/trap.c:983
E> #13 0xc082433f in Xint0x80_syscall ()
E> at /usr/src/sys/i386/i386/exception.s:200
E> #14 0x00000033 in ?? ()
E> (kgdb)
E> #0  doadump () at pcpu.h:165
E> #1  0xc0682aaa in boot (howto=260)
E> at /usr/src/sys/kern/kern_shutdown.c:409
E> #2  0xc0682dd1 in panic (fmt=0xc088273f "%s")
E>     at /usr/src/sys/kern/kern_shutdown.c:565
E> #3  0xc0837de0 in trap_fatal (frame=0xe9226ab0, eva=260)
E>     at /usr/src/sys/i386/i386/trap.c:837
E> #4  0xc0837596 in trap (frame=
E>       {tf_fs = -858718200, tf_es = 463994920, tf_ds = -383647704, tf_edi
E> = -952443520, tf_esi = 4, tf_ebp = -383620356, tf_isp = -383620388,
E> tf_ebx = -927947756, tf_edx = 6, tf_ecx = 0, tf_eax = 1, tf_trapno = 12,
E> tf_err = 0, tf_eip = -1066951471, tf_cs = 32, tf_eflags = 65538, tf_esp
E> = -383619952, tf_ss = -927947900}) at /usr/src/sys/i386/i386/trap.c:270
E> #5  0xc08242ea in calltrap () at /usr/src/sys/i386/i386/exception.s:139
E> #6  0xc0679cd1 in _mtx_lock_sleep (m=0xc8b0a414, tid=3342523776, opts=0,
E>     file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:546
E> #7  0xc072191d in ip_ctloutput (so=0x1, sopt=0xe9226c90)
E>     at /usr/src/sys/netinet/ip_output.c:1184
E> #8  0xc072fe07 in tcp_ctloutput (so=0xc797b858, sopt=0xe9226c90)
E>     at /usr/src/sys/netinet/tcp_usrreq.c:1038
E> #9  0xc06bea50 in sosetopt (so=0xc797b858, sopt=0xe9226c90)
E>     at /usr/src/sys/kern/uipc_socket.c:1563
E> #10 0xc06c3dc5 in kern_setsockopt (td=0xc73add80, s=0, level=1, name=1,
E>     val=0x0, valseg=UIO_USERSPACE, valsize=6)
E>     at /usr/src/sys/kern/uipc_syscalls.c:1351
E> #11 0xc06c3ce6 in setsockopt (td=0xc73add80, uap=0x1)
E>     at /usr/src/sys/kern/uipc_syscalls.c:1307
E> #12 0xc0838127 in syscall (frame=
E>       {tf_fs = -65477, tf_es = 65595, tf_ds = -1078001605, tf_edi = 1,
E> tf_esi = 0, tf_ebp = -1077941176, tf_isp = -383619740, tf_ebx = 0,
E> tf_edx = 0, tf_ecx = 0, tf_eax = 105, tf_trapno = 12, tf_err = 2, tf_eip
E> = 672093283, tf_cs = 51, tf_eflags = 642, tf_esp = -1077941220, tf_ss =
E> 59})
E>     at /usr/src/sys/i386/i386/trap.c:983
E> #13 0xc082433f in Xint0x80_syscall ()
E> at /usr/src/sys/i386/i386/exception.s:200
E> #14 0x00000033 in ?? ()
E> (kgdb)
E> #0  doadump () at pcpu.h:165
E> #1  0xc0682aaa in boot (howto=260)
E> at /usr/src/sys/kern/kern_shutdown.c:409
E> #2  0xc0682dd1 in panic (fmt=0xc088273f "%s")
E>     at /usr/src/sys/kern/kern_shutdown.c:565
E> #3  0xc0837de0 in trap_fatal (frame=0xe9226ab0, eva=260)
E>     at /usr/src/sys/i386/i386/trap.c:837
E> #4  0xc0837596 in trap (frame=
E>       {tf_fs = -858718200, tf_es = 463994920, tf_ds = -383647704, tf_edi
E> = -952443520, tf_esi = 4, tf_ebp = -383620356, tf_isp = -383620388,
E> tf_ebx = -927947756, tf_edx = 6, tf_ecx = 0, tf_eax = 1, tf_trapno = 12,
E> tf_err = 0, tf_eip = -1066951471, tf_cs = 32, tf_eflags = 65538, tf_esp
E> = -383619952, tf_ss = -927947900}) at /usr/src/sys/i386/i386/trap.c:270
E> #5  0xc08242ea in calltrap () at /usr/src/sys/i386/i386/exception.s:139
E> #6  0xc0679cd1 in _mtx_lock_sleep (m=0xc8b0a414, tid=3342523776, opts=0,
E>     file=0x0, line=0) at /usr/src/sys/kern/kern_mutex.c:546
E> #7  0xc072191d in ip_ctloutput (so=0x1, sopt=0xe9226c90)
E>     at /usr/src/sys/netinet/ip_output.c:1184
E> #8  0xc072fe07 in tcp_ctloutput (so=0xc797b858, sopt=0xe9226c90)
E>     at /usr/src/sys/netinet/tcp_usrreq.c:1038
E> #9  0xc06bea50 in sosetopt (so=0xc797b858, sopt=0xe9226c90)
E>     at /usr/src/sys/kern/uipc_socket.c:1563
E> #10 0xc06c3dc5 in kern_setsockopt (td=0xc73add80, s=0, level=1, name=1,
E>     val=0x0, valseg=UIO_USERSPACE, valsize=6)
E>     at /usr/src/sys/kern/uipc_syscalls.c:1351
E> #11 0xc06c3ce6 in setsockopt (td=0xc73add80, uap=0x1)
E>     at /usr/src/sys/kern/uipc_syscalls.c:1307
E> #12 0xc0838127 in syscall (frame=
E>       {tf_fs = -65477, tf_es = 65595, tf_ds = -1078001605, tf_edi = 1,
E> tf_esi = 0, tf_ebp = -1077941176, tf_isp = -383619740, tf_ebx = 0,
E> tf_edx = 0, tf_ecx = 0, tf_eax = 105, tf_trapno = 12, tf_err = 2, tf_eip
E> = 672093283, tf_cs = 51, tf_eflags = 642, tf_esp = -1077941220, tf_ss =
E> 59})
E>     at /usr/src/sys/i386/i386/trap.c:983
E> #13 0xc082433f in Xint0x80_syscall ()
E> at /usr/src/sys/i386/i386/exception.s:200
E> #14 0x00000033 in ?? ()
E> (kgdb)
E> -----end crash dump-----

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE


More information about the freebsd-stable mailing list