DO_VOP/lockmgr related panic

Emiel Kollof coolvibe at hackerheaven.org
Tue Aug 31 10:55:44 PDT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hey list,

My machine panics reliably when I start KDE. It's freshly cvsupped. 

Oddnesses about my setup: 
	$HOME is on NFS, KDE reads it's config from there.

gdb -k session:

#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:508
508             if (dumping++) {
(kgdb) bt
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:508
#1  0xc021e8a3 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:341
#2  0xc021ecd4 in poweroff_wait (junk=0xc03afd40, howto=-934990688)
    at /usr/src/sys/kern/kern_shutdown.c:620
#3  0xc0216c45 in lockmgr (lkp=0xcf2adb98, flags=16842754, 
    interlkp=0xcefbca68, td=0xc8452ca0) at /usr/src/sys/kern/kern_lock.c:336
#4  0xc0250bf3 in vop_stdlock (ap=0xcefbca14)
    at /usr/src/sys/kern/vfs_default.c:242
#5  0xc025bde8 in vop_lock (ops=0xcd1af600, vp=0xcf2adb20, vlock=0xcefbca68, 
    flags=16842754, td=0xc8452ca0) at /usr/src/sys/kern/vfs_vopops.c:817
#6  0xc025af02 in vn_lock (vp=0xcf2adb20, vlock=0x0, flags=2, td=0xc8452ca0)
    at /usr/src/sys/kern/vfs_vnops.c:681
#7  0xc0253cfc in vrele (vp=0xcf2adb20) at /usr/src/sys/kern/vfs_subr.c:1713
#8  0xc02a9f47 in nfs_inactive (ap=0xcefbcaec)
    at /usr/src/sys/vfs/nfs/nfs_node.c:221
#9  0xc025bd08 in vop_inactive (ops=0xcd1af600, vp=0xcf2adb20, td=0xc8452ca0)
    at /usr/src/sys/kern/vfs_vopops.c:784
#10 0xc0253d0d in vrele (vp=0xcf2adb20) at /usr/src/sys/kern/vfs_subr.c:1714
#11 0xc025a703 in vn_close (vp=0xcf2adb20, flags=1, td=0xc8452ca0)
    at /usr/src/sys/kern/vfs_vnops.c:236
#12 0xc025af48 in vn_closefile (fp=0xcf1b15a8, td=0xc8452ca0)
    at /usr/src/sys/kern/vfs_vnops.c:700
#13 0xc0211132 in fdrop (fp=0xcf1b15a8, td=0xc8452ca0)
. .. (snipped)...

[right, #4 looks interesting]

(kgdb) frame 4.
#4  0xc0250bf3 in vop_stdlock (ap=0xcefbca14)
    at /usr/src/sys/kern/vfs_default.c:242
242             error = lockmgr(&ap->a_vp->v_lock, ap->a_flags,
(kgdb) print *ap
Cannot access memory at address 0x0.

[Woohoo, a NULL dereference, check out next frame]

(kgdb) frame 5.
#5  0xc025bde8 in vop_lock (ops=0xcd1af600, vp=0xcf2adb20, vlock=0xcefbca68, 
    flags=16842754, td=0xc8452ca0) at /usr/src/sys/kern/vfs_vopops.c:817
817             DO_OPS(ops, error, &ap, vop_lock);
(kgdb) print ap 
$1 = {a_head = {a_desc = 0xc0411160, a_ops = 0xcd1af600, a_reserved = {
      -1042833080, -822359416, -1071305168, -822359416}}, a_vp = 0xcf2adb20, 
  a_vlock = 0xcefbca68, a_flags = 16842754, a_td = 0xc8452ca0}

[ah, ap does contain something.. so the bug must be in the DO_OPS macro...]

(kgdb) frame 8.
#8  0xc02a9f47 in nfs_inactive (ap=0xcefbcaec)
    at /usr/src/sys/vfs/nfs/nfs_node.c:221
221                             vrele(ap->a_vp);
(kgdb) print ap
$2 = (struct vop_inactive_args *) 0xcefbcaec
(kgdb) print *ap
$3 = {a_head = {a_desc = 0xc04110e0, a_ops = 0xcd1af600, a_reserved = {
      -1069213316, 1414482770, -822359252, -1056938304}}, a_vp = 0xcf2adb20, 
  a_td = 0xc8452ca0}

[and yes, it was doing something with NFS]

So... I don't have the guts to mess with the VFS stuff... Anyone else?

Cheers,
Emiel
- -- 
There are times when truth is stranger than fiction and lunch time is
one of them.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (FreeBSD)

iD8DBQFBNLrC4hAlCajuF/wRAt/JAJ9Ks6Q+yeO8d1NYOYQ5soocp0pbkgCdEhCH
yBa8vj+rJcd7d5tFhXWgeyQ=
=P8tb
-----END PGP SIGNATURE-----






More information about the Kernel mailing list