Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Feb 2005 22:08:02 -0600
From:      Jon Noack <noackjr@alumni.rice.edu>
To:        freebsd-stable@freebsd.org
Cc:        jroberson@chesapeake.net
Subject:   panic with ULE+PREEMPTION
Message-ID:  <420D8122.8090401@alumni.rice.edu>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------030703020709030201060601
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

After the recent discussion on stable@, I decided to try ULE again. 
When attempting to log into Squirrelmail on my RELENG_5 server (sources 
from late Wednesday night), I got the following panic:

Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address   = 0x150
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc04e1152
stack pointer           = 0x10:0xe4de1a4c
frame pointer           = 0x10:0xe4de1a70
code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 0
current process         = 36 (swi1: net)

Although I have KDB and DDB configured (see attached kernel config 
file), I was unable to enter DDB via Ctrl+Alt+Esc.  It just hung at the 
panic message.  Any tips on how to get DDB to work?  On a related note, 
I guess swap on gmirror cannot be a dumpdev:

dumpon: ioctl(DIOCSKERNELDUMP): Operation not supported
swapon: adding /dev/mirror/mirror0s1b as swap device

In any case, here's what I got out of gdb:

(gdb) l *0xc04e1152
0xc04e1152 is in sched_add_internal (/usr/src/sys/kern/sched_ule.c:1696).
1691
1692            CTR5(KTR_SCHED, "sched_add: %p(%s) prio %d by %p(%s)",
1693                td, td->td_proc->p_comm, td->td_priority, curthread,
1694                curthread->td_proc->p_comm);
1695            mtx_assert(&sched_lock, MA_OWNED);
1696            ke = td->td_kse;
1697            kg = td->td_ksegrp;
1698            if (ke->ke_flags & KEF_ASSIGNED) {
1699                    if (ke->ke_flags & KEF_REMOVED) {
1700                            SLOT_USE(ke->ke_ksegrp);

I use Squirrelmail only for convenience, so I'll leave the config as is 
in case anyone can help me debug further.  Note that this is 
reproducible *every* time I login to Squirrelmail (click "login" and 
near instant panic -- sometimes the page starts to load, but never 
finishes).  IMAP access through Thunderbird works perfectly.

Thanks,
Jon

P.S. The gmirror errors at the bottom of the dmesg are due to a failed 
drive that is being RMA'd.  I feel very vulnerable now...  ;-)

--------------030703020709030201060601
Content-Type: text/plain;
 name="OPTIMATOR"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="OPTIMATOR"

#
# OPTIMATOR -- Optimator kernel configuration file
# version 4.0
# 2005/02/10
#

machine		i386
cpu		I686_CPU
ident		OPTIMATOR

# 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 	SCHED_4BSD		# 4BSD scheduler
options 	PREEMPTION		# Enable kernel thread preemption
options 	INET			# InterNETworking
options 	INET6			# IPv6 communications protocols
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_ACL			# Support for access control lists
options 	UFS_DIRHASH		# Improve performance on big directories
options 	MD_ROOT			# MD is a potential root device
options 	NFSCLIENT		# Network Filesystem Client
options 	NFSSERVER		# Network Filesystem Server
options 	NFS_ROOT		# NFS usable as /, requires NFSCLIENT
options 	MSDOSFS			# MSDOS Filesystem
options 	CD9660			# ISO 9660 Filesystem
options 	PROCFS			# Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		# Pseudo-filesystem framework
options 	GEOM_GPT		# GUID Partition Tables.
options 	COMPAT_43		# Compatible with BSD 4.3 [KEEP THIS!]
options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
options 	SCSI_DELAY=5000		# 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 	AHC_REG_PRETTY_PRINT	# Print register bitfields in debug
					# output.  Adds ~128k to driver.
options 	AHD_REG_PRETTY_PRINT	# Print register bitfields in debug
					# output.  Adds ~215k to driver.
options 	ADAPTIVE_GIANT		# Giant mutex is adaptive.

# Debugging for use in -current
options 	KDB			# Enable kernel debugger support.
options 	KDB_TRACE		# Print a stack trace of the current thread on the console for a panic.
options 	DDB			# Support DDB.
options 	GDB			# Support remote GDB.
#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

# Zero copy sockets support.  This enables "zero copy" for sending and
# receving data via a socket.  The send side works for any type of NIC,
# the receive side only works for NICs that support MTUs greater than the
# page size of your architecture and that support header splitting.  See
# zero_copy(9) for more details.
options 	ZERO_COPY_SOCKETS

# Increase HZ
options 	HZ=1000			# set granularity of operation to 1ms

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

# Bus support.  Do not remove isa, even if you have no isa slots
device		isa
device		pci

# Floppy drives
device		fdc

# ATA and ATAPI devices
device		ata
device		atadisk		# ATA disk drives
device		ataraid		# ATA RAID drives
device		atapicd		# ATAPI CDROM 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		psm		# PS/2 mouse

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

# Power management support (see NOTES for more options)
#device		apm
# Add suspend/resume support for the i8254.
device		pmtimer

# Serial (COM) ports
device		sio		# 8250, 16[45]50 based serial ports

# PCI Ethernet NICs.
device		em		# Intel PRO/1000 adapter Gigabit Ethernet Card

# 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		dc		# DEC/Intel 21143 and various workalikes

# Pseudo devices - the number indicates how many units to allocate.
device		loop		# Network loopback
device		mem		# Memory and kernel memory devices
device		io		# I/O device
device		random		# Entropy device
device		ether		# Ethernet support
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

--------------030703020709030201060601
Content-Type: text/plain;
 name="dmesg"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="dmesg"

GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
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 5.3-STABLE #4: Fri Feb 11 20:55:47 CST 2005
    root@optimator.noacks.org:/usr/obj/usr/src/sys/OPTIMATOR
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Pentium III (931.81-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 1072693248 (1023 MB)
avail memory = 1040175104 (991 MB)
ACPI APIC Table: <VIA694 >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ACPI: overriding DSDT/SSDT with custom table
    ACPI-0377: *** Info: Table [DSDT] replaced by host OS
ioapic0 <Version 1.1> irqs 0-23 on motherboard
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <VIA694 AWRDACPI> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU (3 Cx states)> on acpi0
cpu1: <ACPI CPU (3 Cx states)> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0x6000-0x607f,0x5000-0x500f,0x4080-0x40ff,0x4000-0x407f,0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA 82C691 (Apollo Pro) host to PCI bridge> mem 0xd0000000-0xd3ffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686B UDMA100 controller> port 0xc000-0xc00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 7.1 on pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
pci0: <bridge, PCI-unknown> at device 7.4 (no driver attached)
em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.35> port 0xcc00-0xcc3f mem 0xd9000000-0xd901ffff,0xd9020000-0xd903ffff irq 17 at device 11.0 on pci0
em0: Ethernet address: 00:07:e9:0d:67:2c
em0:  Speed:N/A  Duplex:N/A
pci0: <network, ethernet> at device 12.0 (no driver attached)
atapci1: <HighPoint HPT370 UDMA100 controller> port 0xe400-0xe4ff,0xe000-0xe003,0xdc00-0xdc07,0xd800-0xd803,0xd400-0xd407 irq 18 at device 14.0 on pci0
ata2: channel #0 on atapci1
ata3: channel #1 on atapci1
fdc0: <floppy drive controller> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xd4000-0xd4fff,0xc0000-0xcffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
Timecounters tick every 1.000 msec
ad6: 190782MB <HDS722525VLAT80/V36OA60A> [387621/16/63] at ata3-master UDMA100
GEOM_MIRROR: Device mirror0 created (id=1722699553).
GEOM_MIRROR: Device mirror0: provider ad6 detected.
GEOM_MIRROR: Force device mirror0 start due to timeout.
GEOM_MIRROR: Device mirror0: provider ad6 activated.
GEOM_MIRROR: Device mirror0: provider mirror/mirror0 launched.
SMP: AP CPU #1 Launched!
Mounting root from ufs:/dev/mirror/mirror0s1a
WARNING: / was not properly dismounted
em0: Link is up 1000 Mbps Full Duplex

--------------030703020709030201060601--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?420D8122.8090401>