Current : panic: lock (sleep mutex) vnode interlock not locked _at_ /usr/src/sys/kern/vfs_subr.c:2114

From: Thierry Herbelot <thierry_at_herbelot.com>
Date: Mon, 25 Jul 2005 06:52:31 +0200
Hello,

My -current box panic'ed while sync'ing the sources from the local CVS mirror.

	Cheers,
	TfH

PS : I include a trace  of the panic :

<on the serial console>
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 7.0-CURRENT #738: Sun Jul 24 21:48:54 CEST 2005
    XX_at_YYY:/usr/obj_ini/usr/src/sys/GENERIC
WARNING: WITNESS option enabled, expect reduced performance.
MPTable: <OEM00000 PROD00000000>
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Pentium II/Pentium II Xeon/Celeron (334.09-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x665  Stepping = 5
  
Features=0x183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 100663296 (96 MB)
avail memory = 88854528 (84 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
...
panic: lock (sleep mutex) vnode interlock not locked 
_at_ /usr/src/sys/kern/vfs_subr.c:2114
cpuid = 1
KDB: enter: panic
[thread pid 48 tid 100040 ]
Stopped at      kdb_enter+0x2b: nop
db> where
Tracing pid 48 tid 100040 td 0xc12aa780
kdb_enter(c0856856) at kdb_enter+0x2b
panic(c085a765,c0871b06,c085a0f2,c085f797,842) at panic+0x127
witness_unlock(c18f6e4c,8,c085f797,842) at witness_unlock+0xbc
_mtx_unlock_flags(c18f6e4c,0,c085f797,842,c18f6dd0) at _mtx_unlock_flags+0x5b
vdropl(c18f6dd0,7,c12aa780,c0903960,c18f6dd0) at vdropl+0x5e
vlrureclaim(c1425c00,c12aa780,c12a9a3c,c0683844,c12a9a3c) at vlrureclaim+0x1fd
vnlru_proc(0,c7225d38,0,c0683844,0) at vnlru_proc+0x18b
fork_exit(c0683844,0,c7225d38) at fork_exit+0xa0
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xc7225d6c, ebp = 0 ---
db>

----------------------------
<on the ssh connection where the cvs process was running>
XXX# cd /usr/src ; cvs -qR up -Pd
U sys/amd64/conf/GENERIC
U sys/dev/gem/if_gem.c
U sys/dev/gem/if_gem_pci.c
U sys/dev/gem/if_gemvar.h
U sys/net/bpf.c
U sys/net/bpfdesc.h
Read from remote host XXX : Operation timed out

----------------------------
<gdb trace of the memory dump>
XXX# kgdb kernel.debug /files3/tmp/vmcore.157
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: 
Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".
#0  doadump () at pcpu.h:165
165             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) where
#0  doadump () at pcpu.h:165
#1  0xc0469023 in db_fncall (dummy1=0, dummy2=0, dummy3=-954049884, 
dummy4=0xc7225aa8 "ÜZ\"Ç")
    at /usr/src/sys/ddb/db_command.c:489
#2  0xc0468e28 in db_command (last_cmdp=0xc0904c44, cmd_table=0x0, 
aux_cmd_tablep=0xc0882044,
    aux_cmd_tablep_end=0xc0882060) at /usr/src/sys/ddb/db_command.c:349
#3  0xc0468ef0 in db_command_loop () at /usr/src/sys/ddb/db_command.c:455
#4  0xc046aa91 in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:221
#5  0xc064a6cc in kdb_trap (type=3, code=0, tf=0xc7225bec) 
at /usr/src/sys/kern/subr_kdb.c:473
#6  0xc07edec0 in trap (frame=
      {tf_fs = -954073080, tf_es = -1067188184, tf_ds = -1065025496, tf_edi = 
-1064982683, tf_esi = 1, tf_ebp = -954049492, tf_isp = -954049512, tf_ebx = 
-954049448, tf_edx = 0, tf_ecx = -1056755712, tf_eax = 18, tf_trapno = 3, 
tf_err = 0, tf_eip = -1067146189, tf_cs = 32, tf_eflags = 642, tf_esp = 
-954049460, tf_ss = -1067243477}) at /usr/src/sys/i386/i386/trap.c:601
#7  0xc07db97a in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#8  0xc7220008 in ?? ()
#9  0xc0640028 in be_uuid_dec (buf=0xc0856856, uuid=0xc7225c58)
    at /usr/src/sys/kern/kern_uuid.c:303
#10 0xc063282b in panic (fmt=0xc085a765 "lock (%s) %s not locked _at_ %s:%d")
    at /usr/src/sys/kern/kern_shutdown.c:537
#11 0xc06545b8 in witness_unlock (lock=0xc18f6e4c, flags=8,
    file=0xc085f797 "/usr/src/sys/kern/vfs_subr.c", line=2114)
    at /usr/src/sys/kern/subr_witness.c:1126
#12 0xc062a993 in _mtx_unlock_flags (m=0xc18f6e4c, opts=0,
    file=0xc085f797 "/usr/src/sys/kern/vfs_subr.c", line=2114)
    at /usr/src/sys/kern/kern_mutex.c:296
#13 0xc0685e22 in vdropl (vp=0xc18f6dd0) at /usr/src/sys/kern/vfs_subr.c:2114
---Type <return> to continue, or q <return> to quit---
#14 0xc0683669 in vlrureclaim (mp=0xc1425c00) 
at /usr/src/sys/kern/vfs_subr.c:593
#15 0xc06839cf in vnlru_proc () at /usr/src/sys/kern/vfs_subr.c:693
#16 0xc061f4b4 in fork_exit (callout=0xc0683844 <vnlru_proc>, arg=0x0, 
frame=0xc7225d38)
    at /usr/src/sys/kern/kern_fork.c:789
#17 0xc07db9dc in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:208
(kgdb) 
(kgdb) frame 13
#13 0xc0685e22 in vdropl (vp=0xc18f6dd0) at /usr/src/sys/kern/vfs_subr.c:2114
2114            VI_UNLOCK(vp);
(kgdb) list
2109                            vdestroy(vp);
2110                            return;
2111                    } else
2112                            vfree(vp);
2113            }
2114            VI_UNLOCK(vp);
2115    }
2116
2117    /*
2118     * Call VOP_INACTIVE on the vnode and manage the DOINGINACT and 
OWEINACT
(kgdb) frame 14
#14 0xc0683669 in vlrureclaim (mp=0xc1425c00) 
at /usr/src/sys/kern/vfs_subr.c:593
593                     vdropl(vp);
(kgdb) list
588                             continue;
589                     }
590                     VI_LOCK(vp);
591                     vgonel(vp);
592                     VOP_UNLOCK(vp, 0, td);
593                     vdropl(vp);
594                     done++;
595                     MNT_ILOCK(mp);
596             }
597             MNT_IUNLOCK(mp);

----------------------------
<CVS idents of the kernel source files>
XXX# ident /usr/src/sys/kern/vfs_subr.c
/usr/src/sys/kern/vfs_subr.c:
     $FreeBSD: src/sys/kern/vfs_subr.c,v 1.636 2005/07/20 01:43:27 jeff Exp $
XXX# ident /usr/src/sys/kern/kern_mutex.c
/usr/src/sys/kern/kern_mutex.c:
     $FreeBSD: src/sys/kern/kern_mutex.c,v 1.155 2005/07/15 18:17:58 jhb Exp $
XXX# ident /usr/src/sys/kern/kern_fork.c
/usr/src/sys/kern/kern_fork.c:
     $FreeBSD: src/sys/kern/kern_fork.c,v 1.252 2005/07/01 16:28:30 ssouhlal 
Exp $
Received on Mon Jul 25 2005 - 02:52:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:39 UTC