From owner-freebsd-current Wed Apr 17 21: 5:19 2002 Delivered-To: freebsd-current@freebsd.org Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by hub.freebsd.org (Postfix) with ESMTP id 8A6AB37B416 for ; Wed, 17 Apr 2002 21:05:10 -0700 (PDT) Received: from fledge.watson.org (fledge.pr.watson.org [192.0.2.3]) by fledge.watson.org (8.11.6/8.11.6) with SMTP id g3I44hw39273; Thu, 18 Apr 2002 00:04:44 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Thu, 18 Apr 2002 00:04:43 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: Jun Kuriyama Cc: Current Subject: Re: panic: lockmgr: draining against myself In-Reply-To: <7mbsch4ubd.wl@waterblue.imgsrc.co.jp> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I just got the same panic on my -current box from yesterday, also: crash1# panic: lockmgr: draining against myself cpuid = 0; lapic.id = 00000000 Debugger("panic") Stopped at Debugger+0x41: xorl %eax,%eax db> trace Debugger(c03dd41a) at Debugger+0x41 panic(c03dadc0,c9f35c30,c8f06418,0,0) at panic+0xd8 lockmgr(c9f35cd8,10007,c9f35c98,c8f06418,c8f16994) at lockmgr+0x3ef vop_stdlock(c8f169c8,c8f169d8,c028d1b0,c8f169c8,c9f35c30) at vop_stdlock+0x1f ufs_vnoperate(c8f169c8) at ufs_vnoperate+0x15 vclean(c9f35c30,8,c8f06418,c9f35c30,c8f16a08) at vclean+0x64 vgonel(c9f35c30,c8f06418,c9f35c30,c9cc3000,c8f16a40) at vgonel+0x37 vrecycle(c9f35c30,0,c8f06418,c9f35c30,c8f06418) at vrecycle+0x4b ufs_inactive(c8f16a60,c8f16a70,c028cd5e,c8f16a60,ca015600) at ufs_inactive+0x185 ufs_vnoperate(c8f16a60) at ufs_vnoperate+0x15 vput(c9f35c30) at vput+0xea handle_workitem_freeblocks(ca015600,0,c9cc3000,c9cc3000,c8f16c60) at handle_workitem_freeblocks+0x193 softdep_setup_freeblocks(c9cc3000,0,0,c9f35c30,c9cc3000) at softdep_setup_freeblocks+0x32f ffs_truncate(c9f35c30,0,0,0,0) at ffs_truncate+0x264 ufs_inactive(c8f16c60,c8f16c70,c028cd5e,c8f16c60,0) at ufs_inactive+0xa9 ufs_vnoperate(c8f16c60) at ufs_vnoperate+0x15 vput(c9f35c30,c045bf3c,c9a47400,c982d600,0) at vput+0xea handle_workitem_remove(c9a47400,0,c8f06418,0,0) at handle_workitem_remove+0x172 process_worklist_item(0,0) at process_worklist_item+0x113 softdep_process_worklist(0) at softdep_process_worklist+0x106 sched_sync(0,c8f16d48,c8f06418,c028c0fc,0) at sched_sync+0x194 fork_exit(c028c0fc,0,c8f16d48) at fork_exit+0x88 fork_trampoline() at fork_trampoline+0x37 Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services On Thu, 18 Apr 2002, Jun Kuriyama wrote: > > This is today's kernel. Should I test with -DDEBUG_LOCKS? > > ----- > panic: lockmgr: draining against myself > cpuid = 1; lapic.id = 01000000 > Debugger("panic") > Stopped at Debugger+0x41: xorl %eax,%eax > db> trace > Debugger(c029d1ba) at Debugger+0x41 > panic(c029ae60,e908e780,e325cd50,0,0) at panic+0xd8 > lockmgr(e908e828,10007,e908e7e8,e325cd50,e326099c) at lockmgr+0x3ef > vop_stdlock(e32609d0,e32609e0,c01c51f6,e32609d0,e908e780) at vop_stdlock+0x1f > ufs_vnoperate(e32609d0) at ufs_vnoperate+0x15 > vclean(e908e780,8,e325cd50,e908e780,e3260a10) at vclean+0x62 > vgonel(e908e780,e325cd50,e908e780,e909b300,e3260a48) at vgonel+0x37 > vrecycle(e908e780,0,e325cd50,e908e780,e325cd50) at vrecycle+0x4b > ufs_inactive(e3260a68,e3260a78,c01c4da4,e3260a68,e8482580) at ufs_inactive+0x160 > ufs_vnoperate(e3260a68) at ufs_vnoperate+0x15 > vput(e908e780) at vput+0xe4 > handle_workitem_freeblocks(e8482580,0,e909b300,e909b300,e325cd50) at handle_workitem_freeblocks+0x193 > softdep_setup_freeblocks(e909b300,0,0,e908e780,e909b300) at softdep_setup_freeblocks+0x31f > ffs_truncate(e908e780,0,0,0,0) at ffs_truncate+0x240 > ufs_inactive(e3260c60,e3260c70,c01c4da4,e3260c60,0) at ufs_inactive+0x91 > ufs_vnoperate(e3260c60) at ufs_vnoperate+0x15 > vput(e908e780,c02e3bdc,e7f65f40,e79d8000,0) at vput+0xe4 > handle_workitem_remove(e7f65f40,0,e325cd50,0,0) at handle_workitem_remove+0x15f > process_worklist_item(0,0) at process_worklist_item+0x113 > softdep_process_worklist(0) at softdep_process_worklist+0x106 > sched_sync(0,e3260d48,e325cd50,c01c414c,0) at sched_sync+0x190 > fork_exit(c01c414c,0,e3260d48) at fork_exit+0x88 > fork_trampoline() at fork_trampoline+0x37 > ----- > (kgdb) where > #0 doadump () at ../../../kern/kern_shutdown.c:213 > #1 0xc0188e4c in boot (howto=260) at ../../../kern/kern_shutdown.c:346 > #2 0xc018905d in panic (fmt=0xc028c74a "from debugger") > at ../../../kern/kern_shutdown.c:490 > #3 0xc012f591 in db_panic (addr=-1071235275, have_addr=0, count=-1, > modif=0xe3260804 "") at ../../../ddb/db_command.c:449 > #4 0xc012f52f in db_command (last_cmdp=0xc02c8fc4, cmd_table=0xc02c8de4, > aux_cmd_tablep=0xc02c31c8, aux_cmd_tablep_end=0xc02c31cc) > at ../../../ddb/db_command.c:345 > #5 0xc012f5fb in db_command_loop () at ../../../ddb/db_command.c:471 > #6 0xc013198f in db_trap (type=3, code=0) at ../../../ddb/db_trap.c:72 > #7 0xc0263c76 in kdb_trap (type=3, code=0, regs=0xe3260900) > at ../../../i386/i386/db_interface.c:161 > #8 0xc0277c5c in trap (frame={tf_fs = -385351656, tf_es = -484048880, > tf_ds = -1072168944, tf_edi = 7, tf_esi = 256, tf_ebp = -484046520, > tf_isp = -484046548, tf_ebx = -1071010208, tf_edx = -484061872, > tf_ecx = 1, tf_eax = 18, tf_trapno = 3, tf_err = 0, > tf_eip = -1071235275, tf_cs = 8, tf_eflags = 582, tf_esp = -1070878077, > tf_ss = -1071001158}) at ../../../i386/i386/trap.c:585 > #9 0xc0263f35 in Debugger (msg=0xc029d1ba "panic") at machine/cpufunc.h:68 > #10 0xc0189048 in panic (fmt=0xc029ae60 "lockmgr: draining against myself") > at ../../../kern/kern_shutdown.c:477 > #11 0xc017ef37 in lockmgr (lkp=0xe908e828, flags=65543, interlkp=0xe908e7e8, > td=0xe325cd50) at ../../../kern/kern_lock.c:427 > #12 0xc01c0bef in vop_stdlock (ap=0xe32609d0) > at ../../../kern/vfs_default.c:282 > #13 0xc02396bd in ufs_vnoperate (ap=0xe32609d0) > at ../../../ufs/ufs/ufs_vnops.c:2660 > ... > (kgdb) up 11 > #11 0xc017ef37 in lockmgr (lkp=0xe908e828, flags=65543, interlkp=0xe908e7e8, > td=0xe325cd50) at ../../../kern/kern_lock.c:427 > 427 panic("lockmgr: draining against myself"); > (kgdb) list > 422 * never drain if we do. Unfortunately, we have no way to > 423 * check for holding a shared lock, but at least we can > 424 * check for an exclusive one. > 425 */ > 426 if (lkp->lk_lockholder == pid) > 427 panic("lockmgr: draining against myself"); > 428 > 429 error = acquiredrain(lkp, extflags); > 430 if (error) > 431 break; > (kgdb) up > #12 0xc01c0bef in vop_stdlock (ap=0xe32609d0) > at ../../../kern/vfs_default.c:282 > 282 return (lockmgr(&vp->v_lock, ap->a_flags, &vp->v_interlock, ap->a_td)); > (kgdb) list > 277 } */ *ap; > 278 { > 279 struct vnode *vp = ap->a_vp; > 280 > 281 #ifndef DEBUG_LOCKS > 282 return (lockmgr(&vp->v_lock, ap->a_flags, &vp->v_interlock, ap->a_td)); > 283 #else > 284 return (debuglockmgr(&vp->v_lock, ap->a_flags, &vp->v_interlock, > 285 ap->a_td, "vop_stdlock", vp->filename, vp->line)); > 286 #endif > > > -- > Jun Kuriyama // IMG SRC, Inc. > // FreeBSD Project > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message