/dev/dm-15: read failed after 0 of 4096 at 0: Input/output error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub (Ubuntu) |
New
|
Undecided
|
Unassigned | ||
os-prober (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
On 12.04.2 Precise amd64, dist-upgrade yesterday (2013-02-11) installed a new kernel (3.2.0-
# update-grub
Generating grub.cfg ...
Found background image: /usr/share/
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found memtest86+ image: /memtest86+.bin
ERROR: asr: reading /dev/dm-
ERROR: ddf1: reading /dev/dm-
ERROR: ddf1: reading /dev/dm-
ERROR: hpt37x: reading /dev/dm-
ERROR: hpt45x: reading /dev/dm-
ERROR: isw: reading /dev/dm-
ERROR: isw: reading /dev/dm-
ERROR: isw: reading /dev/dm-
ERROR: jmicron: reading /dev/dm-
ERROR: lsi: reading /dev/dm-
ERROR: nvidia: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
...
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: sil: reading /dev/dm-
ERROR: via: reading /dev/dm-
ERROR: asr: reading /dev/dm-
ERROR: ddf1: reading /dev/dm-
ERROR: ddf1: reading /dev/dm-
ERROR: hpt37x: reading /dev/dm-
ERROR: hpt45x: reading /dev/dm-
ERROR: isw: reading /dev/dm-
ERROR: isw: reading /dev/dm-
ERROR: isw: reading /dev/dm-
ERROR: jmicron: reading /dev/dm-
ERROR: lsi: reading /dev/dm-
ERROR: nvidia: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
...
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: sil: reading /dev/dm-
ERROR: via: reading /dev/dm-
ERROR: asr: reading /dev/dm-
ERROR: ddf1: reading /dev/dm-
ERROR: ddf1: reading /dev/dm-
ERROR: hpt37x: reading /dev/dm-
ERROR: hpt45x: reading /dev/dm-
ERROR: isw: reading /dev/dm-
ERROR: isw: reading /dev/dm-
ERROR: isw: reading /dev/dm-
ERROR: jmicron: reading /dev/dm-
ERROR: lsi: reading /dev/dm-
ERROR: nvidia: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
ERROR: pdc: reading /dev/dm-
...
and this pattern repeats. The captured log-file of the update-grub run contains 2154 lines.
After some research I found a hint on the RedHat bugzilla that points to dmraid being responsible. After uninstalling the 'dmraid' (1.0.0.
# update-grub
Generating grub.cfg ...
Found background image: /usr/share/
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.
Found memtest86+ image: /memtest86+.bin
/dev/dm-15: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-16: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-17: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-18: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-19: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-20: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-21: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-22: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-23: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-24: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-25: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-26: read failed after 0 of 4096 at 0: Input/output error
done
Previously these errors have not appeared.
I tracked down the source of the errors reports to "/usr/bin/
if type lvs >/dev/null 2>&1; then
fi
The call to "lvs" is what writes the errors.
On investigating further I discovered that the device-mapper nodes dm-{15-26} are left-overs from an external SATA hard-drive that was hot-plugged and unplugged. It seems that, for whatever reason, the drive didn't remove cleanly and device-mapper was never told to remove the device nodes.
So the upshot is that when there are hanging device-mapper nodes on the system and os-prober runs whilst dmraid is installed all those hanging nodes will be repeatedly probed, flooding the console with error messages which look extremely serious.
It might be sensible to consider some rate-limiting of the errors, or better yet, tee-ing STDERR to a log file and referring the user to that file if it is more than 0 bytes in size once the os-probe has completed.