Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

ahcisata & SPL NOT LOWERED ON EXIT messages



Hi,

I have an amd64 -current machine (dmesg attached) that frequently spew
tons of `SPL NOT LOWERED ON EXIT' message while trying to dump core on
kernel panic.

I tracked it to ahcisata driver which has 2 panic(9) calls inside
splbio/splx block (ahci_exec_command() and ahci_atapi_scsipi_request()
functions). When panicing, the splx call is indeed missed ...

    737         s = splbio();
    738         ata_exec_xfer(chp,xfer);
    739 #ifdef DIAGNOSTIC       
    740         if ((ata_c->flags & AT_POLL) != 0 &&
    741             (ata_c->flags & AT_DONE) == 0)
    742                 panic("ahci_exec_command: polled command not done");
    743 #endif          
    744         if (ata_c->flags & AT_DONE) {
    745                 ret = ATACMD_COMPLETE;
    746         } else {
    747                 if (ata_c->flags & AT_WAIT) {
    748                         while ((ata_c->flags & AT_DONE) == 0) {
    749                                 tsleep(ata_c,PRIBIO,"ahcicmd",0);
    750                         }
    751                         ret = ATACMD_COMPLETE; 
    752                 } else {
    753                         ret = ATACMD_QUEUED;
    754                 }
    755         }
    756         splx(s);
[...]
   1344                 s = splbio(); 
   1345                 ata_exec_xfer(atac->atac_channels[channel],xfer);
   1346 #ifdef DIAGNOSTIC
   1347                 if ((sc_xfer->xs_control & XS_CTL_POLL) != 0 &&
   1348                     (sc_xfer->xs_status & XS_STS_DONE) == 0)
   1349                         panic("ahci_atapi_scsipi_request: polled 
command "
   1350                             "not done");
   1351 #endif  
   1352                 splx(s);

Disabling the DIAGNOSTIC blocks makes the SPL message disappear... but
do not solve the dump problem. At least, i can read it now ;)

trap
cpu2: Begin traceback...
printf_nolog() at netbsd:printf_nolog
startlwp() at netbsd:startlwp
alltraps() at netbsd:alltraps+0xa2
exit1() at netbsd:exit1+0x4a4
execve1() at netbsd:execve1
cpu2: End traceback...

dumping to dev 0,1 offset 4199175
dump ahcisata0 port 0: device connected,but communication not established
ahcisata0: port 0 reset failed
Skipping crash dump on recursive panic
panic: atastart: channel waiting for irq
cpu2: Begin traceback...
printf_nolog() at netbsd:printf_nolog
ata_get_xfer() at netbsd:ata_get_xfer
ahci_ata_bio() at netbsd:ahci_ata_bio+0x7e
wddump() at netbsd:wddump+0x166
dump_header_flush() at netbsd:dump_header_flush+0x56
dodumpsys() at netbsd:dodumpsys+0x20b
dumpsys() at netbsd:dumpsys+0x1d
vpanic() at netbsd:vpanic+0x1dd
printf_nolog() at netbsd:printf_nolog
startlwp() at netbsd:startlwp
alltraps() at netbsd:alltraps+0xa2
exit1() at netbsd:exit1+0x4a4
execve1() at netbsd:execve1
cpu2: End traceback...
Skipping crash dump on recursive panic
panic: atastart: channel waiting for irq
cpu2: Begin traceback...
printf_nolog() at netbsd:printf_nolog
ata_get_xfer() at netbsd:ata_get_xfer
ahci_exec_command() at netbsd:ahci_exec_command+0xb1
wd_flushcache() at netbsd:wd_flushcache+0xd7
wd_shutdown() at netbsd:wd_shutdown+0x3e
pmf_system_shutdown() at netbsd:pmf_system_shutdown+0x81
cpu_reboot() at netbsd:cpu_reboot+0x2c
vpanic() at netbsd:vpanic+0x1dd
printf_nolog() at netbsd:printf_nolog
ata_get_xfer() at netbsd:ata_get_xfer
ahci_ata_bio() at netbsd:ahci_ata_bio+0x7e
wddump() at netbsd:wddump+0x166
dump_header_flush() at netbsd:dump_header_flush+0x56
dodumpsys() at netbsd:dodumpsys+0x20b
dumpsys() at netbsd:dumpsys+0x1d
vpanic() at netbsd:vpanic+0x1dd
printf_nolog() at netbsd:printf_nolog
startlwp() at netbsd:startlwp
alltraps() at netbsd:alltraps+0xa2
exit1() at netbsd:exit1+0x4a4
execve1() at netbsd:execve1
cpu2: End traceback...
                      rebooting...

-- 
Nicolas Joly

Projects and Developments in Bioinformatics
Institut Pasteur, Paris.
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.99.65 (LANFEUST) #10: Tue Feb 14 14:37:46 CET 2012
        
njoly%lanfeust.sis.pasteur.fr@localhost:/local/src/NetBSD/obj.amd64/sys/arch/amd64/compile/LANFEUST
total memory = 8190 MB
avail memory = 7934 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
Supermicro H8DG6/H8DGi (1234567890)
mainbus0 (root)
cpu0 at mainbus0 apid 16: AMD Opteron(tm) Processor 6128, id 0x100f91
cpu1 at mainbus0 apid 17: AMD Opteron(tm) Processor 6128, id 0x100f91
cpu2 at mainbus0 apid 18: AMD Opteron(tm) Processor 6128, id 0x100f91
cpu3 at mainbus0 apid 19: AMD Opteron(tm) Processor 6128, id 0x100f91
cpu4 at mainbus0 apid 20: AMD Opteron(tm) Processor 6128, id 0x100f91
cpu5 at mainbus0 apid 21: AMD Opteron(tm) Processor 6128, id 0x100f91
cpu6 at mainbus0 apid 22: AMD Opteron(tm) Processor 6128, id 0x100f91
cpu7 at mainbus0 apid 23: AMD Opteron(tm) Processor 6128, id 0x100f91
ioapic0 at mainbus0 apid 0: pa 0xfec00000, version 21, 24 pins
acpi0 at mainbus0: Intel ACPICA 20110623
acpi0: X/RSDT: OemId <SMCI  ,        ,20111110>, AslId <MSFT,00000097>
mpacpi: PCI bus 3 int routing already done!
acpi0: SCI interrupting at int 9
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
hpet0 at acpi0: high precision event timer (mem 0xfed00000-0xfed00400)
timecounter: Timecounter "hpet0" frequency 14318180 Hz quality 2000
NMEM (PNP0C02) at acpi0 not configured
UMEM (PNP0C02) at acpi0 not configured
attimer1 at acpi0 (TMR, PNP0100): io 0x40-0x43 irq 0
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
OMSC (PNP0C02) at acpi0 not configured
RMSC (PNP0C02) at acpi0 not configured
UAR1 (PNP0501) at acpi0 not configured
UAR2 (PNP0501) at acpi0 not configured
pckbc1 at acpi0 (PS2K, PNP0303) (kbd port): io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, PNP0F03) (aux port): irq 12
SIOR (PNP0C02) at acpi0 not configured
UAR3 (PNP0501) at acpi0 not configured
SIO2 (PNP0C02) at acpi0 not configured
PCIE (PNP0C02) at acpi0 not configured
RMEM (PNP0C01) at acpi0 not configured
NMEM (PNP0C02) at acpi0 not configured
UMEM (PNP0C02) at acpi0 not configured
acpibut0 at acpi0 (PWRB, PNP0C0C-170): ACPI Power Button
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0 mux 1
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
ipmi0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: ATI Technologies RD890 North Bridge Dual Slot 
2x16 GFX (rev. 0x02)
ppb0 at pci0 dev 2 function 0: ATI Technologies RD890 PCI Express Bridge GPP 
Port B (rev. 0x00)
ppb0: PCI Express 2.0 <Root Port of PCI-E Root Complex>
pci1 at ppb0 bus 3
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
vga0 at pci1 dev 0 function 0: NVIDIA GeForce 210 (rev. 0xa2)
wsdisplay0 at vga0 kbdmux 1
wsmux1: connecting to wsdisplay0
wskbd0: connecting to wsdisplay0
drm at vga0 not configured
hdaudio0 at pci1 dev 0 function 1: HD Audio Controller
hdaudio0: interrupting at ioapic0 pin 16
hdafg0 at hdaudio0: NVIDIA GT21x HDMI
hdafg0: DP00 8ch: Digital Out [Jack]
hdafg0: 8ch/0ch 48000Hz PCM16*
hdafg1 at hdaudio0: NVIDIA GT21x HDMI
hdafg1: DP00 8ch: Digital Out [Jack]
hdafg1: 8ch/0ch 48000Hz PCM16*
hdafg2 at hdaudio0: NVIDIA GT21x HDMI
hdafg2: DP00 8ch: Digital Out [Jack]
hdafg2: 8ch/0ch 48000Hz PCM16*
hdafg3 at hdaudio0: NVIDIA GT21x HDMI
hdafg3: DP00 8ch: Digital Out [Jack]
hdafg3: 8ch/0ch 48000Hz PCM16*
ppb1 at pci0 dev 13 function 0: ATI Technologies RD890 PCI Bridge GFX1 Port B 
(rev. 0x00)
ppb1: PCI Express 2.0 <Root Port of PCI-E Root Complex>
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
wm0 at pci2 dev 0 function 0: 82576 1000BaseT Ethernet (rev. 0x01)
wm0: interrupting at ioapic0 pin 17
wm0: PCI-Express bus
wm0: 65536 word (16 address bits) SPI EEPROM
wm0: Ethernet address 00:25:90:52:89:00
igphy0 at wm0 phy 1: i82566 10/100/1000 media interface, rev. 1
igphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
wm1 at pci2 dev 0 function 1: 82576 1000BaseT Ethernet (rev. 0x01)
wm1: interrupting at ioapic0 pin 18
wm1: PCI-Express bus
wm1: 65536 word (16 address bits) SPI EEPROM
wm1: Ethernet address 00:25:90:52:89:01
igphy1 at wm1 phy 1: i82566 10/100/1000 media interface, rev. 1
igphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
ahcisata0 at pci0 dev 17 function 0: ATI Technologies SB700/SB800 SATA 
Controller (AHCI mode) (rev. 0x00)
ahcisata0: interrupting at ioapic0 pin 22
ahcisata0: 64-bit DMA
ahcisata0: AHCI revision 1.10, 4 ports, 32 slots, CAP 
0xf722ff83<CCCS,PSC,SSC,PMD,SPM,ISS=0x2=Gen2,SCLO,SAL,SALP,SMPS,SSNTF,SNCQ,S64A>
atabus0 at ahcisata0 channel 0
atabus1 at ahcisata0 channel 1
atabus2 at ahcisata0 channel 2
atabus3 at ahcisata0 channel 3
ohci0 at pci0 dev 18 function 0: ATI Technologies SB700/SB800 USB OHCI 
Controller (rev. 0x00)
ohci0: interrupting at ioapic0 pin 16
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
ohci1 at pci0 dev 18 function 1: ATI Technologies SB700/SB800 USB OHCI 
Controller (rev. 0x00)
ohci1: interrupting at ioapic0 pin 16
ohci1: OHCI version 1.0, legacy support
usb1 at ohci1: USB revision 1.0
ehci0 at pci0 dev 18 function 2: ATI Technologies SB700/SB800 USB EHCI 
Controller (rev. 0x00)
ehci0: interrupting at ioapic0 pin 17
ehci0: dropped intr workaround enabled
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controllers, 3 ports each: ohci0 ohci1
usb2 at ehci0: USB revision 2.0
ohci2 at pci0 dev 19 function 0: ATI Technologies SB700/SB800 USB OHCI 
Controller (rev. 0x00)
ohci2: interrupting at ioapic0 pin 18
ohci2: OHCI version 1.0, legacy support
usb3 at ohci2: USB revision 1.0
ohci3 at pci0 dev 19 function 1: ATI Technologies SB700/SB800 USB OHCI 
Controller (rev. 0x00)
ohci3: interrupting at ioapic0 pin 18
ohci3: OHCI version 1.0, legacy support
usb4 at ohci3: USB revision 1.0
ehci1 at pci0 dev 19 function 2: ATI Technologies SB700/SB800 USB EHCI 
Controller (rev. 0x00)
ehci1: interrupting at ioapic0 pin 19
ehci1: dropped intr workaround enabled
ehci1: BIOS has given up ownership
ehci1: EHCI version 1.0
ehci1: companion controllers, 3 ports each: ohci2 ohci3
usb5 at ehci1: USB revision 2.0
piixpm0 at pci0 dev 20 function 0: ATI Technologies SB600/SB700/SB800 SMBus 
Controller (rev. 0x3d)
piixpm0: interrupting at SMI, polling
iic0 at piixpm0: I2C bus
spdmem0 at iic0 addr 0x55
spdmem0: DDR3 SDRAM (registered), ECC, temp-sensor, 4GB, 1333MHz (PC3-10666)
spdmem0: 12 rows, 13 cols, 8 log. banks, 2 phys. banks, 1.500ns cycle time
spdmem0: tAA-tRCD-tRP-tRAS: 8-8-8-24
spdmem1 at iic0 addr 0x57
spdmem1: DDR3 SDRAM (registered), ECC, temp-sensor, 4GB, 1333MHz (PC3-10666)
spdmem1: 12 rows, 13 cols, 8 log. banks, 2 phys. banks, 1.500ns cycle time
spdmem1: tAA-tRCD-tRP-tRAS: 8-8-8-24
ixpide0 at pci0 dev 20 function 1: ATI Technologies IXP IDE Controller (rev. 
0x00)
ixpide0: bus-master DMA support present
ixpide0: primary channel configured to compatibility mode
ixpide0: primary channel interrupting at ioapic0 pin 14
atabus4 at ixpide0 channel 0
ixpide0: secondary channel configured to compatibility mode
ixpide0: secondary channel interrupting at ioapic0 pin 15
atabus5 at ixpide0 channel 1
pcib0 at pci0 dev 20 function 3: ATI Technologies SB700/SB800 LPC Host 
Controller (rev. 0x00)
ppb2 at pci0 dev 20 function 4: ATI Technologies SB600 PCI to PCI Bridge (rev. 
0x00)
pci3 at ppb2 bus 1
pci3: i/o space, memory space enabled
ohci4 at pci0 dev 20 function 5: ATI Technologies SB700/SB800 USB OHCI 
Controller (rev. 0x00)
ohci4: interrupting at ioapic0 pin 18
ohci4: OHCI version 1.0, legacy support
usb6 at ohci4: USB revision 1.0
pchb1 at pci0 dev 24 function 0: AMD AMD64 Family10h HyperTransport 
Configuration (rev. 0x00)
pchb2 at pci0 dev 24 function 1: AMD AMD64 Family10h Address Map Configuration 
(rev. 0x00)
pchb3 at pci0 dev 24 function 2: AMD AMD64 Family10h DRAM Configuration (rev. 
0x00)
pchb4 at pci0 dev 24 function 3: AMD AMD64 Family10h Miscellaneous 
Configuration (rev. 0x00)
amdtemp0 at pchb4: AMD CPU Temperature Sensors (Family10h)
pchb5 at pci0 dev 24 function 4: AMD AMD64 Family10h Link Configuration (rev. 
0x00)
pchb6 at pci0 dev 25 function 0: AMD AMD64 Family10h HyperTransport 
Configuration (rev. 0x00)
pchb7 at pci0 dev 25 function 1: AMD AMD64 Family10h Address Map Configuration 
(rev. 0x00)
pchb8 at pci0 dev 25 function 2: AMD AMD64 Family10h DRAM Configuration (rev. 
0x00)
pchb9 at pci0 dev 25 function 3: AMD AMD64 Family10h Miscellaneous 
Configuration (rev. 0x00)
amdtemp1 at pchb9: AMD CPU Temperature Sensors (Family10h)
pchb10 at pci0 dev 25 function 4: AMD AMD64 Family10h Link Configuration (rev. 
0x00)
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
acpicpu0 at cpu0: ACPI CPU
acpicpu0: C1: HLT, lat   0 us, pow     0 mW
acpicpu0: P0: FFH, lat   5 us, pow 10695 mW, 2000 MHz
acpicpu0: P1: FFH, lat   5 us, pow  8360 mW, 1500 MHz
acpicpu0: P2: FFH, lat   5 us, pow  6825 mW, 1200 MHz
acpicpu0: P3: FFH, lat   5 us, pow  5670 mW, 1000 MHz
acpicpu0: P4: FFH, lat   5 us, pow  4838 mW,  800 MHz
acpicpu0: T0: I/O, lat   1 us, pow     0 mW, 100 %
acpicpu0: T1: I/O, lat   1 us, pow     0 mW,  88 %
acpicpu0: T2: I/O, lat   1 us, pow     0 mW,  76 %
acpicpu0: T3: I/O, lat   1 us, pow     0 mW,  64 %
acpicpu0: T4: I/O, lat   1 us, pow     0 mW,  52 %
acpicpu0: T5: I/O, lat   1 us, pow     0 mW,  40 %
acpicpu0: T6: I/O, lat   1 us, pow     0 mW,  28 %
acpicpu0: T7: I/O, lat   1 us, pow     0 mW,  16 %
acpicpu1 at cpu1: ACPI CPU
acpicpu2 at cpu2: ACPI CPU
acpicpu3 at cpu3: ACPI CPU
acpicpu4 at cpu4: ACPI CPU
acpicpu5 at cpu5: ACPI CPU
acpicpu6 at cpu6: ACPI CPU
acpicpu7 at cpu7: ACPI CPU
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 2000164480 Hz quality 3000
uhub0 at usb0: ATI Technologies OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
uhub1 at usb1: ATI Technologies OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
uhub2 at usb2: ATI Technologies EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 6 ports with 6 removable, self powered
uhub3 at usb3: ATI Technologies OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 3 ports with 3 removable, self powered
uhub4 at usb6: ATI Technologies OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4: 2 ports with 2 removable, self powered
uhub5 at usb5: ATI Technologies EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub5: 6 ports with 6 removable, self powered
uhub6 at usb4: ATI Technologies OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub6: 3 ports with 3 removable, self powered
ahcisata0 port 3: device present, speed: 1.5Gb/s
ahcisata0 port 1: device present, speed: 3.0Gb/s
ahcisata0 port 0: device present, speed: 3.0Gb/s
wd0 at atabus0 drive 0
wd0: <ST31000333AS>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 931 GB, 1938021 cyl, 16 head, 63 sec, 512 bytes/sect x 1953525168 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(ahcisata0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd1 at atabus1 drive 0
wd1: <ST31000333AS>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 931 GB, 1938021 cyl, 16 head, 63 sec, 512 bytes/sect x 1953525168 sectors
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd1(ahcisata0:1:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
atapibus0 at atabus3: 1 targets
cd0 at atapibus0 drive 0: <TSSTcorp CDDVDW SH-222AB, R8BZ6GDB342987, SB00> 
cdrom removable
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
cd0(ahcisata0:3:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) 
(using DMA)
uhidev0 at uhub4 port 1 configuration 1 interface 0
uhidev0: Winbond Electronics Corp Hermon USB hidmouse Device, rev 1.10/0.01, 
addr 2, iclass 3/1
ums0 at uhidev0: 3 buttons and Z dir
wsmouse1 at ums0 mux 0
uhidev1 at uhub4 port 1 configuration 1 interface 1
uhidev1: Winbond Electronics Corp Hermon USB hidmouse Device, rev 1.10/0.01, 
addr 2, iclass 3/1
ukbd0 at uhidev1: 8 modifier keys, 6 key codes
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio0 at pad0: half duplex, playback, capture
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
ipmi0: version 2.0 interface KCS iobase 0xca2/2 spacing 1
ipmi0: warning under limit on 'System Temp'
wsdisplay0: screen 0 added (80x25, vt100 emulation)
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)


Home | Main Index | Thread Index | Old Index