This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
Re: backtrace/2353: Crash requesting high "info frame" value:../../gdb/dwarf2-frame.c:816: internal-error: dwarf2_frame_cache: Assertion`fde != NULL' failed.
- From: Richard Stuckey <richard dot stuckey at arc dot com>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 24 Sep 2008 10:38:01 -0000
- Subject: Re: backtrace/2353: Crash requesting high "info frame" value:../../gdb/dwarf2-frame.c:816: internal-error: dwarf2_frame_cache: Assertion`fde != NULL' failed.
- Reply-to: Richard Stuckey <richard dot stuckey at arc dot com>
The following reply was made to PR backtrace/2353; it has been noted by GNATS.
From: Richard Stuckey <richard.stuckey@arc.com>
To: gdb-gnats@sources.redhat.com, nobody@sources.redhat.com,
ajvincent@gmail.com, gdb-prs@sources.redhat.com
Cc:
Subject: Re: backtrace/2353: Crash requesting high "info frame" value:
../../gdb/dwarf2-frame.c:816: internal-error: dwarf2_frame_cache: Assertion
`fde != NULL' failed.
Date: Wed, 24 Sep 2008 11:36:43 +0100
http://sourceware.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gdb&pr=2353
I have come across this problem myself, in the 6.6 and 6.8 releases.
A possible fix is to add the code:
CORE_ADDR pc;
...
pc = get_frame_pc (fi);
if (pc == 0)
{
warning("invalid frame");
return;
}
to the function frame_info in file stack.c after the call to parse_frame_specification_1
(and 'pc' can then be used in the call to find_pc_symtab a few lines later).
This fixes the problem in the ARC gdb port; however, it assumes that 0 is an invalid value for PC,
which is not necessarily true for all ports, so it may not be the "general case" fix.
Regards,
Richard Stuckey