This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug mi/16647] New: SIGSEGV in mi_cmd_trace_frame_collected
- From: "dtaylor at emc dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Fri, 28 Feb 2014 20:52:29 +0000
- Subject: [Bug mi/16647] New: SIGSEGV in mi_cmd_trace_frame_collected
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=16647
Bug ID: 16647
Summary: SIGSEGV in mi_cmd_trace_frame_collected
Product: gdb
Version: 7.7
Status: NEW
Severity: normal
Priority: P2
Component: mi
Assignee: unassigned at sourceware dot org
Reporter: dtaylor at emc dot com
Under the following scenario I get a SIGSEGV in the function
mi_cmd_trace_frame_collected.
. connect to a remote target
. define a tracepoint
. at the tracepoint I collected $args and a global variable.
. tstart
. arrange for the tracepoint to be hit multiple times
. tstop
. tstatus -- verify that there are traceframes
. tfind 0 -- focus on the first fraceframe
. interpretetrr-exec mi -trace-frame-collected
At this point GDB will get a SIGSEGV in mi_cmd_trace_frame_collected.
In GDB 7.7, it's at line 2844, which is the line:
for (i = 0; VEC_iterate (int, tinfo->tvars, i, tvar); i++)
Investigating, i is 0 and tinfo is NULL.
Looking back in the file, tinfo is assigned at line 2774:
tinfo = get_traceframe_info ();
target_traceframe_info is called. It is allowed to return NULL, and appraently
it DOES return NULL. The function mi_cmd_trace_frame_collected does not check
for NULL, leading to the SIGSEGV.
--
You are receiving this mail because:
You are on the CC list for the bug.