bugGNU GRUB - Bugs: bug #25614, Floating-point exception in...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #25614: Floating-point exception in grub-install

Submitter:  David Abrahams <bewst>
Submitted:  Tue 17 Feb 2009 07:49:12 PM UTC
   
 
Category:  None Severity:  Major
Priority:  5 - Normal Item Group:  Software Error
Status:  Fixed Privacy:  Public
Assigned to:  None Originator Name: 
Open/Closed:  Closed Release:  Bazaar - trunk
Release:  svn-1996 Reproducibility:  Every Time
Planned Release:  None

Mon 04 Apr 2011 12:05:20 AM UTC, comment #4: 

Reading through backtrace I've noticed the cause:
#11 0x000000000041aab4 in grub_raid_scan_device (head_only=<value optimized out>) at /home/dave/src/grub2/grub2-1.97+svn1996/disk/raid.c:641
#12 0x000000000041c14d in grub_fini_all () at grub_setup_init.c:73

In other words a rescan happened after some subsystems were finalised. In particular lvm_fini was called after mdraid_fini. I've checked and it's no longer the case. Closing

Vladimir Serbinenko <phcoder>
Group administrator
Wed 18 Feb 2009 07:03:15 AM UTC, comment #3: 

I've attached that info for both my RAID arrays

(file #17472)

David Abrahams <bewst>
Tue 17 Feb 2009 09:48:08 PM UTC, comment #2: 

I'll tell you as soon as I recover bootability.  However, you should know that md0 (RAID1) has three devices while md1 (RAID6) has eight.  The array in question here sure appears to be md1, at least to me.  I think I got you a great deal of information in the debugger output there, if you comb through it.

David Abrahams <bewst>
Tue 17 Feb 2009 09:14:33 PM UTC, comment #1: 

what does `mdadm -Q --detail /dev/md0' say about your raid?

Felix Zielcke <fzielcke>
Group Member
Tue 17 Feb 2009 07:49:12 PM UTC, original submission:  

This is with my attempted port to ubuntu package; I haven't tried the raw source.

<pre>
Starting program: /usr/sbin/grub-setup --directory=/boot/grub --device-map=/boot/grub/device.map '(hd0)'

Program received signal SIGFPE, Arithmetic exception.
0x000000000040642c in grub_divmod64 (n=<value optimized out>, d=0, r=0x7fffeb27c8a0) at /home/dave/src/grub2/grub2-1.97+svn1996/kern/misc.c:609
(gdb) bt
#0  0x000000000040642c in grub_divmod64 (n=<value optimized out>, d=0, r=0x7fffeb27c8a0) at /home/dave/src/grub2/grub2-1.97+svn1996/kern/misc.c:609
#1  0x000000000041a28a in grub_raid_read (disk=<value optimized out>, sector=<value optimized out>, size=8, buf=0x26140a0 "`\005 \177") at /home/dave/src/grub2/grub2-1.97+svn1996/disk/raid.c:228
#2  0x0000000000405272 in grub_disk_read (disk=0x2550180, sector=30728448, offset=0, size=4096, buf=0x25fff60 "`\005 \177") at /home/dave/src/grub2/grub2-1.97+svn1996/kern/disk.c:418
#3  0x000000000041b1ea in grub_lvm_read (disk=<value optimized out>, sector=30728064, size=4096, buf=0x25fff60 "`\005 \177") at /home/dave/src/grub2/grub2-1.97+svn1996/disk/lvm.c:187
#4  0x0000000000405272 in grub_disk_read (disk=0x254f760, sector=30728064, offset=0, size=4096, buf=0x7fffeb27ca30 "") at /home/dave/src/grub2/grub2-1.97+svn1996/kern/disk.c:418
#5  0x000000000041ae8e in grub_mdraid_detect (disk=0x254f760, array=0x7fffeb27da50) at /home/dave/src/grub2/grub2-1.97+svn1996/disk/mdraid_linux.c:174
#6  0x000000000041abc3 in hook (name=<value optimized out>) at /home/dave/src/grub2/grub2-1.97+svn1996/disk/raid.c:618
#7  0x0000000000404e07 in iterate_disk (disk_name=0x3a9c2 <Address 0x3a9c2 out of bounds>) at /home/dave/src/grub2/grub2-1.97+svn1996/kern/device.c:90
#8  0x000000000041b045 in grub_lvm_iterate (hook=0x7fffeb27dc38) at /home/dave/src/grub2/grub2-1.97+svn1996/disk/lvm.c:53
#9  0x0000000000404f16 in grub_disk_dev_iterate (hook=0x7fffeb27dc38) at /home/dave/src/grub2/grub2-1.97+svn1996/kern/disk.c:209
#10 0x0000000000404c4d in grub_device_iterate (hook=<value optimized out>) at /home/dave/src/grub2/grub2-1.97+svn1996/kern/device.c:135
#11 0x000000000041aab4 in grub_raid_scan_device (head_only=<value optimized out>) at /home/dave/src/grub2/grub2-1.97+svn1996/disk/raid.c:641
#12 0x000000000041c14d in grub_fini_all () at grub_setup_init.c:73
#13 0x000000000040272f in main (argc=<value optimized out>, argv=0x7fffeb27ddf8) at /home/dave/src/grub2/grub2-1.97+svn1996/util/i386/pc/grub-setup.c:740
(gdb) p d
$1 = 0
#1  0x000000000041a28a in grub_raid_read (disk=<value optimized out>, sector=<value optimized out>, size=8, buf=0x26140a0 "`\005 \177") at /home/dave/src/grub2/grub2-1.97+svn1996/disk/raid.c:228
(gdb) p array->total_devs
$2 = 0
(gdb) p array
$3 = (struct grub_raid_array *) 0x254f460
(gdb) p *array
$4 = {number = 39125504, level = 0, layout = 39084544, total_devs = 0, chunk_size = 128, disk_size = 9767296, index = 4, uuid_len = 16, uuid = 0x2546100 "T\002", name = 0x254f5b0 "raid6-root", nr_devs = 8, device = {0x254fab0, 0x254fc70, 0x254fe30, 0x254ff20, 0x2546250, 0x2546180, 0x254f670, 0x254f760, 0x0 <repeats 24 times>}, next = 0x150}
#2  0x0000000000405272 in grub_disk_read (disk=0x2550180, sector=30728448, offset=0, size=4096, buf=0x25fff60 "`\005 \177") at /home/dave/src/grub2/grub2-1.97+svn1996/kern/disk.c:418
#1  0x000000000041a28a in grub_raid_read (disk=<value optimized out>, sector=<value optimized out>, size=8, buf=0x26140a0 "`\005 \177") at /home/dave/src/grub2/grub2-1.97+svn1996/disk/raid.c:228
(gdb)
</pre>

It's worth noting that this is a RAID6 array.  The code as I read it appears to think it's RAID0.

<pre>
sudo /usr/sbin/grub-setup -v --directory=/boot/grub --device-map=/boot/grub/device.map '(hd0)'
grub-setup: info: the size of hd0 is 976773168
grub-setup: info: the size of hd0 is 976773168
grub-setup: info: the size of hd0 is 976773168
grub-setup: info: the size of hd0 is 976773168
grub-setup: info: the size of hd1 is 976773168
grub-setup: info: the size of hd1 is 976773168
grub-setup: info: the size of hd1 is 976773168
grub-setup: info: the size of hd1 is 976773168
grub-setup: info: the size of hd2 is 976773168
grub-setup: info: the size of hd2 is 976773168
grub-setup: info: the size of hd2 is 976773168
grub-setup: info: the size of hd2 is 976773168
grub-setup: info: the size of hd3 is 976773168
grub-setup: info: the size of hd3 is 976773168
grub-setup: info: the size of hd3 is 976773168
grub-setup: info: the size of hd3 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd7 is 976773168
grub-setup: info: the size of hd7 is 976773168
grub-setup: info: the size of hd7 is 976773168
grub-setup: info: the size of hd7 is 976773168
grub-setup: info: the size of hd8 is 488397168
grub-setup: info: the size of hd8 is 488397168
grub-setup: info: the size of hd8 is 488397168
grub-setup: info: the size of hd0 is 976773168
grub-setup: info: the size of hd0 is 976773168
grub-setup: info: the size of hd0 is 976773168
grub-setup: info: the size of hd0 is 976773168
grub-setup: info: the size of hd1 is 976773168
grub-setup: info: the size of hd1 is 976773168
grub-setup: info: the size of hd1 is 976773168
grub-setup: info: the size of hd1 is 976773168
grub-setup: info: the size of hd2 is 976773168
grub-setup: info: the size of hd2 is 976773168
grub-setup: info: the size of hd2 is 976773168
grub-setup: info: the size of hd2 is 976773168
grub-setup: info: the size of hd3 is 976773168
grub-setup: info: the size of hd3 is 976773168
grub-setup: info: the size of hd3 is 976773168
grub-setup: info: the size of hd3 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd4 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd5 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd6 is 976773168
grub-setup: info: the size of hd7 is 976773168
grub-setup: info: the size of hd7 is 976773168
grub-setup: info: the size of hd7 is 976773168
grub-setup: info: the size of hd7 is 976773168
grub-setup: info: the size of hd8 is 488397168
grub-setup: info: the size of hd8 is 488397168
grub-setup: info: the size of hd8 is 488397168
grub-setup: info: changing current directory to /dev
grub-setup: info: changing current directory to snd
grub-setup: info: changing current directory to block
grub-setup: info: changing current directory to char
grub-setup: info: changing current directory to shm
grub-setup: info: changing current directory to pts
grub-setup: info: changing current directory to net
grub-setup: info: changing current directory to raid6
grub-setup: info: getting the size of /boot/grub/boot.img
grub-setup: info: reading /boot/grub/boot.img
grub-setup: info: getting the size of /boot/grub/boot.img
grub-setup: info: getting the size of /boot/grub/core.img
grub-setup: info: reading /boot/grub/core.img
grub-setup: info: getting the size of /boot/grub/core.img
grub-setup: info: the size of hd0 is 976773168
grub-setup: info: setting the root device to `md0'
grub-setup: info: dos partition is -2, bsd partition is -2
grub-setup: info: will embed the core image at sector 0x1
Floating point exception
</pre>


David Abrahams <bewst>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #17472:  md.log added by bewst (2KiB - text/x-log - output of mdadm -Q --detail for md0 and md1)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by phcoder (Posted a comment)
  • -email is unavailable- added by fzielcke (Posted a comment)
  • -email is unavailable- added by bewst (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2011-04-04 phcoder StatusNone Fixed
        Open/ClosedOpen Closed
        ReleaseNone Bazaar - trunk
    2009-02-18 bewst Attached File- Added md.log, #17472

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code