This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: gdb/infrun.c:2674: internal-error: insert_step_resume_breakpoint:Assertion
- From: Andrew Cagney <cagney at gnu dot org>
- To: Olaf Hering <olh at suse dot de>
- Cc: gdb at sources dot redhat dot com
- Date: Thu, 15 Jul 2004 15:50:46 -0400
- Subject: Re: gdb/infrun.c:2674: internal-error: insert_step_resume_breakpoint:Assertion
- References: <20040707090059.GA30870@suse.de>
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