Bug 5931

Summary: Oops when calling hddtemp on sata drive which is in standby
Product: IO/Storage Reporter: Ralf Mueller (ralf)
Component: Serial ATAAssignee: Jeff Garzik (jgarzik)
Status: RESOLVED CODE_FIX    
Severity: normal CC: diegocg, protasnb
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.16-rc1 Subsystem:
Regression: --- Bisected commit-id:

Description Ralf Mueller 2006-01-21 07:51:17 UTC
Most recent kernel where this bug did not occur:
Distribution: SuSE 10.0
Hardware Environment: SATA Drives on PDC20579 SATA II 150 and PDC20718 SATA 300 TX4
Software Environment:
Problem Description:
Kernel reports Oops when calling hddtemp an a SATA drive which is in standby mode.

Steps to reproduce:
hdparm -y /dev/sdx
hddtemp /dev/sdx

Jan 21 16:30:48 DatenGrab kernel: ata6: command timeout
Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C
Jan 21 16:30:48 DatenGrab kernel: ata6: translated ATA stat/err 0xff/00 to SCSI SK/ASC/ASCQ 0xb/
47/00
Jan 21 16:30:48 DatenGrab kernel: ata6: status=0xff { Busy }
Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C
Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C
Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C
Jan 21 16:30:48 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE029439C
Jan 21 16:30:51 DatenGrab kernel: ata6: unknown timeout, cmd 0xb0 stat 0xff
Jan 21 16:30:51 DatenGrab kernel: ata6: translated ATA stat/err 0xff/00 to SCSI SK/ASC/ASCQ 0xb/
47/00
Jan 21 16:30:51 DatenGrab kernel: ata6: status=0xff { Busy }
Jan 21 16:30:51 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2849
Jan 21 16:30:51 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2849
Jan 21 16:30:51 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2849
Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2849
Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2849
Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2849
Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2849
Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2849
Jan 21 16:30:52 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_block,line=3274
Jan 21 16:30:52 DatenGrab kernel: Unable to handle kernel NULL pointer dereference at virtual address 
00000014
Jan 21 16:30:52 DatenGrab kernel:  printing eip:
Jan 21 16:30:52 DatenGrab kernel: e02b7ee3
Jan 21 16:30:52 DatenGrab kernel: *pde = 00000000
Jan 21 16:30:52 DatenGrab kernel: Oops: 0000 [#1]
Jan 21 16:30:52 DatenGrab kernel: Modules linked in: edd ipv6 nfsd w83627hf hwmon_vid hwmon 
eeprom i2c_isa button battery ac af_packet xfs exportfs reiserfs ohci1394 ieee1394 sk98lin i8xx_tco 
i2c_i801 intel_agp agpgart shpchp pci_hotplug i2c_core generic uhci_hcd raid5 xor parport_pc lp 
parport sata_promise libata dm_mod sg skge ohci_hcd ehci_hcd usb_storage usbcore fan thermal 
processor piix sd_mod scsi_mod ide_disk ide_core
Jan 21 16:30:52 DatenGrab kernel: CPU:    0
Jan 21 16:30:52 DatenGrab kernel: EIP:    0060:[<e02b7ee3>]    Not tainted VLI
Jan 21 16:30:52 DatenGrab kernel: EFLAGS: 00010246   (2.6.16-rc1-default)
Jan 21 16:30:52 DatenGrab kernel: EIP is at ata_pio_task+0xda/0x641 [libata]
Jan 21 16:30:52 DatenGrab kernel: eax: 00000053   ebx: 00000050   ecx: c0393600   edx: 00000050
Jan 21 16:30:52 DatenGrab kernel: esi: de422298   edi: 00000000   ebp: 00000010   esp: de3a7f34
Jan 21 16:30:52 DatenGrab kernel: ds: 007b   es: 007b   ss: 0068
Jan 21 16:30:52 DatenGrab kernel: Process ata/0 (pid: 2193, threadinfo=de3a6000 task=df0ad030)
Jan 21 16:30:52 DatenGrab kernel: Stack: <0>df6bfac0 decf3580 d8b3ddd4 c02a631b de3a7f88 
00000000 00000002 dece95c0
Jan 21 16:30:52 DatenGrab kernel:        00000000 de3a7f6c 00000002 df0ad158 de422848 dece95c0 
00000283 de422298
Jan 21 16:30:52 DatenGrab kernel:        c0122a60 e02b7e09 dece95c8 dece95c0 dece95d0 c0122b03 
c0122bde 00000001
Jan 21 16:30:52 DatenGrab kernel: Call Trace:
Jan 21 16:30:52 DatenGrab kernel:  [<c02a631b>] schedule+0x457/0x4c4
Jan 21 16:30:52 DatenGrab kernel:  [<c0122a60>] run_workqueue+0x64/0x93
Jan 21 16:30:52 DatenGrab kernel:  [<e02b7e09>] ata_pio_task+0x0/0x641 [libata]
Jan 21 16:30:52 DatenGrab kernel:  [<c0122b03>] worker_thread+0x0/0x10b
Jan 21 16:30:52 DatenGrab kernel:  [<c0122bde>] worker_thread+0xdb/0x10b
Jan 21 16:30:52 DatenGrab kernel:  [<c0114fe8>] default_wake_function+0x0/0xc
Jan 21 16:30:52 DatenGrab kernel:  [<c0124eef>] kthread+0x90/0xbc
Jan 21 16:30:52 DatenGrab kernel:  [<c0124e5f>] kthread+0x0/0xbc
Jan 21 16:30:52 DatenGrab kernel:  [<c0101005>] kernel_thread_helper+0x5/0xb
Jan 21 16:30:52 DatenGrab kernel: Code: 2b e0 68 4d cc 2b e0 68 69 cb 2b e0 e8 d6 ff e5 df 83 c4 14 
0f b6 d3 f6 c2 21 74 0c 83 8f 8c 00 00 00 02 e9 e7 01 00 00 8d 6f 10 <8a> 45 04 83 e8 05 3c 02 0f 
87 ca 01 00 00 80 e2 08 75 0f c7 86
Comment 1 Diego Calleja 2006-02-15 05:44:47 UTC
Could you retest -rc3?
Comment 2 Ralf Mueller 2006-02-19 11:03:12 UTC
It is still there in 2.6.16-rc4:

Feb 19 19:56:39 DatenGrab kernel: ata1: command timeout
Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C
Feb 19 19:56:39 DatenGrab kernel: ata1: translated ATA stat/err 0xff/00 to SCSI SK/ASC/ASCQ 0xb/
47/00
Feb 19 19:56:39 DatenGrab kernel: ata1: status=0xff { Busy }
Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C
Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C
Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C
Feb 19 19:56:39 DatenGrab kernel: ATA: abnormal status 0xFF on port 0xE006621C
Feb 19 19:56:42 DatenGrab kernel: ata1: unknown timeout, cmd 0xb0 stat 0xff
Feb 19 19:56:42 DatenGrab kernel: ata1: translated ATA stat/err 0xff/00 to SCSI SK/ASC/ASCQ 0xb/
47/00
Feb 19 19:56:42 DatenGrab kernel: ata1: status=0xff { Busy }
Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2890
Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2890
Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2890
Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2890
Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_poll,line=2890
Feb 19 19:56:42 DatenGrab kernel: Assertion failed! qc != NULL,drivers/scsi/libata-
core.c,ata_pio_block,line=3326
Feb 19 19:56:42 DatenGrab kernel: Unable to handle kernel NULL pointer dereference at virtual address 
00000014
Feb 19 19:56:42 DatenGrab kernel:  printing eip:
Feb 19 19:56:42 DatenGrab kernel: e02c1f9c
Feb 19 19:56:42 DatenGrab kernel: *pde = 00000000
Feb 19 19:56:42 DatenGrab kernel: Oops: 0000 [#1]
Feb 19 19:56:42 DatenGrab kernel: Modules linked in: edd ipv6 w83627hf hwmon_vid nfsd hwmon 
eeprom i2c_isa button battery ac af_packet xfs exportfs reiserfs ohci1394 ieee1394 sk98lin i2c_i801 
i2c_core i8xx_tco shpchp generic pci_hotplug intel_agp uhci_hcd agpgart raid5 xor parport_pc lp 
parport sata_promise libata dm_mod sg skge ohci_hcd ehci_hcd usb_storage usbcore fan thermal 
processor piix sd_mod scsi_mod ide_disk ide_core
Feb 19 19:56:42 DatenGrab kernel: CPU:    0
Feb 19 19:56:42 DatenGrab kernel: EIP:    0060:[<e02c1f9c>]    Not tainted VLI
Feb 19 19:56:42 DatenGrab kernel: EFLAGS: 00010246   (2.6.16-rc4-default #2)
Feb 19 19:56:42 DatenGrab kernel: EIP is at ata_pio_task+0xda/0x647 [libata]
Feb 19 19:56:42 DatenGrab kernel: eax: 00000053   ebx: 00000050   ecx: ffffffff   edx: 00000050
Feb 19 19:56:42 DatenGrab kernel: esi: df10d298   edi: 00000000   ebp: 00000010   esp: ddc19f34
Feb 19 19:56:42 DatenGrab kernel: ds: 007b   es: 007b   ss: 0068
Feb 19 19:56:42 DatenGrab kernel: Process ata/0 (pid: 2258, threadinfo=ddc18000 task=de941a70)
Feb 19 19:56:42 DatenGrab kernel: Stack: <0>de3da200 c0301200 c0357fec c02a7d9b ddc19f88 
00000000 00000006 def55240
Feb 19 19:56:42 DatenGrab kernel:        00000000 e73be800 003d08d1 de941b98 df10d848 
def55240 00000206 df10d298
Feb 19 19:56:42 DatenGrab kernel:        c0122f18 e02c1ec2 def55248 def55240 def55250 c0122fbb 
c0123096 00000001
Feb 19 19:56:42 DatenGrab kernel: Call Trace:
Feb 19 19:56:42 DatenGrab kernel:  [<c02a7d9b>] schedule+0x457/0x4c4
Feb 19 19:56:42 DatenGrab kernel:  [<c0122f18>] run_workqueue+0x64/0x93
Feb 19 19:56:42 DatenGrab kernel:  [<e02c1ec2>] ata_pio_task+0x0/0x647 [libata]
Feb 19 19:56:42 DatenGrab kernel:  [<c0122fbb>] worker_thread+0x0/0x10b
Feb 19 19:56:42 DatenGrab kernel:  [<c0123096>] worker_thread+0xdb/0x10b
Feb 19 19:56:42 DatenGrab kernel:  [<c0115008>] default_wake_function+0x0/0xc
Feb 19 19:56:42 DatenGrab kernel:  [<c01253a7>] kthread+0x90/0xbc
Feb 19 19:56:42 DatenGrab kernel:  [<c0125317>] kthread+0x0/0xbc
Feb 19 19:56:42 DatenGrab kernel:  [<c0101005>] kernel_thread_helper+0x5/0xb
Feb 19 19:56:42 DatenGrab kernel: Code: 2c e0 68 6d 6d 2c e0 68 89 6c 2c e0 e8 1d 63 e5 df 83 c4 
14 0f b6 d3 f6 c2 21 74 0c 83 8f 8c 00 00 00 02 e9 e7 01 00 00 8d 6f 10 <8a> 45 04 83 e8 05 3c 02 
0f 87 ca 01 00 00 80 e2 08 75 0f c7 86
Comment 3 Natalie Protasevich 2007-07-08 16:53:51 UTC
It's been many changes to SATA, have you tested with recent kernels Ralf?
Thanks.
Comment 4 Ralf Mueller 2007-07-09 05:43:45 UTC
I have to test it again - the last month I just avoided to trigger this condition. I'll try this weekend if anyhow possible.(In reply to comment #3)
Comment 5 Ralf Mueller 2007-07-15 06:15:00 UTC
The bug is fixed since at least 2.6.18 - thats the kernel I currently use on this system.

Thanks a lot.
Ralf