Kernel Crash in ata_pio_read

From: Scot Hetzel <swhetzel_at_gmail.com>
Date: Wed, 25 Aug 2004 09:12:37 -0500
I have been experiencing a problem where the computer will boot upon
power up the first time, but a reboot of the system causes a Fatal
trap 12.
Powering the system off for 5-30 mins, still won't allow it to boot
when powered up.  But, turn it off at night (12 mid), and then boot it
up in the morning (7:30) and the first boot succeeds.

Below is a hand transcribe of the dmesg and debugger output:

ATAPI_RESET time = 330us
ad0: 26105mb <WDC WD273BA/P78oA30A> [53040/16/63] at ata0-master BIOSPIO
acd0: WARNING - MODE_SENSE_BIG interrupt was seen but taskqueue stalled
acd0: WARNING - MODE_SENSE_BIG DONEDRQ non conformant device
acd0: WARNING - MODE_SENSE_BIG read data overrun 65535>5
acd0: WARNING no status, reselecting device
acd0: WARNING - MODE_SENSE_BIG DONEDRQ non conformant device

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address  = 0xc14927f0
fault code             = supervisor write, page not present
instruction pointer    = 0x8:0xc04ba248
stack pointer          = 0x10:0xc7a69c68
frame pointer          = 0x10:0xc7a69c68
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        = 28 (swi5: clock sio)
[thread 100000]
stopped at    ata_pio_read+0x68: repe insw %dx,%es:(%edi)

db> trace
ata_pio_read(c14827bc, ffff, c7a69cbc, ff, c08b3200) at ata_pio_read+0x68
ata_generic_interrupt(c12af200, 7, c7a69cf4, c060b392, c14827bc) at
ata_generic_interrupt_0x578
ata_timeout(c14827bc) at ata_timeout+0x16f
softclock(0) at softclock+0x17a
ithread_loop(c12b9700, c7a69d48, c12b9700, c05ed7d0, 0) ata ithread_loop+0x124
fork_exit(c05ed7d0, c12b9700, c7a69d48) at fork_exit+0xa4
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xc7a69d7c, ebp = 0 ---

The CDROM drive is a 3 CD changer:

acd0: CDROM <CD-ROM CDR-C3 G/1.30> at ata0-slave BIOSPIO

I haven't tried booting without the CDROM drive attached.

My checked out sources are from Friday, about 4:00 CDT.  The kernel
was built using an unmodified GENERIC.

Scot

below is the demsg from a sucessful first boot.

Copyright (c) 1992-2004 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-BETA1 #0: Sun Aug 22 11:43:46 CDT 2004
    root_at_bsd5x.hetzel.org:/usr/obj/usr/src/sys/GENERIC
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Pentium/P54C (132.63-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x525  Stepping = 5
  Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
real memory  = 134217728 (128 MB)
avail memory = 121700352 (116 MB)
Intel Pentium detected, installing workaround for F00F bug
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX WDMA2 controller> port
0x6000-0x600f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 7.1 on
pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
fxp0: <Intel 82557 Pro/100 Ethernet> port 0x6020-0x603f mem
0xcc000000-0xcc0fffff,0xca000000-0xca000fff irq 11 at device 13.0 on
pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:a0:c9:85:b6:3c
fxp0: [GIANT-LOCKED]
ahc0: <Adaptec 2940 Ultra SCSI adapter> port 0x6400-0x64ff mem
0xcc200000-0xcc200fff irq 11 at device 14.0 on pci0
ahc0: [GIANT-LOCKED]
aic7880: Ultra Wide Channel A, SCSI Id=7, 16/253 SCBs
pci0: <display, VGA> at device 15.0 (no driver attached)
cpu0 on motherboard
orm0: <ISA Option ROMs> at iomem 0xc8000-0xcefff,0xc0000-0xc7fff on isa0
pmtimer0 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
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> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x20 on isa0
sio0: type 16550A
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
sio4: <U.S. Robotics 56K FAX INT> at port 0x2f8-0x2ff irq 3 on isa0
sio4: type 16550A
ahc1: No resources alloated.
Timecounter "TSC" frequency 132632665 Hz quality 800
Timecounters tick every 10.000 msec
ATAPI_RESET time = 310us
ad0: 26105MB <WDC WD273BA/P78OA30A> [53040/16/63] at ata0-master BIOSPIO
acd0: WARNING - MODE_SENSE_BIG interrupt was seen but taskqueue stalled
acd0: WARNING - MODE_SENSE_BIG DONEDRQ non conformant device
acd0: WARNING - MODE_SENSE_BIG read data overrun 65535>5
acd0: WARNING no status, reselecting device
acd0: timeout sending command=a0
acd0: error issuing ATA PACKET command
acd0: WARNING no status, reselecting device
acd0: timeout sending command=a0
acd0: error issuing ATA PACKET command
acd0: WARNING no status, reselecting device
acd0: WARNING no status, reselecting device
acd0: WARNING no status, reselecting device
acd0: WARNING no status, reselecting device
acd0: timeout sending command=a0
acd0: error issuing ATA PACKET command
acd0: WARNING no status, reselecting device
acd0: timeout sending command=a0
acd0: error issuing ATA PACKET command
acd0: CDROM <CD-ROM CDR-C3 G/1.30> at ata0-slave BIOSPIO
Waiting 15 seconds for SCSI devices to settle
da0 at ahc0 bus 0 target 0 lun 0
da0: <QUANTUM FIREBALL ST3.2S 0F0C> Fixed Direct Access SCSI-2 device 
da0: 20.000MB/s transfers (20.000MHz, offset 15), Tagged Queueing Enabled
da0: 3090MB (6328861 512 byte sectors: 255H 63S/T 393C)
da1 at ahc0 bus 0 target 1 lun 0
da1: <QUANTUM FIREBALL ST3.2S 0F0C> Fixed Direct Access SCSI-2 device 
da1: 20.000MB/s transfers (20.000MHz, offset 15), Tagged Queueing Enabled
da1: 3090MB (6328861 512 byte sectors: 255H 63S/T 393C)
da2 at ahc0 bus 0 target 2 lun 0
da2: <QUANTUM FIREBALL ST3.2S 0F0C> Fixed Direct Access SCSI-2 device 
da2: 20.000MB/s transfers (20.000MHz, offset 15), Tagged Queueing Enabled
da2: 3090MB (6328861 512 byte sectors: 255H 63S/T 393C)
Mounting root from ufs:/dev/da0s1a
Received on Wed Aug 25 2004 - 12:12:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:08 UTC