[backtrace] kernel dump when shutting down

From: Xin LI <delphij_at_frontfree.net>
Date: Tue, 15 Jun 2004 13:22:29 +0800
Hello folks,

I got a strange problem when having HTT enabled on a P4 2.8E processor.
When rebooting the system, after the disk sync and the system is going
to restart, it crashes and generates a crashdump. Strangely, the panic
message seems to be corrupted.

The kernel was built on fresh cvsup'ed code. I have did some local
modifications, however, the crash persists no matter whether I have
applied my modifications.

Here is the backtrace:

(kgdb) beastie# gdb -k kernel.debug /var/crash/vmcore.4
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 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-undermydesk-freebsd"...
panic: blockable sleep lock (sleep mutex) process lock _at_ /usr/src/sys/kern/kern_sig.c:1510
panic messages:
---
panic: blockable sleep lock (sleep mutex) process lock _at_ /usr/src/sys/kern/kern_sig.c:1510
cpuid = 1; 
boot() called on cpu#1
Uptime: 14m26s
Dumping 1007 MB
ad2: timeout waiting for write DRQad2: timeout waiting for write DRQad2: timeout waiting for write DRQad2: timeout waiting for write DRQad2: timeout waiting for write DRQ 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368 384 400 416 432 448 464 480 496 512 528 544 560 576 592 608 624 640 656 672 688 704 720 736 752 768 784 800 816 832 848 864 880 896 912spin lock witness lock held by 0xc1e2b420 for > 5 seconds
 928 944 960 976 992
---
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:236
236             dumping++;
(kgdb) bt full
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:236
No locals.
#1  0xc0500256 in runq_choose (rq=0x0) at /usr/src/sys/kern/kern_switch.c:583
        ke = (struct kse *) 0x0
#2  0xc050b25a in kseq_choose (kseq=0xc1e29800) at /usr/src/sys/kern/sched_ule.c:783
        ke = (struct kse *) 0xc1e2b420
        swap = (struct runq *) 0xc1e2980c
#3  0xc050c364 in sched_choose () at /usr/src/sys/kern/sched_ule.c:347
        kseq = (struct kseq *) 0xc06c4970
        ke = (struct kse *) 0xc1e2f780

The system works just fine when HTT is disabled.

Kernel configuration is:

#
# BEASTIE -- Customized kernel configuration file for FreeBSD/i386
#
# $Phantasm$

machine		i386
cpu		I686_CPU
ident		BEASTIE

# To statically compile in device wiring instead of /boot/device.hints
#hints		"GENERIC.hints"		# Default places to look for devices.

makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols

options 	SCHED_ULE		# ULE scheduler
options 	INET			# InterNETworking
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_DIRHASH		# Improve performance on big directories
options 	PROCFS			# Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		# Pseudo-filesystem framework
options 	COMPAT_43		# Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=0		# Delay (in ms) before probing SCSI
options 	KTRACE			# ktrace(1) support
options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	PFIL_HOOKS		# pfil(9) framework

# Debugging for use in -current
options 	DDB			# Enable the kernel debugger
options 	INVARIANTS		# Enable calls of extra sanity checking
options 	INVARIANT_SUPPORT	# Extra sanity checks of internal structures, required by INVARIANTS
options 	WITNESS			# Enable checks to detect deadlocks and cycles
options 	WITNESS_SKIPSPIN	# Don't run witness on spinlocks for speed

# To make an SMP kernel, the next two are needed
options 	SMP		# Symmetric MultiProcessor Kernel
device		apic		# I/O APIC

device		isa
device		eisa
device		pci

# ATA and ATAPI devices
device		ata
device		atadisk		# ATA disk drives
options 	ATA_STATIC_ID	# Static device numbering

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard

device		vga		# VGA video card driver

device		splash		# Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device		sc

device		agp		# support several AGP chipsets

# Floating point support - do not disable.
device		npx

# Add suspend/resume support for the i8254.
device		pmtimer

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device		miibus		# MII bus support
device		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')

# Pseudo devices - the number indicates how many units to allocate.
device		random		# Entropy device
device		loop		# Network loopback
device		ether		# Ethernet support
device		ppp		# Kernel PPP
device		tun		# Packet tunnel.
device		pty		# Pseudo-ttys (telnet etc)
device		md		# Memory "disks"

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device		bpf		# Berkeley packet filter

#makeoptions	CONF_CFLAGS=-fno-builtin
#options 	MAXDSIZ=(1024UL*1024*1024)
#options 	MAXSSIZ=(128UL*1024*1024)
#options 	DFLDSIZ=(1024UL*1024*1024)
options 	INCLUDE_CONFIG_FILE
#options 	ADAPTIVE_MUTEXES
#options 	MUTEX_NOINLINE
options 	IPSEC
options 	IPSEC_ESP
device		pf
device		pflog
device		pfsync
options 	MROUTING
options 	PIM
options 	IPDIVERT
options 	IPSTEALTH
options 	RANDOM_IP_ID
options 	ACCEPT_FILTER_DATA
options 	ACCEPT_FILTER_HTTP
options 	ZERO_COPY_SOCKETS
#options 	HZ=100
#options 	PPS_SYNC
device		green_saver
device		crypto
device		cryptodev
device		rndtest
device		hifn
device		ubsec
options 	PANIC_REBOOT_WAIT_TIME=0
#options 	PERFMON
#options 	DEVICE_POLLING
options 	AUTO_EOI_1
device		acpi
options		DDB_UNATTENDED
#options		DDB_TRACE
options		NULLFS
options		FDESCFS


The system used to crash before sync'ing disks. It seems that Nate's
recent commit has removed that crash. More information available
upon request.

Cheers,
-- 
Xin LI <delphij frontfree net>	http://www.delphij.net/
See complete headers for GPG key and other information.



Received on Tue Jun 15 2004 - 03:23:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:57 UTC