Date: Thu, 9 Aug 2007 12:23:03 -0500 From: Dan Nelson <dnelson@allantgroup.com> To: Andre Guibert de Bruet <andy@siliconlandmark.com> Cc: current@freebsd.org Subject: Re: panic: mtx_lock() of destroyed mutex @ /usr/src/sys/net/route.c:1306 Message-ID: <20070809172302.GA13685@dan.emsphone.com> In-Reply-To: <7F42CA7D-24C4-4A47-AC67-8F5E6A248380@siliconlandmark.com> References: <7F42CA7D-24C4-4A47-AC67-8F5E6A248380@siliconlandmark.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--jRHKVT23PllUwdXP Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In the last episode (Mar 27), Andre Guibert de Bruet said: > I got this earlier today. I managed to get what appears to be a sane dump: > > Unread portion of the kernel message buffer: > panic: mtx_lock() of destroyed mutex @ /usr/src/sys/net/route.c:1306 > cpuid = 0 > KDB: enter: panic > Physical memory: 3575 MB > Dumping 324 MB: 309 293 277 261 245 229 213 197 181 165 149 133 117 101 85 69 53 37 21 5 I just booted today's -current and got the same panic with a similar stack trace. I've actually been getting it once a week or so since I switched to -current in June, but it's bugging me today. panic: mtx_lock() of destroyed mutex @ ../../../net/route.c:1303 #0 doadump () at pcpu.h:195 195 pcpu.h: No such file or directory. in pcpu.h (kgdb) (kgdb) #0 doadump () at pcpu.h:195 #1 0xc05e04cc in boot (howto=260) at ../../../kern/kern_shutdown.c:409 #2 0xc05e0730 in panic (fmt=Variable "fmt" is not available.) at ../../../kern/kern_shutdown.c:563 #3 0xc05d4bf9 in _mtx_lock_flags (m=0x0, opts=0, file=0xc081dd19 "../../../net/route.c", line=1303) at ../../../kern/kern_mutex.c:178 #4 0xc0685521 in rt_check (lrt=0xe74a195c, lrt0=0xe74a1978, dst=0xc5704970) at ../../../net/route.c:1303 #5 0xc068fe1f in arpresolve (ifp=0xc3bd0c00, rt0=0xc613ed98, m=0xc6ad1800, dst=0xc5704970, desten=0xe74a1992 "¡╞D\030¡╞") at ../../../netinet/if_ether.c:373 #6 0xc067a40e in ether_output (ifp=0xc3bd0c00, m=0xc6ad1800, dst=0xc5704970, rt0=0xc613ed98) at ../../../net/if_ethersubr.c:175 #7 0xc06aa585 in ip_output (m=0xc6ad1800, opt=0x0, ro=0xe74a1a0c, flags=Variable "flags" is not available.) at ../../../netinet/ip_output.c:547 #8 0xc06b1fa6 in tcp_output (tp=0xcb477e10) at ../../../netinet/tcp_output.c:1125 #9 0xc06ba534 in tcp_usr_send (so=0xcb4cb7bc, flags=Variable "flags" is not available.) at ../../../netinet/tcp_usrreq.c:839 #10 0xc06370a5 in sosend_generic (so=0xcb4cb7bc, addr=0x0, uio=0xe74a1c60, top=0xc6162e00, control=0x0, flags=0, td=0xcb542600) at ../../../kern/uipc_socket.c:1241 #11 0xc0633784 in sosend (so=0xcb4cb7bc, addr=0x0, uio=0xe74a1c60, top=0x0, control=0x0, flags=0, td=0xcb542600) at ../../../kern/uipc_socket.c:1287 #12 0xc061d16b in soo_write (fp=0xca3dedc8, uio=0xe74a1c60, active_cred=0xc4813700, flags=0, td=0xcb542600) at ../../../kern/sys_socket.c:104 #13 0xc0617785 in dofilewrite (td=0xcb542600, fd=3, fp=0xca3dedc8, auio=0xe74a1c60, offset=-1, flags=0) at file.h:254 #14 0xc0617a18 in kern_writev (td=0xcb542600, fd=3, auio=0xe74a1c60) at ../../../kern/sys_generic.c:404 #15 0xc0617a8f in write (td=0xcb542600, uap=0xe74a1cfc) at ../../../kern/sys_generic.c:320 #16 0xc07acd43 in syscall (frame=0xe74a1d38) at ../../../i386/i386/trap.c:1008 #17 0xc0792a80 in Xint0x80_syscall () at ../../../i386/i386/exception.s:196 #18 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) FreeBSD dan.emsphone.com 7.0-CURRENT FreeBSD 7.0-CURRENT #465: Thu Aug 9 09:44:54 CDT 2007 zsh@dan.emsphone.com:/usr/src-7/sys/i386/compile/DANSMP i386 -- Dan Nelson dnelson@allantgroup.com --jRHKVT23PllUwdXP Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=DANSMP machine i386 cpu I586_CPU cpu I686_CPU ident DAN #maxusers 120 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols #makeoptions COPTFLAGS="-O2 -march=pentium3 -pipe" # use some optimizations #makeoptions NO_CPU_COPTFLAGS="yes" makeoptions "MODULES_OVERRIDE+"="geom/geom_sunlabel geom/geom_uzip geom/geom_gate" #makeoptions "MODULES_OVERRIDE +"="ntfs ntfs_iconv" #makeoptions "MODULES_OVERRIDE +"="smbfs libiconv libmchain" makeoptions "MODULES_OVERRIDE +"="zfs" makeoptions NO_MODULES_OLD="yes" #makeoptions NO_MODULES="yes" #makeoptions NO_WERROR="yes" options SCHED_4BSD # Old Reliable #options SCHED_ULE # Whippersnapper options INET #InterNETworking #options IPSEC #IP security #options IPSEC_ESP #IP security (crypto; define w/ IPSEC) options FFS #Berkeley Fast Filesystem options SOFTUPDATES #options UFS_EXTATTR # extattr support #options UFS_EXTATTR_AUTOSTART #options UFS_ACL # ACL support options UFS_DIRHASH #Improve performance on big directories options VFS_AIO options NFSCLIENT #Network File System options NFSSERVER #Network File System options PROCFS #Process filesystem options PSEUDOFS #Pseudo-filesystem framework options CD9660 #ISO 9660 filesystem options MSDOSFS #MS DOS File System (FAT, FAT32) options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 #Compatible with FreeBSD 4 options COMPAT_FREEBSD5 #Compatible with FreeBSD 5 options COMPAT_FREEBSD6 #Compatible with FreeBSD 6 options COMPAT_AOUT #Exec 2.2 binaries options SCSI_DELAY=500 #Be optimistic about Joe SCSI device #options GEOM #Use new partition code options GEOM_LABEL # Providers labelization. options GEOM_MIRROR # Disk mirroring. options PPP_DEFLATE options SW_WATCHDOG options AUDIT # event auditing device pci device fdc device aha device ahc device adw options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. options AHC_ALLOW_MEMIO # Allow PCI adapters to use memory # mapped I/O # SMP options SMP # Symmetric MultiProcessor Kernel device apic # I/O APIC # SCSI peripherals device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) device ses #SCSI Environmental Services (and SAF-TE) # The 'ATA' driver supports all ATA and ATAPI devices, including PC Card # devices. You only need one "device ata" for it to find all # PCI and PC Card ATA/ATAPI devices on modern machines. device ata device atapicam # emulate ATAPI devices as SCSI ditto via CAM # needs CAM to be present (scbus & pass) device atadisk device atapicd options ATA_STATIC_ID # atkbdc0 controlls both the keyboard and the PS/2 mouse device atkbdc device atkbd device psm device vga # VGA video card driver options VGA_WIDTH90 # support 90 column modes options VESA # support for VESA video modes #device "r128drm" device splash # Splash screen and screen saver support # syscons is the default console driver, resembling an SCO console device sc options SC_HISTORY_SIZE=500 # number of history buffer lines device agp # support several AGP chipsets # Serial (COM) ports device sio # 8250, 16[45]50 based serial ports device miibus # MII bus support # Order is important here due to intrusive probes, do *not* alphabetize # this list of network interfaces until the probes have been fixed. # Right now it appears that the ie0 must be probed before ep0. See # revision 1.20 of this file. device ed device fxp device dc device xl device lagg # Link Aggregation device loop device ether device tun device pty device gzip # Exec gzipped a.out's device md #Memory/malloc disk device snp #Snoop device - to look at pty/vty/etc.. # KTRACE enables the system-call tracing facility ktrace(2). # This adds 4 KB bloat to your kernel, and slightly increases # the costs of each syscall. options KTRACE #kernel tracing # This provides support for System V shared memory. # options SYSVSHM options SYSVSEM options SYSVMSG # The `bpfilter' device enables the Berkeley Packet Filter. Be # aware of the legal and administrative consequences of enabling this # option. The number of devices determines the maximum number of # simultaneous BPF clients programs runnable. device bpf #Berkeley packet filter options KDB #Enable the kernel debugger options DDB #ddb frontend to kernel debugger options KDB_TRACE #Print stack trace on panic options INVARIANTS #Enable calls of extra sanity checking options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options MUTEX_DEBUG #Enable various extra assertions in the mutex code options ADAPTIVE_GIANT #Spin, then sleep on Giant #options ADAPTIVE_MUTEXES #Spin, then sleep on a held mutex #options WITNESS #Enable mutex checks to detects deadlocks and cycles #options WITNESS_SKIPSPIN #Disable the witness checks on spin mutexes #options KTR #options KTR_ALQ #options ALQ #options KTR_COMPILE=KTR_ALL #options KTR_ENTRIES=8192 #options BREAK_TO_DEBUGGER #a BREAK on a comconsole goes to # #DDB, if available. options ALT_BREAK_TO_DEBUGGER #Break on CR ~ ^B #options KDB_UNATTENDED #Don't drop into ddb on panic #options WITNESS_KDB #Drop into debugger on locking problem options IPFIREWALL #firewall options IPFIREWALL_VERBOSE #print information about # dropped packets options IPFIREWALL_FORWARD #enable transparent proxy support options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default options IPDIVERT #divert sockets options DUMMYNET #bandwidth limiter options INCLUDE_CONFIG_FILE # Include this file in kernel # Size of the kernel message buffer. Should be N * pagesize. options MSGBUF_SIZE=40960 #options CLK_USE_I8254_CALIBRATION #options CLK_USE_TSC_CALIBRATION # For pnp sound cards: device sound device snd_emu10k1 device speaker #Play IBM BASIC-style noises out your speaker # System Management Bus support provided by the 'smbus' device. device smbus #device intpm #device alpm device ichsmb device viapm #device amdpm #device nfpm device smb # Philips i2c bus support is provided by the `iicbus' device. device iicbus device iicbb #device ic #device iic #device iicsmb #device pcf # USB support device uhci # UHCI PCI->USB interface device usb # USB Bus (required) device ugen # Generic device ucom # USB tty driver device umodem # USB modem driver device ubsa # Cheap Belkin USB-serial driver device umct # Even Cheaper Belkin USB-serial driver device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer # real-time kernel extensions #options P1003_1B options _KPOSIX_PRIORITY_SCHEDULING #options _KPOSIX_VERSION=199309L # Cryptographically secure random number generator; /dev/[u]random device random # ACPI Experimental Driver device acpi # Linux compatability options COMPAT_LINUX # Disk quotas are supported when this option is enabled. options QUOTA #enable disk quotas # options MALLOC_PROFILE # gather stats on uma --jRHKVT23PllUwdXP--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070809172302.GA13685>