RELENG_5: occasional panic on shutdown

Thomas-Martin Seck tmseck-lists at netcologne.de
Sat Sep 11 12:59:54 PDT 2004


* John-Mark Gurney (gurney_j at resnet.uoregon.edu):

> Thomas-Martin Seck wrote this message on Sat, Sep 11, 2004 at 20:57 +0200:
> > Once in a while I drop into ddb when I try to shutdown my RELENG_5
> > machine from a serial console; please see below.


> You forgot the back trace on this, do a: tr from the db prompt...

Ok, there you are:

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x1c
fault code              = supervisor write, page not present
instruction pointer     = 0x8:0xc04c16cf
stack pointer           = 0x10:0xcc5be784
frame pointer           = 0x10:0xcc5be790
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 249 (syslogd)
[thread 100064]
Stopped at      knote+0x27:     cmpxchgl        %ecx,0x1c(%edx)
db> tr
knote(c1299698,0,0,c1195640,cc5be7c0) at knote+0x27
ttwwakeup(c1299600) at ttwwakeup+0xc8
comstart(c1299600) at comstart+0x386
comparam(c1299600,c12996a4,c1299600,3,0) at comparam+0x254
sioopen(c06c2bc0,6,2000,c1195640,c06b27e0) at sioopen+0x1df
spec_open(cc5be880,cc5be93c,c05392c5,cc5be880,80) at spec_open+0x2b6
spec_vnoperate(cc5be880) at spec_vnoperate+0x13
vn_open_cred(cc5be980,c06c98f8,0,c10dde00,ffffffff) at vn_open_cred+0x419
vn_open(cc5be980,c06c98f8,0,ffffffff) at vn_open+0x1e
cn_devopen(c06c98c0,c1195640,0) at cn_devopen+0xac
cnopen(c06c157c,6,2000,c1195640,c06a0780) at cnopen+0x41
spec_open(cc5bea84,cc5beb40,c05392c5,cc5bea84,80) at spec_open+0x2b6
spec_vnoperate(cc5bea84) at spec_vnoperate+0x13
vn_open_cred(cc5bebe4,cc5bece4,0,c10dde00,5) at vn_open_cred+0x419
vn_open(cc5bebe4,cc5bece4,0,5,0) at vn_open+0x1e
kern_open(c1195640,804f220,0,6,0) at kern_open+0xe3
open(c1195640,cc5bed14,3,4,292) at open+0x18
syscall(2f,2f,2f,7,bfbfdff0) at syscall+0x27b
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (5, FreeBSD ELF32, open), eip = 0x280d3583, esp = 0xbfbfd9dc, ebp =
0xbfbfda58 ---
db>


> It is also very useful to find out the line number for the address
> that it stopped at.. (knote+0x27)...   you can use gdb for this:
> gdb kernel.debug
> l *knote+0x27


$ gdb /usr/obj/usr/src/sys/CURRENT/kernel.debug
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...
(gdb) l *knote+0x27
0xc04c16cf is in knote (atomic.h:154).
149     atomic.h: No such file or directory.
        in atomic.h
(gdb)

> I do have a fix that may fix this, but I can't know if it will until
> I get the information above.

I hope this helps. Thanks for looking into it!


More information about the freebsd-current mailing list