gdb/infrun.c:2674: internal-error: insert_step_resume_breakpoint: Assertion

Andrew Cagney cagney@gnu.org
Thu Jul 15 20:04:00 GMT 2004


Something here doesn't add up:

> /home/olaf/gdb-head/src/gdb/infrun.c:2674: internal-error: insert_step_resume_breakpoint: Assertion `frame_id_eq (step_frame_id, get_frame_id (step_frame))' failed.
> A problem internal to GDB has been detected,

   2674    gdb_assert (frame_id_eq (step_frame_id, get_frame_id 
(step_frame)));

> #5  0x100ea3f0 in insert_step_resume_breakpoint (step_frame=0x104556c8, ecs=0x5752)
>     at /home/olaf/gdb-head/src/gdb/infrun.c:2679

   2679    gdb_assert (step_range_start == step_range_end
   2680                || (get_frame_pc (step_frame) >= step_range_start
   2681                    && get_frame_pc (step_frame) <= step_range_end));

> #6  0x100eb930 in handle_inferior_event (ecs=0xffffd240) at /home/olaf/gdb-head/src/gdb/infrun.c:1984

   1970        if (step_range_end != 0
   1971            && stop_signal != TARGET_SIGNAL_0
   1972            && stop_pc >= step_range_start && stop_pc < 
step_range_end
   1973            && frame_id_eq (get_frame_id (get_current_frame ()), 
step_frame_id))
   1974          {
   1975            /* The inferior is about to take a signal that will 
take it
   1976               out of the single step range.  Set a breakpoint at the
   1977               current PC (which is presumably where the signal 
handler
   1978               will eventually return) and then allow the inferior to
   1979               run free.
   1980
   1981               Note that this is only needed for a signal delivered
   1982               while in the single-step range.  Nested signals 
aren't a
   1983               problem as they eventually all return.  */
   1984            insert_step_resume_breakpoint (get_current_frame (), 
ecs);
   1985          }

If we trust the internal-error message, it appears that the call could 
only have been made if the failing assertion was true :-(

Andrew




More information about the Gdb mailing list