Mystery panic, FreeBSD 7.2-PRE

Jeremy Chadwick freebsd at jdc.parodius.com
Fri Dec 23 00:07:07 UTC 2011


On Thu, Dec 22, 2011 at 04:04:48PM -0700, Charlie Martin wrote:
> We've got another mystery panic in 7.2-PRE.  Upgrading is not an
> option; however, if this is familiar to anyone, backporting a patch
> would be.
> 
> The stack trace is:
> 
> db_trace_self_wrapper() at 0xffffffff8019120a = db_trace_self_wrapper+0x2a^M
> panic() at 0xffffffff80308797 = panic+0x187^M
> devfs_populate_loop() at 0xffffffff802a45c8 = devfs_populate_loop+0x548^M
> devfs_populate() at 0xffffffff802a46ab = devfs_populate+0x3b^M
> devfs_lookup() at 0xffffffff802a7824 = devfs_lookup+0x264^M
> VOP_LOO[24165][irq261: plx0] DEBUG (hasc_sv_rcv_cb):  rcvd hrtbt ts
> 24051, 7/9,
> rc 0^M
> KUP_APV() at 0xffffffff804d5995 = VOP_LOOKUP_APV+0x95^M
> lookup() at 0xffffffff80384a3e = lookup+0x4ce^M
> namei() at 0xffffffff80385768 = namei+0x2c8^M
> vn_open_cred() at 0xffffffff8039b283 = vn_open_cred+0x1b3^M
> kern_open() at 0xffffffff8039a4a0 = kern_open+0x110^M
> syscall() at 0xffffffff804b0e3c = syscall+0x1ec^M
> Xfast_syscall() at 0xffffffff80494ecb = Xfast_syscall+0xab^M
> --- syscall (5, FreeBSD ELF64, open), rip = 0x800e022fc, rsp =
> 0x7fffffbfa128,
> rbp = 0x801002240 ---^M
> KDB: enter: panic^M

devfs(5) has been massively worked on in RELENG_8 and newer.  You should
go through the below commits and see if you can find one that references
a PR with a similar backtrace, or mentions things like devfs_lookup().

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/fs/devfs/

Also, be aware that the above stack trace is interspersed.  Ultimately
you get to clean up the output yourself.  This is a long-standing
problem with FreeBSD which can be helped but only slightly/barely by
using "options PRINTF_BUFR_SIZE=256" in your kernel configuration (the
default configs have a value of 128.  Do not increase the value too
high, there are concerns about it causing major issues; I can dig up the
post that says that, but I'd rather not).  It *will not* solve the
problem of interspersed output entirely.  There still is no fix for this
problem... :-(

What I'm referring to:

> devfs_lookup() at 0xffffffff802a7824 = devfs_lookup+0x264^M
> VOP_LOO[24165][irq261: plx0] DEBUG (hasc_sv_rcv_cb):  rcvd hrtbt ts
> 24051, 7/9,
> rc 0^M
> lookup() at 0xffffffff80384a3e = lookup+0x4ce^M

This should actually read (I think):

> devfs_lookup() at 0xffffffff802a7824 = devfs_lookup+0x264^M
> VOP_LOOKUP_APV() at 0xffffffff804d5995 = VOP_LOOKUP_APV+0x95^M
> [24165][irq261: plx0] DEBUG (hasc_sv_rcv_cb): rcvd hrtbt ts 24051, 7/9, rc 0^M

-- 
| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                   Mountain View, CA, US |
| Making life hard for others since 1977.               PGP 4BD6C0CB |



More information about the freebsd-stable mailing list