[PATCH] Fix tracepoint tstart again get gdb_assert

Yao Qi yao@codesourcery.com
Fri Dec 9 12:57:00 GMT 2011


On 12/08/2011 11:40 AM, Hui Zhu wrote:
> Hi guys,
> 
> I am sorry that I didn't talk clear about the issue of tstatus.
> When we use tstatus, it can auto set the tracepoint back to stop when
> it full or got error.  Then user can use tstart without tstop that set
>  loc->inserted.  So we will still meet that issue if we just set
> loc->inserted in tstop.
> 
> For examp:
> This gdb is just set  loc->inserted in tstop but not tstatus.
> (gdb) tstart
> (gdb) tstop
> (gdb) tstart
> (gdb) tstop
> (gdb) tstart
> xxx
> xxx
> (gdb) tstatus
> Trace stopped because the buffer was full.
> Buffer contains 0 trace frames (of 49072 created total).
> Trace buffer has 908408 bytes of 10414080 bytes free (91% full).
> Trace will stop if GDB disconnects.
> Not looking at any trace frame.
> (gdb) tstart
> ../../src/gdb/tracepoint.c:1770: internal-error: start_tracing:
> Assertion `!loc->inserted' failed.
> A problem internal to GDB has been detected,
> further debugging may prove unreliable.
> Quit this debugging session? (y or n) n
> 
> ../../src/gdb/tracepoint.c:1770: internal-error: start_tracing:
> Assertion `!loc->inserted' failed.
> A problem internal to GDB has been detected,
> further debugging may prove unreliable.
> Create a core file of GDB? (y or n) n
> 

This is the 2nd version of my patch.  Compared with 1st version (sent
four hours ago), this version covers more cases.  In this patch, a new
observer `trace_stopped' is added.  In stop_tracing and
target_get_trace_status, observer `trace_stopped' is notified, and then,
`inserted' flag is cleared.  This looks more clear than version 1.

Tested again on x86_64-linux.  No regression.

-- 
Yao (齐尧)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-clear-inserted-in-stop_tracing.patch
Type: text/x-patch
Size: 3828 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20111209/8ce38b13/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-status-stop.patch
Type: text/x-patch
Size: 5501 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20111209/8ce38b13/attachment-0001.bin>


More information about the Gdb-patches mailing list