On Fri, 2008-02-08 at 15:52 +0100, Robert Millan wrote: > New patch to fix partmap detection in LVM/RAID. Changes in comparison to > previous patch:
(gdb) run -t partmap /boot/grub/ Starting program: /home/sam/grub/grub2/grub-probe -t partmap /boot/grub/ Program received signal SIGSEGV, Segmentation fault. 0x0806035a in grub_raid_scan_device (name=0x806b080 "hd3,2") at disk/raid.c:442 442 if (array->device[sb.this_disk.number]->name != 0) (gdb) print array $1 = (struct grub_raid_array *) 0x806f1f8 (gdb) print array->device $2 = {0x806b118, 0x0 <repeats 31 times>} (gdb) print sb.this_disk.number $3 = 1 (gdb) bt full #0 0x0806035a in grub_raid_scan_device (name=0x806b080 "hd3,2") at disk/raid.c:442 err = <value optimized out> disk = <value optimized out> size = 578415649617870848 sb = {md_magic = 2838187772, major_version = 0, minor_version = 90, patch_version = 3, gvalid_words = 0, set_uuid0 = 395026485, ctime = 1139358627, level = 1, size = 292519488, nr_disks = 2, raid_disks = 2, md_minor = 0, not_persistent = 0, set_uuid1 = 2852015029, set_uuid2 = 1808090526, set_uuid3 = 3461511789, gstate_creserved = { 0 <repeats 16 times>}, utime = 1202498002, state = 1, active_disks = 2, working_disks = 2, failed_disks = 0, spare_disks = 0, sb_csum = 1132908899, events_lo = 14301400, events_hi = 0, cp_events_lo = 14301400, cp_events_hi = 0, recovery_cp = 4294967295, gstate_sreserved = { 0 <repeats 20 times>}, layout = 0, chunk_size = 0, root_pv = 0, root_block = 0, pstate_reserved = {0 <repeats 60 times>}, disks = {{ number = 0, major = 3, minor = 66, raid_disk = 0, state = 6, reserved = { 0 <repeats 27 times>}}, {number = 1, major = 34, minor = 2, raid_disk = 1, state = 6, reserved = {0 <repeats 27 times>}}, { number = 0, major = 0, minor = 0, raid_disk = 0, state = 0, reserved = { 0 <repeats 27 times>}} <repeats 25 times>}, reserved = 0xbfb8175c, this_disk = {number = 1, major = 34, minor = 2, raid_disk = 1, state = 6, reserved = {0 <repeats 27 times>}}} p = (struct grub_raid_array *) 0x806f1f8 array = (struct grub_raid_array *) 0x806f1f8 #1 0x0804b69e in iterate_partition (disk=0x806b008, partition=0xbfb81b94) at kern/device.c:132 partition_name = 0x806f378 "\001" ret = 1 hook = (int (*)(const char *)) 0x80601c0 <grub_raid_scan_device> #2 0x0805cd0c in pc_partition_map_iterate (disk=0x806b008, hook=0xbfb81c9e) at partmap/pc.c:153 i = <value optimized out> e = (struct grub_pc_partition_entry *) 0xbfb81a2a p = {start = 1060290, len = 585039105, offset = 0, index = 1, data = 0xbfb81bb8, partmap = 0x8063a1c} pcdata = {dos_part = 1, bsd_part = -1, dos_type = 253, bsd_type = -1, ext_offset = 0} mbr = { code = "��\000\020\216м\000��\000\000\216�\216���\000|�\000\006�\000\002���!\006\000\000��\a8\004u\v\203�\020\201��\au��\026�\002�\001�\000|�\200\212t\001\213L\002�\023�\000|\000\000��", '\0' <repeats 365 times>, "\204�\002\000\000", entries = {{flag = 0 '\0', start_head = 1 '\001', start_sector = 1 '\001', start_cylinder = 0 '\0', type = 130 '\202', end_head = 254 '�', end_sector = 63 '?', end_cylinder = 65 'A', start = 63, length = 1060227}, {flag = 0 '\0', start_head = 0 '\0', start_sector = 1 '\001', start_cylinder = 66 'B', type = 253 ' end_head = 254 '�', end_sector = 255 '�', end_cylinder = 255 '�', start = 1060290, length = 585039105}, {flag = 0 '\0', start_head = 0 '\0', start_sector = 0 '\0', start_cylinder = 0 '\0', type = 0 '\0', end_head = 0 '\0', end_sector = 0 '\0', end_cylinder = 0 '\0', start = 0, length = 0}, {flag = 0 '\0', start_head = 0 '\0', start_sector = 0 '\0', start_cylinder = 0 '\0', type = 0 '\0', end_head = 0 '\0', end_sector = 0 '\0', end_cylinder = 0 '\0', start = 0, length = 0}}, signature = 43605} label = {magic = 0, padding = '\0' <repeats 127 times>, magic2 = 0, checksum = 0, num_partitions = 0, boot_size = 0, superblock_size = 0, entries = {{size = 0, offset = 0, fragment_size = 0, fs_type = 0 '\0', fs_fragments = 0 '\0', fs_cylinders = 0}, {size = 0, offset = 0, fragment_size = 0, fs_type = 0 '\0', fs_fragments = 0 '\0', fs_cylinders = 0}, {size = 0, offset = 0, fragment_size = 0, fs_type = 0 '\0', fs_fragments = 0 '\0', fs_cylinders = 0}, { size = 134656064, offset = 134625056, fragment_size = 3216513864, fs_type = 255 '�', fs_fragments = 225 '�', fs_cylinders = 2053}, { size = 128, offset = 131, fragment_size = 0, fs_type = 0 '\0', fs_fragments = 0 '\0', fs_cylinders = 0}, {size = 134625820, offset = 3216514036, fragment_size = 3216513880, fs_type = 158 '\236', fs_fragments = 227 '�', fs_cylinders = 2053}, {size = 0, offset = 0, fragment_size = 3216513928, fs_type = 131 '\203', fs_fragments = 220 '�', fs_cylinders = 2052}, {size = 134615777, offset = 134625820, fragment_size = 0, fs_type = 255 '�', fs_fragments = 255 '�', fs_cylinders = 65535}}} raw = {name = 0x806b040 "hd3", dev = 0x8063720, total_sectors = 586114704, has_partitions = 128, id = 131, partition = 0x0, read_hook = 0, data = 0x0} #3 0x0804e1bf in grub_partition_iterate (hook=0xbfb81c9e) at kern/partition.c:126 ret = <value optimized out> partmap = (grub_partition_map_t) 0x8063a1c disk = (struct grub_disk *) 0x806b008 #4 0x0804b812 in iterate_disk (disk_name=0xbfb81c42 "hd3") at kern/device.c:101 dev = (grub_device_t) 0x806b030 hook = (int (*)(const char *)) 0x80601c0 <grub_raid_scan_device> #5 0x08049810 in grub_util_biosdisk_iterate (hook=0xbfb81c94) at util/biosdisk.c:131 i = 131 #6 0x0804b914 in grub_disk_dev_iterate (hook=0xbfb81c94) at kern/disk.c:205 p = (grub_disk_dev_t) 0x8063720 #7 0x0804b614 in grub_device_iterate (hook=0x80601c0 <grub_raid_scan_device>) at kern/device.c:138 No locals. #8 0x0805f9e2 in grub_mod_init (mod=0x0) at disk/raid.c:563 No locals. #9 0x0805fa02 in grub_raid_init () at disk/raid.c:561 No locals. #10 0x0804927c in main (argc=Cannot access memory at address 0xa9fe4bb5 ) at util/grub-probe.c:338 c = <value optimized out> dev_map = 0x0 path = 0xbfb83bd7 "/boot/grub/" I'll debug this further later if you don't know why it happened. -- Sam Morris http://robots.org.uk/ PGP key id 1024D/5EA01078 3412 EA18 1277 354B 991B C869 B219 7FDB 5EA0 1078
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel