Re: [+rfc] Re: [patch v6 00/21] record-btrace: reverse

Jan Kratochvil
2013-12-11T19:57:36Z

On Fri, 29 Nov 2013 15:00:22 +0100, Metzger, Markus T wrote:
> Here I still have problems with multi-threaded inferiors. When I switch to
> a different thread and then "record goto", I get a "No more reverse-execution
> history" error followed by a "Record goto failed" error.
>
> I believe that "record goto" is resuming the wrong thread after I switch away
> from the eventing thread. Curiously, this does not seem to be a problem if
> I do not set tp->control.exception_resume_breapoint. This needs some
> more debugging.
>
>
> On a related topic, when we implement "record goto" via resume/wait, we will
> trigger breakpoints at the target location. This might or might not be desired.
> We do not trigger breakpoints on our way to the record goto target location.
> Again, this might or might not be desired.
>
> Record full's "record goto" command does not trigger breakpoints; neither at
> the target location nor on its way. In fact, record full does not implement
> "record goto" via resume/wait. Instead, it single-steps through its execution
> history in a simple do-while loop, similar to what I am doing in record btrace.

Execution of commands of a breakpoint at the target location is sure a bug,
I did not realize it. Thanks for finding it.

I was now looking how to suppress them but I do not think there is an easy
soltuion. So I think your previous code without resume+wait during goto was
better and the changes should be reverted.

It will hopefully also fix the multi-threading bug above I have not
investigated.

Could you do a hopefully final v8 post?

Thanks,
Jan