Bug#478401: Segment fault on grub-probe
Robert Millan
rmh at aybabtu.com
Wed May 7 14:33:08 UTC 2008
On Tue, May 06, 2008 at 11:02:20PM -0430, Isaac M. Marcos wrote:
> > >
> > > Program received signal SIGSEGV, Segmentation fault.
> > > 0x0000000000421b7c in grub_lvm_scan_device (name=0x638210 "hd1,5") at
> > > /home/immf/grub2-1.96+20080429/disk/lvm.c:305 305 while (*q != ' ')
> >
> > Please try:
> >
> > print q
> > print metadatabuf
> > print rlocn->offset
>
> (gdb) run -t device /
> Starting program: /usr/sbin/grub-probe -t device /
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000421b7c in grub_lvm_scan_device (name=0x638210 "hd1,5")
> at /home/immf/grub2-1.96+20080429/disk/lvm.c:305
> 305 while (*q != ' ')
> (gdb) print q
> $1 = 0x78b000 <Address 0x78b000 out of bounds>
> (gdb) print metadatabuf
> $2 = 0x73ba00 "�N\203\220 LVM2 x[5A%r0N*>\001" # the ? symbol is a 0x00
> (gdb) print rlocn->offset
> $3 = 92672
Looks like rlocn->offset is messed up. Maybe it's mdah->raw_locns fault,
or maybe on its own ground.
In either case, I'm not sure what we're supposed to do about it. Appliing
an heuristic to rlocn->offset isn't good...
Please could you bring this to upstream (grub-devel at gnu.org)? Maybe someone
with a better understanding of this code can help.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call… if you are unable to speak?
(as seen on /.)
More information about the Pkg-grub-devel
mailing list