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