From owner-freebsd-current Sun Jan 5 18:54:12 2003 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 25FD737B401 for ; Sun, 5 Jan 2003 18:54:08 -0800 (PST) Received: from mx01.goddamnbastard.org (12-249-234-146.client.attbi.com [12.249.234.146]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7453343ED1 for ; Sun, 5 Jan 2003 18:54:02 -0800 (PST) (envelope-from ryanb@goddamnbastard.org) Received: by mx01.goddamnbastard.org (Postfix, from userid 1000) id 73BE4154DB; Sun, 5 Jan 2003 20:54:01 -0600 (CST) Date: Sun, 5 Jan 2003 20:54:01 -0600 From: ryan beasley To: current@freebsd.org Subject: Re: panic: blockable sleep lock (sleep mutex) Giant @ /usr/src/sys/vm/vm_fault.c:206 Message-ID: <20030106025401.GC311@goddamnbastard.org> References: <20030104163145.GT311@goddamnbastard.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="bJBxXK1kQfYiHILX" Content-Disposition: inline In-Reply-To: <20030104163145.GT311@goddamnbastard.org> User-Agent: Mutt/1.4i 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 --bJBxXK1kQfYiHILX Content-Type: text/plain; charset=unknown-8bit Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jan 04, 2003 at 10:31:45AM -0600, ryan beasley wrote: > Sources are HEAD from Dec 28th, 2002, 04:00 -0600. > DDB session reprinted below. dmesg at the tail. OK, I found a way to reproduce this one, but given that it only happens with a 3rd party module, I'm not necessarily sure where the fault lies. *boot in multiuser (vesa/miibus/if_dc loaded)* load module unload module *panic* I'm including a GDB capture including traceback and some locking information. Anyone have any ideas? Is there any other data I should grab and submit? (gdb) bt #0 Debugger (msg=3D0x12
) at atomic.h:260 #1 0xc019a03b in panic (fmt=3D0x0) at /home/ryanb/FREDRIK_DP_INV/sys/kern/kern_shutdown.c:503 #2 0xc01bbfff in witness_lock (lock=3D0xc0301160, flags=3D8, file=3D0xc02ea34e "/usr/src/sys/vm/vm_fault.c", line=3D206) at /home/ryanb/FREDRIK_DP_INV/sys/kern/subr_witness.c:508 #3 0xc0190441 in _mtx_lock_flags (m=3D0xc0300fc0, opts=3D0, file=3D0xc0301160 "=C0\0170=C0J=BF-=C0J=BF-=C0", line=3D206) at /usr/src/sys/kern/kern_mutex.c:328 #4 0xc0271789 in vm_fault (map=3D0xc082f000, vaddr=3D3245330432, fault_type=3D1 '\001', fault_flags=3D0) at /usr/src/sys/vm/vm_fault.c:2= 06 #5 0xc02b6ac1 in trap_pfault (frame=3D0xca3e27b8, usermode=3D0, eva=3D3245= 332734) at /usr/src/sys/i386/i386/trap.c:746 #6 0xc02b669d in trap (frame=3D {tf_fs =3D 24, tf_es =3D -1070268400, tf_ds =3D -1070596080, tf_edi = =3D -1070713064, tf_esi =3D -1070592064, tf_ebp =3D -901896196, tf_isp =3D -901= 896220, tf_ebx =3D -1070400984, tf_edx =3D -1070713064, tf_ecx =3D -1049634562, tf_= eax =3D -1049634562, tf_trapno =3D 12, tf_err =3D 0, tf_eip =3D -1071664406, tf_cs = =3D 8, tf_eflags =3D 66050, tf_esp =3D -1070400984, tf_ss =3D -901896160}) at /usr/src/sys/i386/i386/trap.c:445 #7 0xc02a7158 in calltrap () at {standard input}:98 #8 0xc01bce28 in enroll (description=3D0xc02e3718 "vnode interlock", lock_class=3D0xc0300fc0) at /home/ryanb/FREDRIK_DP_INV/sys/kern/subr_witness.c:985 #9 0xc01bbcb5 in witness_init (lock=3D0xc032fa28) ---Type to continue, or q to quit--- at /home/ryanb/FREDRIK_DP_INV/sys/kern/subr_witness.c:388 #10 0xc0190eb1 in mtx_init (m=3D0xc02e3718, name=3D0xc02e3718 "vnode interl= ock", type=3D0x0, opts=3D0) at /usr/src/sys/kern/kern_mutex.c:940 #11 0xc01ebe6f in getnewvnode (tag=3D0xc02e56e9 "ufs", mp=3D0x12, vops=3D0x= 12, vpp=3D0x12) at /usr/src/sys/kern/vfs_subr.c:1000 #12 0xc025fc6b in ffs_vget (mp=3D0xc09fdc00, ino=3D481954, flags=3D2, vpp= =3D0xca3e2984) at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1254 #13 0xc026706b in ufs_lookup (ap=3D0xca3e2ab8) at /usr/src/sys/ufs/ufs/ufs_lookup.c:601 #14 0xc026d5f8 in ufs_vnoperate (ap=3D0x0) at /usr/src/sys/ufs/ufs/ufs_vnops.c:2796 #15 0xc01e2bac in vfs_cache_lookup (ap=3D0x12) at vnode_if.h:82 #16 0xc026d5f8 in ufs_vnoperate (ap=3D0x0) at /usr/src/sys/ufs/ufs/ufs_vnops.c:2796 #17 0xc01e7172 in lookup (ndp=3D0xca3e2c24) at vnode_if.h:52 #18 0xc01e6b6e in namei (ndp=3D0xca3e2c24) at /usr/src/sys/kern/vfs_lookup.= c:181 #19 0xc01f4152 in stat (td=3D0xc1266000, uap=3D0xca3e2d10) at /usr/src/sys/kern/vfs_syscalls.c:1654 #20 0xc02b714e in syscall (frame=3D {tf_fs =3D 47, tf_es =3D 47, tf_ds =3D 47, tf_edi =3D 135567080, tf_e= si =3D 135655208, tf_ebp =3D -1077937688, tf_isp =3D -901894796, tf_ebx =3D 135567= 080, tf_edx =3D 135564138, tf_ecx =3D 135655219, tf_eax =3D 188, tf_trapno =3D 12, tf_e= rr =3D 2, tf_eip =3D 134954771, tf_cs =3D 31, tf_eflags =3D 662, tf_esp =3D -10779378= 12, tf_ss =3D 47}) at /usr/src/sys/i386/i386/trap.c:1033 (gdb)=20 #2 0xc01bbfff in witness_lock (lock=3D0xc0301160, flags=3D8, file=3D0xc02ea34e "/usr/src/sys/vm/vm_fault.c", line=3D206) at /usr/src/sys/kern/subr_witness.c:508 translating /usr/src/sys/kern/subr_witness.c -> /home/ryanb/FREDRIK_DP_INV/sys/kern/subr_witness.c 508 panic("blockable sleep lock (%s) %s @ %s:%d= (td %p)", (gdb) p td $1 =3D (struct thread *) 0xc1266000 (gdb) p *lock $2 =3D {lo_class =3D 0xc0300fc0, lo_name =3D 0xc02dbf4a "Giant", lo_type =3D 0xc02dbf4a "Giant", lo_flags =3D 0xb0000, lo_list =3D { tqe_next =3D 0xc0301120, tqe_prev =3D 0xc03041f0}, lo_witness =3D 0xc03= 30f18} (gdb) p *td->td_sleeplocks $3 =3D {ll_next =3D 0x0, ll_children =3D {{li_lock =3D 0xc0301160, li_file =3D 0xc02efb57 "/usr/src/sys/i386/i386/trap.c", li_line =3D 1= 025, li_flags =3D 131072}, {li_lock =3D 0xc122a0d8, li_file =3D 0xc02ec088 "/usr/src/sys/vm/uma_core.c", li_line =3D 1335, li_flags =3D 131072}, {li_lock =3D 0xc122a024, li_file =3D 0xc02ec088 "/usr/src/sys/vm/uma_core.c", li_line =3D 1352, li_flags =3D 131072}}, ll_count =3D 1} (gdb) p *td->td_sleeplocks.ll_children[0].li_lock $4 =3D {lo_class =3D 0xc0300fc0, lo_name =3D 0xc02dbf4a "Giant", lo_type =3D 0xc02dbf4a "Giant", lo_flags =3D 0xb0000, lo_list =3D { tqe_next =3D 0xc0301120, tqe_prev =3D 0xc03041f0}, lo_witness =3D 0xc03= 30f18} (gdb) p *td->td_sleeplocks.ll_children[1].li_lock $5 =3D {lo_class =3D 0xc0300fc0, lo_name =3D 0xc122a000 "PCPU VNODE", lo_type =3D 0xc02ec1e8 "UMA cpu", lo_flags =3D 0x430000, lo_list =3D { tqe_next =3D 0xc122a144, tqe_prev =3D 0xc122a034}, lo_witness =3D 0xc03= 30a18} (gdb) p *td->td_sleeplocks.ll_children[2].li_lock $6 =3D {lo_class =3D 0xc0300fc0, lo_name =3D 0xc02e35dc "VNODE", lo_type =3D 0xc02ec1df "UMA zone", lo_flags =3D 0x430000, lo_list =3D { tqe_next =3D 0xc122a0d8, tqe_prev =3D 0xc03537d0}, lo_witness =3D 0xc03= 30a90} --=20 ryan beasley GPG ID: 0x16EFBD48 http://www.goddamnbastard.org =09 --bJBxXK1kQfYiHILX Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (FreeBSD) iD8DBQE+GO/JskfdOxbvvUgRAoPwAJ9Dk/ZjimS9C1SaXZ6A+PGhcNdTFQCfeIbr H+sivPEZnthbML1za3zebRQ= =knYe -----END PGP SIGNATURE----- --bJBxXK1kQfYiHILX-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message