hard drive not detected since gutsy update

Bug #156428 reported by cflam69
12
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Incomplete
Undecided
Unassigned
linux-source-2.6.22 (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Binary package hint: linux-source-2.6.22

Since Gutsy update, my second hard drive isn't detected by the system (Gparted, sudo fdisk -l or sudo testdisk can't detect this hard drive)
This hard drive contains 2 partitions FAT32 with an other OS. Note that if this hard drive isn't detected, I can always boot on him.

[ 48.124322] ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:DMA
[ 48.124347] ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:DMA
[ 48.124364] Probing IDE interface ide0...

[ 48.552056] hda: WDC WD1200JB-00GVA0, ATA DISK drive
[ 48.646807] Floppy drive(s): fd0 is 1.44M
[ 48.735507] FDC 0 is a post-1991 82077
[ 48.831903] hdb: ST320413A, ATA DISK drive
[ 48.890471] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
[ 48.912079] Probing IDE interface ide1...
[ 49.775526] hdc: PIONEER DVD-ROM DVD-115, ATAPI CD/DVD-ROM drive
[ 50.559220] hdd: SAMSUNG CD-R/RW DRIVE SW-212B, ATAPI CD/DVD-ROM drive
[ 50.615781] ide1 at 0x170-0x177,0x376 on irq 15
[ 50.619844] ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 9
[ 50.619860] PCI: setting IRQ 9 as level-triggered
[ 50.619869] ACPI: PCI Interrupt 0000:00:07.2[D] -> Link [LNKD] -> GSI 9 (level, low) -> IRQ 9
[ 50.619899] uhci_hcd 0000:00:07.2: UHCI Host Controller
[ 50.620893] uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
[ 50.620946] uhci_hcd 0000:00:07.2: irq 9, io base 0x0000cc00
[ 50.622479] usb usb1: configuration #1 chosen from 1 choice
[ 50.623196] hub 1-0:1.0: USB hub found
[ 50.623230] hub 1-0:1.0: 2 ports detected
[ 50.640487] hda: max request size: 512KiB
[ 50.684789] hda: 234441648 sectors (120034 MB) w/8192KiB Cache, CHS=16383/255/63, UDMA(33)
[ 50.689685] hda: cache flushes supported
[ 50.689799] hda: hda1 hda2 < hda5 hda6<6>ACPI: PCI Interrupt 0000:00:07.3[D] -> Link [LNKD] -> GSI 9 (level, low) -> IRQ 9
[ 50.727325] uhci_hcd 0000:00:07.3: UHCI Host Controller
[ 50.727402] uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 2
[ 50.727440] uhci_hcd 0000:00:07.3: irq 9, io base 0x0000d000
[ 50.727700] usb usb2: configuration #1 chosen from 1 choice
[ 50.727771] hub 2-0:1.0: USB hub found
[ 50.727793] hub 2-0:1.0: 2 ports detected
[ 50.730348] hda7 hda8 >

[ 50.762044] hdb: max request size: 128KiB
[ 50.765258] BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 50.765275] printing eip:
[ 50.765280] c01fe8ab
[ 50.765284] *pde = 00000000
[ 50.765292] Oops: 0000 [#1]

[ 50.765296] SMP
[ 50.765304] Modules linked in: ide_cd cdrom ide_disk floppy 8139too mii ehci_hcd ohci_hcd uhci_hcd usbcore via82cxxx ide_core ata_generic libata scsi_mod thermal processor fan fuse apparmor commoncap
[ 50.765344] CPU: 0
[ 50.765347] EIP: 0060:[<c01fe8ab>] Not tainted VLI
[ 50.765351] EFLAGS: 00010246 (2.6.22-14-generic #1)
[ 50.765376] EIP is at strstr+0x1b/0x50
[ 50.765383] eax: 00000000 ebx: 00000000 ecx: ffffffff edx: 00000000
[ 50.765392] esi: d7e74a2e edi: 00000000 ebp: d890cfe4 esp: d7af7cd4
[ 50.765400] ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
[ 50.765410] Process modprobe (pid: 2160, ti=d7af6000 task=d7a1d4c0 task.ti=d7af6000)
[ 50.765416] Stack: d7e74a36 d890d121 d7e74a40 d88ca985 d7e74a00 d88da4b4 d7c834c0 0254a781
[ 50.765434] 00000000 d890b6ad 00000000 00000001 00000001 d795f19c d795f198 00000001
[ 50.765449] 00000003 c03c6ff4 c03c6ff0 00000000 d7af7dc4 0000000a d88da4b4 0254a780
[ 50.765465] Call Trace:
[ 50.765473] [<d88ca985>] ide_in_drive_list+0x45/0x80 [ide_core]
[ 50.765545] [<d890b6ad>] idedisk_check_hpa+0xad/0x470 [ide_disk]
[ 50.765575] [<c01286f7>] release_console_sem+0x1c7/0x1f0
[ 50.765602] [<d88c7f60>] task_no_data_intr+0x0/0xa0 [ide_core]
[ 50.765634] [<d88cbac8>] ide_add_setting+0x48/0x50 [ide_core]
[ 50.765668] [<d890c4d8>] ide_disk_probe+0x468/0x700 [ide_disk]
[ 50.765687] [<d88c008f>] generic_ide_probe+0x1f/0x30 [ide_core]
[ 50.765713] [<c026110e>] driver_probe_device+0x8e/0x190
[ 50.765729] [<c026137e>] __driver_attach+0x9e/0xa0
[ 50.765739] [<c02604fb>] bus_for_each_dev+0x3b/0x60
[ 50.765763] [<c0260f86>] driver_attach+0x16/0x20
[ 50.765771] [<c02612e0>] __driver_attach+0x0/0xa0
[ 50.765780] [<c02608ca>] bus_add_driver+0x8a/0x1b0
[ 50.765794] [<c014a7d1>] sys_init_module+0x151/0x1a00
[ 50.765806] [<c01fb39f>] prio_tree_insert+0x1f/0x250
[ 50.765838] [<c0104252>] syscall_call+0x7/0xb
[ 50.765855] =======================
[ 50.765859] Code: 5b c3 90 90 90 90 90 90 90 90 90 90 90 90 90 90 83 ec 0c b9 ff ff ff ff 89 1c 24 89 d3 89 74 24 04 89 c6 31 c0 89 7c 24 08 89 df <f2> ae f7 d1 49 89 ca 89 df 89 f0 89 d1 f3 a6 74 0a 96 46 80 78

Revision history for this message
cflam69 (cflam69) wrote :

NB: this is a internal hard drive.

Revision history for this message
Rudd-O (rudd-o) wrote :

It seems it's dying on first platter access to read the partition tables, *or* it is chewing some corrupt partition information and barfing after that. The backtrace seems to point to my first hunch. I wish I could do more :-(.

Revision history for this message
cflam69 (cflam69) wrote :

Thanks for your answer Rudd-O.
But why Feisty have no problem to mount that drive ? And why I can boot on this partition ?
Because, if I understand your answer, it's a problem, maybe material, of my hard drive.
I think, if you're right, that I'll try to resolve the problem with the manufacturer software.

Revision history for this message
Rudd-O (rudd-o) wrote :

I have no idea but I *know* that one of my machines dies right after finishing booting here with Gutsy. The stopgap measure was to just boot with the older, feisty kernel (letting grub know that the default boot entry was the feisty one because that machine is headless and I don't have time to lug around a monitor just to diagnose the clunker). There's no easy way to point-and-click your route to the installatin of the feisty kernel, but if you manage to do it, you will have no problems because the feisty kernel works just fine with Gutsy.

I'm really sorry I can't fix the issue, but you should really report this backtrace in Launchpad Bugs.

Revision history for this message
Rudd-O (rudd-o) wrote :

Silly me, I thought I was answering to an LP question instead. :-)

Revision history for this message
Fran6co (fran6co) wrote :

It seems to be a problem with Seagate hard drives and the Gutsy kernel.

Revision history for this message
Kaptain Chaos (kaptain-chaos) wrote :

I confirm this bug and just added an Open Question #16234. My details:

I upgraded Feisty to Gutsy but found Gutsy reboot hung with the message:

udevd-event[2118]: run_program : '/sbin/modprobe' abnormal exit
Busybox v1.1.3 (Debian 1:1.1.3-5 ubuntu7) Built-in shell (ash)
(initramfs)

On typing return or exit Gutsy continues to boot BUT my 2nd hard drive, containing my Linux swap partition, isn't recognised (the drive also contains two network shared ntfs partitions). Rebooting into the 2.6.20-16 kernel (left over from the Feisty installation) loaded the 2nd drive with my Linux swap file but there were problems with X 'forgetting' the configuration file and dropping back to either a 640x480 or 800x600 safe mode resolution on reboot.

As this pc is a second machine I thought I'd experiment by wiping out the Ubuntu upgrade, trying a fresh install instead to see if that produced better results. Gutsy hung during the boot-up process with the same udevd-event report stopping at the initramfs prompt and the 2nd hard drive wasn't seen by the live CD either. Typing return or exit got the boot to continue. I still couldn't get the 2nd hard drive recognised from within the fresh Gutsy install either. There were a few problems getting the restricted driver working and my splash screen was the wrong resolution.

I re-installed Feisty, left it as a vanilla install (no n-Vidia restricted driver, sharing or any extra packages) and updated the system. All running smoothly. Rebooted and ran a system upgrade to Gutsy again - same problem, hanging at the udevd-event but this time the code was [2124] and no 2nd hard drive with Linux swap! Looking at other posts I tried booting into the 2.6.22-14 kernel and ran 'sudo update-initramfs -u' but the problem persisted.

Deciding to check /etc/fstab and /dev I think I may have discovered where the problem lies but am unsure how to fix it. Both fstab and /dev list my hard drives and partitions as hdax or hdbx NOT the now more common sdax or sdbx, There are no references to sd's in /dev although I believe initramfs is looking for drives with the 'sd' prefix in /dev (I only have hd's), despite how they are configured in fstab or /dev.

Can anyone help me please?

Revision history for this message
miq (miqster) wrote :

The Problem seems to be in a list of Seagate harddrives which require special treatments. Here is the source code that causes problems:

static const struct drive_list_entry hpa_list[] = {
 { "ST340823A", NULL },
 { "ST320413A", NULL },
 { NULL, NULL }
};

You see the *two* affected harddrives. The firmware version, which is the second field in the struct is set to NULL. The function strstr(const char* haystack, const char* needle) chokes on a NULL-needle. Looking at the other places where such a list is constructed and how these lists are used, the fix (or at least workaround) is easy:

static const struct drive_list_entry hpa_list[] = {
 { "ST340823A", "ALL" },
 { "ST320413A", "ALL" },
 { NULL, NULL }
};

I changed the source and built a custom kernel for the affected system and it works now. Hope this helps.

Revision history for this message
Launchpad Janitor (janitor) wrote : This bug is now reported against the 'linux' package

Beginning with the Hardy Heron 8.04 development cycle, all open Ubuntu kernel bugs need to be reported against the "linux" kernel package. We are automatically migrating this bug to the new "linux" package. However, development has already began for the upcoming Intrepid Ibex 8.10 release. It would be helpful if you could test the upcoming release and verify if this is still an issue - http://www.ubuntu.com/testing . If the issue still exists, please update this report by changing the Status of the "linux" task from "Incomplete" to "New". We appreciate your patience and understanding as we make this transition. Thanks!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.