panic: mtx_lock() of destroyed mutex @
/usr/src/sys/net/route.c:1306
Dan Nelson
dnelson at allantgroup.com
Thu Aug 9 10:23:04 PDT 2007
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 at dan.emsphone.com:/usr/src-7/sys/i386/compile/DANSMP i386
--
Dan Nelson
dnelson at allantgroup.com
-------------- next part --------------
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
More information about the freebsd-current
mailing list