partman dies when trying to detect disks due to kernel error

Bug #561426 reported by Oliver Grawert
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
parted (Ubuntu)
Fix Released
High
Colin Watson
Lucid
Fix Released
High
Colin Watson

Bug Description

Trying to run the installer (doesnt matter if d-i or ubiquity) the kernel spits out an unhandled fault error when trying to detect disk drives:

Apr 12 11:18:47 main-menu[208]: INFO: Menu item 'partman-base' selected
Apr 12 11:18:48 kernel: [ 556.388214] Unhandled fault: external abort on non-linefetch (0x1018) at 0x40200000
Apr 12 11:18:48 main-menu[208]: (process:7234): Bus error

after an IRC conversation it was suggested it might be caused by turned off clocks:

<ogra> amitk, cjwatson suggests its misaligned memory access
<amitk> ogra: I am almost sure it has to do with clocks being turned off during module access

Related branches

Oliver Grawert (ogra)
Changed in linux-ti-omap (Ubuntu Lucid):
milestone: none → ubuntu-10.04
importance: Undecided → High
assignee: nobody → Amit Kucheria (amitk)
Revision history for this message
Amit Kucheria (amitk) wrote :

This definitely seems like an issue with clocks of the HW module being off when it is accessed.

Please provide the exact set of commands that triggers this within d-i. I don't even know where to begin with d-i.

Changed in linux-ti-omap (Ubuntu Lucid):
status: New → In Progress
Revision history for this message
Oliver Grawert (ogra) wrote :
Revision history for this message
Oliver Grawert (ogra) wrote :
Download full text (3.1 KiB)

adding set -x to check-missing-firmware instead gets me the actual bus error but still doesnt chow what causes the non-linefetch error:

Apr 13 09:15:35 main-menu[240]: INFO: Menu item 'disk-detect' selected
Apr 13 09:15:36 net/hw-detect.hotplug: Detected hotpluggable network interface eth0
Apr 13 09:15:36 net/hw-detect.hotplug: Detected hotpluggable network interface lo
Apr 13 09:15:38 check-missing-firmware: no missing firmware in /tmp/missing-firmware
Apr 13 09:15:39 kernel: [ 281.107849] Unhandled fault: external abort on non-linefetch (0x1018) at 0x40200000
Apr 13 09:15:41 kernel: [ 283.133270] Unhandled fault: external abort on non-linefetch (0x1018) at 0x40200000
Apr 13 09:15:43 kernel: [ 285.158142] Unhandled fault: external abort on non-linefetch (0x1018) at 0x40200000
Apr 13 09:15:46 main-menu[240]: (process:5940): +
Apr 13 09:15:46 main-menu[240]: (process:5940): LOG=/tmp/missing-firmware
Apr 13 09:15:46 main-menu[240]: (process:5940):
Apr 13 09:15:46 main-menu[240]: (process:5940): +
Apr 13 09:15:46 main-menu[240]: (process:5940): DENIED=/tmp/missing-firmware-denied
Apr 13 09:15:46 main-menu[240]: (process:5940):
Apr 13 09:15:46 main-menu[240]: (process:5940): +
Apr 13 09:15:46 main-menu[240]: (process:5940): NL=
Apr 13 09:15:46 main-menu[240]: (process:5940):
Apr 13 09:15:46 main-menu[240]: (process:5940): +
Apr 13 09:15:46 main-menu[240]: (process:5940): first=1
Apr 13 09:15:46 main-menu[240]: (process:5940):
Apr 13 09:15:46 main-menu[240]: (process:5940): +
Apr 13 09:15:46 main-menu[240]: (process:5940): read_log
Apr 13 09:15:46 main-menu[240]: (process:5940):
Apr 13 09:15:46 main-menu[240]: (process:5940): +
Apr 13 09:15:46 main-menu[240]: (process:5940): sleep
Apr 13 09:15:46 main-menu[240]: (process:5940): 1
Apr 13 09:15:46 main-menu[240]: (process:5940):
Apr 13 09:15:46 main-menu[240]: (process:5940): + modules=
Apr 13 09:15:46 main-menu[240]: (process:5940): + files=
Apr 13 09:15:46 main-menu[240]: (process:5940): + [ -s /tmp/missing-firmware ]
Apr 13 09:15:46 main-menu[240]: (process:5940): + [ -n ]
Apr 13 09:15:46 main-menu[240]: (process:5940): + log no missing firmware in /tmp/missing-firmware
Apr 13 09:15:46 main-menu[240]: (process:5940): + logger -t check-missing-firmware no missing firmware in /tmp/missing-firmware
Apr 13 09:15:46 main-menu[240]: (process:5940): + return 1
Apr 13 09:15:46 main-menu[240]: (process:5940): Bus error
Apr 13 09:15:46 main-menu[240]: (process:5940): Bus error
Apr 13 09:15:46 main-menu[240]: (process:5940): Bus error
Apr 13 09:15:46 main-menu[240]: INFO: Menu item 'disk-detect' succeeded but requested to be left unconfigured.
Apr 13 09:15:46 main-menu[240]: DEBUG: resolver (libnewt0.52): package doesn't exist (ignored)
Apr 13 09:15:46 main-menu[240]: DEBUG: resolver (libgcc1): package doesn't exist (ignored)
Apr 13 09:15:46 main-menu[240]: DEBUG: resolver (ext2-modules): package doesn't exist (ignored)
Apr 13 09:15:46 main-menu[240]: INFO: Falling back to the package description for console-setup-udeb
Apr 13 09:15:48 main-menu[240]: INFO: Falling back to the package description for console-setup-udeb
Apr 13 09:15:48 main-menu[240]: INFO: Menu item 'di-utils-shell' selecte...

Read more...

Revision history for this message
Oliver Grawert (ogra) wrote :

there we go:

~ #
~ # parted_devices
[ 1034.439666] Unhandled fault: external abort on non-linefetch (0x1018) at 0x40200000
Bus error
~ #

Revision history for this message
Oliver Grawert (ogra) wrote :
Revision history for this message
Amit Kucheria (amitk) wrote :

From the strace:

brk(0) = 0x12000
brk(0x33000) = 0x33000
open("/dev/mem", O_RDONLY|O_LARGEFILE) = 3
mmap2(NULL, 65536, PROT_READ, MAP_SHARED, 3, 0xf0) = 0x40200000
--- SIGBUS (Bus error) @ 0 (0) ---
+++ killed by SIGBUS +++

We shouldn't be mapping /dev/mem on the arm devices w/o word alignment. Is this a byte-aligned access? That could throw this error as shown in http://<email address hidden>/msg18053.html

affects: linux-ti-omap (Ubuntu Lucid) → parted (Ubuntu Lucid)
Changed in parted (Ubuntu Lucid):
assignee: Amit Kucheria (amitk) → Colin Watson (cjwatson)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package parted - 2.2-5ubuntu4

---------------
parted (2.2-5ubuntu4) lucid; urgency=low

  * Only probe DMI on i386/amd64 (LP: #561426).
 -- Colin Watson <email address hidden> Tue, 13 Apr 2010 13:41:53 +0100

Changed in parted (Ubuntu Lucid):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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