Subject: Re: current panic: lock error
To: Nick Hudson <nick.hudson@dsl.pipex.com>
From: Antti Kantee <pooka@cs.hut.fi>
List: current-users
Date: 07/19/2007 00:30:33
On Tue Jul 17 2007 at 09:09:30 +0100, Nick Hudson wrote:
> Hi,
> 
> Antti asked me to post this...

Thanks.  Although the mail did travel for quite a while ...

Anyway, this appears to be the same problem as in the
"simple_lock: uninitialized lock" thread.

I still haven't been able to repeat this.  Could you post your extact
file system configurations and what you exactly you are doing when the
problem is triggered?

> (gdb) bt
> 
> [struggle to get crash dump deleted]
> 
> #23 0xc0352d49 in acquire (lkpp=0xcb6b2ab4, s=0xcb6b2a9c,
>     extflags=<value optimized out>, drain=0, wanted=1536, ra=3224381815)
>     at /usr/src/sys/kern/kern_lock.c:292
> #24 0xc0353693 in lockmgr (lkp=0xdeadbeef, flags=65538, interlkp=0xcc80d9a8)
>     at /usr/src/sys/kern/kern_lock.c:823
> #25 0xc0302977 in ufs_lock (v=0xcb6b2b00)
>     at /usr/src/sys/ufs/ufs/ufs_vnops.c:2301
> #26 0xc03acd53 in VOP_LOCK (vp=0xcc80d9a8, flags=65538)
>     at /usr/src/sys/kern/vnode_if.c:1228
> #27 0xc03aa710 in vn_lock (vp=0xcc80d9a8, flags=65538)
>     at /usr/src/sys/kern/vfs_vnops.c:671
> #28 0xc03a2daf in vrele (vp=0xcc80d9a8) at /usr/src/sys/kern/vfs_subr.c:1296
> #29 0xc03a2eb6 in vget (vp=0xcc80d9a8, flags=65554)
>     at /usr/src/sys/kern/vfs_subr.c:1206
> #30 0xc02de5ef in ffs_sync (mp=0xc13a4000, waitfor=3, cred=0xcaca0f50,
>     l=0xcacab000) at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1347
> #31 0xc03b3058 in sync_fsync (v=0xcb6b2c08)
>     at /usr/src/sys/miscfs/syncfs/sync_vnops.c:160
> #32 0xc03acad7 in VOP_FSYNC (vp=0xcb74ec6c, cred=0xcaca0f50, flags=8,
>     offlo=3412798132, offhi=3412798132, l=0xcacab000)
>     at /usr/src/sys/kern/vnode_if.c:724
> #33 0xc03b2efb in sched_sync (v=0xcacab000)
>     at /usr/src/sys/miscfs/syncfs/sync_subr.c:193
> #34 0xc01002bb in lwp_trampoline ()
> (gdb) frame 26
> #26 0xc03acd53 in VOP_LOCK (vp=0xcc80d9a8, flags=65538)
>     at /usr/src/sys/kern/vnode_if.c:1228
> 1228            return (VCALL(vp, VOFFSET(vop_lock), &a));
> (gdb) print *vp
> $1 = {v_uobj = {vmobjlock = {lock_data = 239 'ï', lock_pad = "Ÿ­Þ"},
>     pgops = 0x0, memq = {tqh_first = 0xcc80dff8, tqh_last = 0xdeadbeef},
>     uo_npages = -559038737, uo_refs = -559038737},
>   v_size = -2401053088876216593, v_writesize = -2401053088876216593,
>   v_flag = -559038737, v_numoutput = -559038737, v_writecount = -559038737,
>   v_holdcnt = -559038737, v_mount = 0xdeadbeef, v_op = 0xdeadbeef,
>   v_freelist = {tqe_next = 0xdeadbeef, tqe_prev = 0xdeadbeef}, v_mntvnodes = {
>     tqe_next = 0xdeadbeef, tqe_prev = 0xdeadbeef}, v_cleanblkhd = {
>     lh_first = 0xdeadbeef}, v_dirtyblkhd = {lh_first = 0xdeadbeef},
>   v_synclist_slot = -559038737, v_synclist = {tqe_next = 0xdeadbeef,
>     tqe_prev = 0xdeadbeef}, v_dnclist = {lh_first = 0xdeadbeef}, v_nclist = {
>     lh_first = 0xdeadbeef}, v_un = {vu_mountedhere = 0xdeadbeef,
>     vu_socket = 0xdeadbeef, vu_specinfo = 0xdeadbeef,
>     vu_fifoinfo = 0xdeadbeef, vu_ractx = 0xdeadbeef}, v_type = 3735928559,
>   v_tag = 3735928559, v_lock = {lk_interlock = {lock_data = 239 'ï',
>       lock_pad = "Ÿ­Þ"}, lk_flags = 3735928559, lk_sharecount = -559038737,
>     lk_exclusivecount = -16657, lk_recurselevel = -8531,
>     lk_waitcount = -559038738,
>     lk_wmesg = 0xdeadbeef <Address 0xdeadbeef out of bounds>, lk_un = {
>       lk_un_sleep = {lk_sleep_lockholder = -559038737,
>         lk_sleep_locklwp = -559038737, lk_sleep_prio = -559038737,
>         lk_sleep_timo = -559038737, lk_newlock = 0xdeadbeef}, lk_un_spin = {
>         lk_spin_cpu = 3735928559}}}, v_vnlock = 0xdeadbeef,
>   v_data = 0xdeadbeef, v_klist = {slh_first = 0xdeadbeef}}
> 

-- 
Antti Kantee <pooka@iki.fi>                     Of course he runs NetBSD
http://www.iki.fi/pooka/                          http://www.NetBSD.org/
    "la qualité la plus indispensable du cuisinier est l'exactitude"