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 <attempt to execute any process> *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=0x12 <Address 0x12 out of bounds>) at atomic.h:260 #1 0xc019a03b in panic (fmt=0x0) at /home/ryanb/FREDRIK_DP_INV/sys/kern/kern_shutdown.c:503 #2 0xc01bbfff in witness_lock (lock=0xc0301160, flags=8, file=0xc02ea34e "/usr/src/sys/vm/vm_fault.c", line=206) at /home/ryanb/FREDRIK_DP_INV/sys/kern/subr_witness.c:508 #3 0xc0190441 in _mtx_lock_flags (m=0xc0300fc0, opts=0, file=0xc0301160 "À\0170ÀJ¿-ÀJ¿-À", line=206) at /usr/src/sys/kern/kern_mutex.c:328 #4 0xc0271789 in vm_fault (map=0xc082f000, vaddr=3245330432, fault_type=1 '\001', fault_flags=0) at /usr/src/sys/vm/vm_fault.c:206 #5 0xc02b6ac1 in trap_pfault (frame=0xca3e27b8, usermode=0, eva=3245332734) at /usr/src/sys/i386/i386/trap.c:746 #6 0xc02b669d in trap (frame= {tf_fs = 24, tf_es = -1070268400, tf_ds = -1070596080, tf_edi = -1070713064, tf_esi = -1070592064, tf_ebp = -901896196, tf_isp = -901896220, tf_ebx = -1070400984, tf_edx = -1070713064, tf_ecx = -1049634562, tf_eax = -1049634562, tf_trapno = 12, tf_err = 0, tf_eip = -1071664406, tf_cs = 8, tf_eflags = 66050, tf_esp = -1070400984, tf_ss = -901896160}) at /usr/src/sys/i386/i386/trap.c:445 #7 0xc02a7158 in calltrap () at {standard input}:98 #8 0xc01bce28 in enroll (description=0xc02e3718 "vnode interlock", lock_class=0xc0300fc0) at /home/ryanb/FREDRIK_DP_INV/sys/kern/subr_witness.c:985 #9 0xc01bbcb5 in witness_init (lock=0xc032fa28) ---Type <return> to continue, or q <return> to quit--- at /home/ryanb/FREDRIK_DP_INV/sys/kern/subr_witness.c:388 #10 0xc0190eb1 in mtx_init (m=0xc02e3718, name=0xc02e3718 "vnode interlock", type=0x0, opts=0) at /usr/src/sys/kern/kern_mutex.c:940 #11 0xc01ebe6f in getnewvnode (tag=0xc02e56e9 "ufs", mp=0x12, vops=0x12, vpp=0x12) at /usr/src/sys/kern/vfs_subr.c:1000 #12 0xc025fc6b in ffs_vget (mp=0xc09fdc00, ino=481954, flags=2, vpp=0xca3e2984) at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1254 #13 0xc026706b in ufs_lookup (ap=0xca3e2ab8) at /usr/src/sys/ufs/ufs/ufs_lookup.c:601 #14 0xc026d5f8 in ufs_vnoperate (ap=0x0) at /usr/src/sys/ufs/ufs/ufs_vnops.c:2796 #15 0xc01e2bac in vfs_cache_lookup (ap=0x12) at vnode_if.h:82 #16 0xc026d5f8 in ufs_vnoperate (ap=0x0) at /usr/src/sys/ufs/ufs/ufs_vnops.c:2796 #17 0xc01e7172 in lookup (ndp=0xca3e2c24) at vnode_if.h:52 #18 0xc01e6b6e in namei (ndp=0xca3e2c24) at /usr/src/sys/kern/vfs_lookup.c:181 #19 0xc01f4152 in stat (td=0xc1266000, uap=0xca3e2d10) at /usr/src/sys/kern/vfs_syscalls.c:1654 #20 0xc02b714e in syscall (frame= {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 135567080, tf_esi = 135655208, tf_ebp = -1077937688, tf_isp = -901894796, tf_ebx = 135567080, tf_edx = 135564138, tf_ecx = 135655219, tf_eax = 188, tf_trapno = 12, tf_err = 2, tf_eip = 134954771, tf_cs = 31, tf_eflags = 662, tf_esp = -1077937812, tf_ss = 47}) at /usr/src/sys/i386/i386/trap.c:1033 (gdb) #2 0xc01bbfff in witness_lock (lock=0xc0301160, flags=8, file=0xc02ea34e "/usr/src/sys/vm/vm_fault.c", line=206) 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 = (struct thread *) 0xc1266000 (gdb) p *lock $2 = {lo_class = 0xc0300fc0, lo_name = 0xc02dbf4a "Giant", lo_type = 0xc02dbf4a "Giant", lo_flags = 0xb0000, lo_list = { tqe_next = 0xc0301120, tqe_prev = 0xc03041f0}, lo_witness = 0xc0330f18} (gdb) p *td->td_sleeplocks $3 = {ll_next = 0x0, ll_children = {{li_lock = 0xc0301160, li_file = 0xc02efb57 "/usr/src/sys/i386/i386/trap.c", li_line = 1025, li_flags = 131072}, {li_lock = 0xc122a0d8, li_file = 0xc02ec088 "/usr/src/sys/vm/uma_core.c", li_line = 1335, li_flags = 131072}, {li_lock = 0xc122a024, li_file = 0xc02ec088 "/usr/src/sys/vm/uma_core.c", li_line = 1352, li_flags = 131072}}, ll_count = 1} (gdb) p *td->td_sleeplocks.ll_children[0].li_lock $4 = {lo_class = 0xc0300fc0, lo_name = 0xc02dbf4a "Giant", lo_type = 0xc02dbf4a "Giant", lo_flags = 0xb0000, lo_list = { tqe_next = 0xc0301120, tqe_prev = 0xc03041f0}, lo_witness = 0xc0330f18} (gdb) p *td->td_sleeplocks.ll_children[1].li_lock $5 = {lo_class = 0xc0300fc0, lo_name = 0xc122a000 "PCPU VNODE", lo_type = 0xc02ec1e8 "UMA cpu", lo_flags = 0x430000, lo_list = { tqe_next = 0xc122a144, tqe_prev = 0xc122a034}, lo_witness = 0xc0330a18} (gdb) p *td->td_sleeplocks.ll_children[2].li_lock $6 = {lo_class = 0xc0300fc0, lo_name = 0xc02e35dc "VNODE", lo_type = 0xc02ec1df "UMA zone", lo_flags = 0x430000, lo_list = { tqe_next = 0xc122a0d8, tqe_prev = 0xc03537d0}, lo_witness = 0xc0330a90} -- ryan beasley <[EMAIL PROTECTED]> GPG ID: 0x16EFBD48 http://www.goddamnbastard.org
msg49750/pgp00000.pgp
Description: PGP signature