This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/18810] New: internal error in inline_frame_this_id
- From: "sandra at codesourcery dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Wed, 12 Aug 2015 03:10:07 +0000
- Subject: [Bug gdb/18810] New: internal error in inline_frame_this_id
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=18810
Bug ID: 18810
Summary: internal error in inline_frame_this_id
Product: gdb
Version: unknown
Status: NEW
Severity: normal
Priority: P2
Component: gdb
Assignee: unassigned at sourceware dot org
Reporter: sandra at codesourcery dot com
Target Milestone: ---
We have a debug stub that speaks RSP that we use on various bare-metal targets.
To start running a program from GDB, we typically use a sequence of commands
like:
file a.out
target remote ...
load
continue
But, sometimes the "target remote" command gives an error:
/path/to/gdb/inline-frame.c:168: internal-error: inline_frame_this_id:
Assertion `frame_id_p (*this_id)' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
What's happening here is that GDB is trying to interpret the target state
reported by the stub in response to the '?' request, in order to print
something about the current stack frame. But, the stub is reporting whatever
the target was doing when the connection was made, and GDB is interpreting the
reported PC and stack contents against a program that hasn't been loaded or
started to execute yet, and getting quite confused.
Looking at the code for inline_frame_this_id, I think all the assertions it
contains are incorrect. I think the corresponding sniffer ought to be testing
all those situations up front and rejecting the unwinder as not applicable. If
that isn't possible, maybe something can catch the error and print some
user-friendly message about a mismatch between the program file and target
state?
--
You are receiving this mail because:
You are on the CC list for the bug.