Re: Dwarf2-related Internal error

Elena Zannoni
2003-08-14T12:41:31Z

Michal Ludvig writes:
> Hi Daniel, Elena and others,
> this problem is still present in recent HEAD - could anyone who knows
> the internals of symbols handling and .debug_info please help me with
> fixing it, please? I tried to debug it myself but got quickly lost in
> all those symbols<->types<->other_types references and couldn't find
> where the problem originates.
>
> Also pointing out the right direction where to look for the bug would
> help me a lot :-)
>
> BTW I also filled a PR with a very nice number 1333 for this issue.
>
> Thanks in advance!
>
> Michal Ludvig

I don't have much time to devote to this, but usually that kind of
error is generated by some infinite loop that gdb got itself into.
Does the same happen for 386? Maybe comparing the two would help. If
the problem is in generic code you should see the error there too. If
not, step the two side by side and see if the x86-64 does something
weird.

elena

>
> Michal Ludvig told me that:
> > Hi all,
> > I have problems debugging the attached code (real.f) on AMD64 platform.
> > However the problem doesn't seem to be AMD64-related, but Dwarf2-related
> > instead and it only happens if it is compiled by the PGI fortran
> > compiler (beta is available for free download at www.pgroup.com/AMD64).
> >
> > Debugging the 'real' binary on AMD64/Linux systems leads to GDB internal
> > error:
> >
> > $ ../gdb real
> > GNU gdb 2003-07-08-cvs
> > Copyright 2003 Free Software Foundation, Inc.
> > [...]
> > This GDB was configured as "x86_64-unknown-linux-gnu"...
> > (gdb) b hurdgy
> > Breakpoint 1 at 0x4000113c: file real.f, line 8.
> > (gdb) r
> > Starting program: /tmp/gdbbuild/gdb/fortran/real
> >
> > Breakpoint 1, hurdgy (xx=
> > /ttt/64/gdb-head/gdb/utils.c:1058: internal-error: virtual memory
> > exhausted: can't allocate 4294967404 bytes.
> > A problem internal to GDB has been detected,
> > further debugging may prove unreliable.
> > Quit this debugging session? (y or n) y
> >
> > /ttt/64/gdb-head/gdb/utils.c:1058: internal-error: virtual memory
> > exhausted: can't allocate 4294967404 bytes.
> > A problem internal to GDB has been detected,
> > further debugging may prove unreliable.
> > Create a core file of GDB? (y or n) n
> > $
> >
> > Something is wrong in parsing the Dwarf2 .debug_info section -
> > unfortunately I don't understand the GDB internals in this field.
> > Could someone help me with it, please?
> >
> > All relevant files (source, asm, binaries, cores) are available at:
> > http://tmp.logix.cz/amd/fortran/
> >
> > Thanks in advance for any help!
> >
> > Michal Ludvig
> >
> >
> > ------------------------------------------------------------------------
> >
> > real flat(10)
> > call hurdgy(flat, 10)
> >
> > end
> >
> > subroutine hurdgy(xx,i)
> > integer i
> > real xx(i)
> > end