kern/52404: kernel panic on laptop resume (related to device csa)

Lukas Ertl l.ertl at univie.ac.at
Sun May 18 12:20:17 PDT 2003


>Number:         52404
>Category:       kern
>Synopsis:       kernel panic on laptop resume (related to device csa)
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 18 12:20:12 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Lukas Ertl
>Release:        FreeBSD 5.1-BETA i386
>Organization:
Vienna University Computer Center
>Environment:
System: FreeBSD korben 5.1-BETA FreeBSD 5.1-BETA #0: Sun May 18 19:30:12 CEST 2003 le at korben:/usr/src/sys/i386/compile/KORBEN i386

Hardware: IBM ThinkPad T20

>Description:

On resume from apm suspend, the laptop panics.

>How-To-Repeat:

Suspend/resume on Thinkpad T20.

>Fix:

Not really known, but rev. 1.23 of sys/dev/sound/pci/csa.c works, while
rev. 1.24 does not.

Note: the diff between 1.23 and 1.24 was also MFC'ed, but was backed
out again due to panics on suspend/resume (rev. 1.8.2.11 and 1.8.2.12).

--- backtrace begins here ---
Script started on Sun May 18 21:00:04 2003
[root at korben crash]# gdb -k kernel.debug vmcore.1
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: page fault
panic messages:
---
panic: resource_list_alloc: resource entry is busy

syncing disks, buffers remaining... 2087 

Fatal trap 12: page fault while in kernel mode
fault virtual address	= 0x24
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc02432b6
stack pointer	        = 0x10:0xcd25cc9c
frame pointer	        = 0x10:0xcd25cc9c
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 21 (irq11: cbb0 cbb1+++)
trap number		= 12
panic: page fault
Uptime: 7m43s
Dumping 255 MB
ata0: resetting devices ..
done
 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
---
Reading symbols from /usr/src/sys/i386/compile/KORBEN/modules/usr/src/sys/modules/apm/apm.ko.debug...done.
Loaded symbols for /usr/src/sys/i386/compile/KORBEN/modules/usr/src/sys/modules/apm/apm.ko.debug
Reading symbols from /usr/src/sys/i386/compile/KORBEN/modules/usr/src/sys/modules/linux/linux.ko.debug...done.
Loaded symbols for /usr/src/sys/i386/compile/KORBEN/modules/usr/src/sys/modules/linux/linux.ko.debug
#0  doadump () at ../../../kern/kern_shutdown.c:238
238		dumping++;
(kgdb) bt full
#0  doadump () at ../../../kern/kern_shutdown.c:238
No locals.
#1  0xc0222dc3 in boot (howto=260) at ../../../kern/kern_shutdown.c:370
No locals.
#2  0xc022310b in panic () at ../../../kern/kern_shutdown.c:543
	td = (struct thread *) 0xc0ec9130
	bootopt = 260
	newpanic = 0
	buf = "page fault\0st_alloc: resource entry is busy", '\0' <repeats 212 times>
#3  0xc036e502 in trap_fatal (frame=0xcd25cc5c, eva=0)
    at ../../../i386/i386/trap.c:834
	code = 16
	type = 12
	ss = 16
	esp = 0
	softseg = {ssd_base = 0, ssd_limit = 1048575, ssd_type = 27, 
  ssd_dpl = 0, ssd_p = 1, ssd_xx = 1, ssd_xx1 = 0, ssd_def32 = 1, ssd_gran = 1}
#4  0xc036e1e2 in trap_pfault (frame=0xcd25cc5c, usermode=0, eva=36)
    at ../../../i386/i386/trap.c:748
	va = 0
	vm = (struct vmspace *) 0x0
	map = (struct vm_map *) 0xc0425b40
	rv = 1
	ftype = 1 '\001'
	td = (struct thread *) 0xc0ec9130
	p = (struct proc *) 0xc0ecf780
#5  0xc036ddad in trap (frame=
      {tf_fs = 67108888, tf_es = 16, tf_ds = -853213168, tf_edi = 0, tf_esi = -1034067708, tf_ebp = -853160804, tf_isp = -853160824, tf_ebx = -1058277184, tf_edx = -1058238160, tf_ecx = 1, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1071369546, tf_cs = 8, tf_eflags = 66195, tf_esp = -853160768, tf_ss = -1072045048}) at ../../../i386/i386/trap.c:433
	td = (struct thread *) 0xc0ec9130
	p = (struct proc *) 0xc0ecf780
	sticks = 3225091543
---Type <return> to continue, or q <return> to quit---
	i = 0
	ucode = 0
	type = 12
	code = 0
	eva = 36
#6  0xc035e658 in calltrap () at {standard input}:96
No locals.
#7  0xc019e408 in csa_readio (resp=0xc25d6104, offset=0) at bus_at386.h:237
	ul = 536
#8  0xc019dbf5 in csa_intr (arg=0xc25d6100) at ../../../dev/sound/pci/csa.c:512
	scp = (struct csa_softc *) 0xc25d6104
	resp = (struct csa_res *) 0x0
	hisr = 3236690112
#9  0xc020fb52 in ithread_loop (arg=0xc0ec6600)
    at ../../../kern/kern_intr.c:537
	ithd = (struct ithd *) 0xc25d6104
	ih = (struct intrhand *) 0xc0ebf8c0
	td = (struct thread *) 0x0
	p = (struct proc *) 0xc0ecf780
#10 0xc020eb40 in fork_exit (callout=0xc0ebf8c0, arg=0x0, frame=0x0)
    at ../../../kern/kern_fork.c:768
	td = (struct thread *) 0x0
	p = (struct proc *) 0xc25d6104
(kgdb) quit
[root at korben crash]# dmesg 
Copyright (c) 1992-2003 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.1-BETA #0: Sun May 18 19:30:12 CEST 2003
    le at korben:/usr/src/sys/i386/compile/KORBEN
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0519000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc05191f4.
Preloaded elf module "/boot/kernel/apm.ko" at 0xc0519244.
Timecounter "i8254"  frequency 1193182 Hz
CPU: Intel Pentium III (696.97-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x683  Stepping = 3
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 268369920 (255 MB)
avail memory = 255107072 (243 MB)
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcibios: BIOS version 2.10
Using $PIR table, 11 entries at 0xc00fdee0
apm0: <APM BIOS> on motherboard
apm0: found APM BIOS v1.2, connected at v1.2
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> at pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0
pcib1: <PCIBIOS PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
cbb0: <TI1450 PCI-CardBus Bridge> mem 0x50000000-0x50000fff irq 11 at device 2.0 on pci0
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
cbb1: <TI1450 PCI-CardBus Bridge> mem 0x50100000-0x50100fff irq 11 at device 2.1 on pci0
cardbus1: <CardBus bus> on cbb1
pccard1: <16-bit PCCard bus> on cbb1
fxp0: <Intel 82557/8/9 EtherExpress Pro/100(B) Ethernet> port 0x1800-0x183f mem 0xe8100000-0xe811ffff,0xe8120000-0xe8120fff irq 11 at device 3.0 on pci0
fxp0: Ethernet address 00:02:b3:04:8d:3b
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pci0: <simple comms, UART> at device 3.1 (no driver attached)
csa0: <CS4280/CS4614/CS4622/CS4624/CS4630> mem 0xe8000000-0xe80fffff,0xe8122000-0xe8122fff irq 11 at device 5.0 on pci0
csa: card is Thinkpad 600X/A20/T20
pcm0: <CS461x PCM Audio> on csa0
pcm0: <Cirrus Logic CS4297A AC97 Codec>
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0x1850-0x185f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x1860-0x187f irq 11 at device 7.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pci0: <bridge, PCI-unknown> at device 7.3 (no driver attached)
orm0: <Option ROMs> at iomem 0xe0000-0xeffff,0xcc000-0xcd7ff,0xc0000-0xcbfff on isa0
pmtimer0 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> at port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250 or not responding
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
unknown: <PNP0303> can't assign resources (port)
unknown: <PNP0c02> can't assign resources (port)
unknown: <IBM3780> can't assign resources (irq)
unknown: <PNP0680> can't assign resources (port)
unknown: <PNP0680> can't assign resources (port)
ppc1: parallel port not found.
unknown: <PNP0700> can't assign resources (port)
Timecounters tick every 10.000 msec
ad0: 19077MB <TOSHIBA MK2017GAP> [38760/16/63] at ata0-master UDMA33
acd0: DVD-ROM <TOSHIBA DVD-ROM SD-C2302> at ata1-master UDMA33
Mounting root from ufs:/dev/ad0s2a
WARNING: / was not properly dismounted
WARNING: /usr was not properly dismounted
WARNING: /var was not properly dismounted
[root at korben crash]# exit

Script done on Sun May 18 21:00:50 2003
--- backtrace ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list