internal-error: insert_step_resume_breakpoint_at_sal

Andrew Cagney cagney@gnu.org
Wed Jan 26 21:39:00 GMT 2005


Nick Roberts wrote:
>  > > However, I don't know how to get a backtrace as sending SIGINT (actually
>  > > SIGSTOP with Emacs) interrupts the bottom level process (Emacs in this
>  > > case). I can then interrupt the GDB being debugged, but presumably by then
>  > > things have changed.
>  > 
>  > You can attach to gdb - $ gdb gdb <pid> - and then get a backtrace that way.
> 
> Ah, yes! It just tells me GDB is waiting. Perhaps that was obvious but I had
> hoped it would be looping as that would have been a problem that I could have
> debugged.
> 
> #0  0x4012e7e9 in wait4 () from /lib/libc.so.6
> #1  0x4012e787 in waitpid () from /lib/libc.so.6
> #2  0x0809b2e2 in child_wait (ptid={pid = -1, lwp = 0, tid = 0}, 
>     ourstatus=0xbffff1d0) at linux-nat.c:1689
> During symbol reading, incomplete CFI data; unspecified registers (e.g., eax) at 0x809b2fd.
> #3  0x080f98ea in wait_for_inferior () at infrun.c:973
> 
> 
>  > Anyway, same as before, lets look at a transcript (see the script 
>  > command) with "set debug infrun 1" (and perhaphs also "set debug target 
>  > 1" - that one is really verbose).
> 
> Its attached below. GDB isn't hanging as it spews out more output from infrun
> if I move the mouse around in Emacs. Its just not letting Emacs reach the next
> statement.

This sounds like something was dropped on the floor :-(

Looking at the logs, it appears that GDB is continuously receiving and 
then delivering signals (resume step=0, signal=20) and never getting an 
oportunity to do a step :-(

We're going to need more info, try

$ script -c gdb
(gdb) file ...
(gdb) set debug target 1
(gdb) set debug infrun 1
(gdb) run
..
.
(gdb) step

..
(gdb) quit

it will create a transcript file that interleaves the log output and the 
commands you've typed (and it will be big!).

Andrew



More information about the Gdb mailing list