Bug#644982: grub-common: fails to detect ext3: grub-probe -t fs --device /dev/md0 => error: out of disk
Timo Juhani Lindfors
timo.lindfors at iki.fi
Tue Oct 11 11:54:22 UTC 2011
Package: grub-common
Version: 1.98+20100804-14+squeeze1
Severity: normal
On one squeeze machine grub-install fails since grub-probe fails. This
is puzzling since it works on a different squeeze machine with similar
setup.
data:~$ sudo grub-probe "--device-map=/boot/grub/device.map" -t fs "--device" "/dev/md0"
grub-probe: error: out of disk.
data:~$ dpkg-query -W grub-common
grub-common 1.98+20100804-14+squeeze1
data:~$ cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid0 md11[0] md12[1]
2906800640 blocks 128k chunks
md3 : active raid1 sda2[0] sdd2[3] sdb2[2] sdc2[1]
1959808 blocks [4/4] [UUUU]
md0 : active raid1 sda1[0] sdd1[3] sdb1[2] sdc1[1]
9775424 blocks [4/4] [UUUU]
md12 : active raid1 sdb3[0] sdd3[1]
1453400448 blocks [2/2] [UU]
md11 : active raid1 sda3[0] sdc3[1]
1453400448 blocks [2/2] [UU]
unused devices: <none>
data:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-2.6.32-5-amd64 root=/dev/md0 ro
data:~$ cat /proc/mounts
rootfs / rootfs rw 0 0
none /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
none /proc proc rw,nosuid,nodev,noexec,relatime 0 0
none /dev devtmpfs rw,relatime,size=2009304k,nr_inodes=502326,mode=755 0 0
none /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/md0 / ext3 rw,noatime,errors=remount-ro,data=ordered 0 0
tmpfs /lib/init/rw tmpfs rw,nosuid,relatime,mode=755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
/dev/sde1 /tmp ext4 rw,noatime,barrier=1,data=ordered 0 0
/dev/md1 /data ext3 rw,noatime,errors=continue,data=ordered 0 0
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
nfs:/home /home nfs rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.7.2.3,mountvers=3,mountport=56486,mountproto=udp,addr=10.7.2.3 0 0
nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
data:~$ sudo file -sL /dev/md0
/dev/md0: Linux rev 1.0 ext3 filesystem data, UUID=a041c822-a636-475d-a7dc-6fc708f24326 (needs journal recovery) (large files)
data:~$ cat /boot/grub/device.map
(hd0) /dev/disk/by-id/ata-ST31500341AS_9VS3HN5W
(hd1) /dev/disk/by-id/ata-ST31500341AS_9VS0GXEL
(hd2) /dev/disk/by-id/ata-ST31500341AS_9VS03C29
(hd3) /dev/disk/by-id/ata-ST31500341AS_9VS3J1WF
(hd4) /dev/disk/by-id/ata-KINGSTON_SNV425S264GB_07MA20044374
$ sudo gdb --args grub-probe "--device-map=/boot/grub/device.map" -t fs "--device" "/dev/md0"
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/grub-probe...done.
(gdb) break disk.c:383
Breakpoint 1 at 0x4081b7: file ../../kern/disk.c, line 383.
(gdb) r
Starting program: /usr/sbin/grub-probe --device-map=/boot/grub/device.map -t fs --device /dev/md0
Breakpoint 1, grub_disk_adjust_range (disk=0x679210, sector=0x7fffffffe670, offset=0x7fffffffe668, size=8) at ../../kern/disk.c:383
383 return grub_error (GRUB_ERR_OUT_OF_RANGE, "out of disk");
(gdb) bt full
#0 grub_disk_adjust_range (disk=0x679210, sector=0x7fffffffe670, offset=0x7fffffffe668, size=8) at ../../kern/disk.c:383
part = 0x0
#1 0x0000000000408223 in grub_disk_read (disk=0x679210, sector=6601936976, offset=0, size=8, buf=0x7fffffffe800) at ../../kern/disk.c:397
tmp_buf = 0x7ffff7bb8e40 ""
real_offset = 0
#2 0x0000000000431c7d in grub_fshelp_read_file (disk=0x679210, node=0x6860b0, read_hook=0, pos=0, len=8, buf=0x7fffffffe800 "\210\350\377\377\377\177",
get_block=0x40e760 <grub_ext2_read_block>, filesize=6879918072953648178, log2blocksize=3) at ../../fs/fshelp.c:281
blknr = 6601936976
blockoff = 0
blockend = 8
skipfirst = 0
i = 0
blockcnt = 1
blocksize = 4096
#3 0x000000000040ee9f in grub_ext2_read_file (node=0x6860b0, read_hook=0, pos=0, len=8, buf=0x7fffffffe800 "\210\350\377\377\377\177")
at ../../fs/ext2.c:521
No locals.
#4 0x000000000040f2fb in grub_ext2_iterate_dir (dir=0x6860b0, hook=0x7fffffffe8a0) at ../../fs/ext2.c:682
dirent = {inode = 4294961288, direntlen = 32767, namelen = 0 '\000', filetype = 0 '\000'}
fpos = 0
diro = 0x6860b0
#5 0x000000000040f960 in grub_ext2_dir (device=0x6790d0, path=0x438fed "/", hook=0x430944 <dummy_func>) at ../../fs/ext2.c:870
fdiro = 0x6860b0
data = 0x685f50
#6 0x00000000004309c7 in grub_fs_probe (device=0x6790d0) at ../../kern/fs.c:55
count = 0
p = 0x642740
#7 0x00000000004028c0 in probe (path=0x0, device_name=0x7fffffffedf4 "/dev/md0") at ../../util/grub-probe.c:244
drive_name = 0x678cb0 "md0"
grub_path = 0x0
filebuf_via_grub = 0x0
filebuf_via_sys = 0x0
dev = 0x6790d0
fs = 0x43e3ff
#8 0x0000000000402ecb in main (argc=6, argv=0x7fffffffeb78) at ../../util/grub-probe.c:447
dev_map = 0x670f70 "/boot/grub/device.map"
argument = 0x7fffffffedf4 "/dev/md0"
I fetched grub from bzr (rev 3437) and it seems to correctly detect
the filesystem type:
data:~$ sudo /home/lindi/grub-install/sbin/grub-probe "--device-map=/boot/grub/device.map" -t fs "--device" "/dev/md0"
[sudo] password for lindi:
ext2
I thought about backporting grub2 from wheezy but that seemed to build
depend on some gcc*multilib* stuff that I didn't have time to backport
at this point..
-- System Information:
Debian Release: 6.0.3
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages grub-common depends on:
ii base-files 6.0squeeze3 Debian base system miscellaneous f
ii dpkg 1.15.8.11 Debian package management system
ii gettext-base 0.18.1.1-3 GNU Internationalization utilities
ii install-info 4.13a.dfsg.1-6 Manage installed documentation in
ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib
ii libdevmapper1.02.1 2:1.02.48-5 The Linux Kernel Device Mapper use
ii libfreetype6 2.4.2-2.1+squeeze1 FreeType 2 font engine, shared lib
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
Versions of packages grub-common recommends:
ii os-prober 1.42 utility to detect other OSes on a
Versions of packages grub-common suggests:
pn grub-emu <none> (no description available)
pn multiboot-doc <none> (no description available)
pn xorriso <none> (no description available)
-- no debconf information
More information about the Pkg-grub-devel
mailing list