This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/18810] New: internal error in inline_frame_this_id


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]