<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">all ReportRegisterState does is pretty print its register context</span></blockquote><div><br></div><div>If I invalidate the registers (specifically up to 67) after reading them then the problem goes away. If I understand correctly, the registers should be invalidated after every new process_stop_id right? I find it strange that the StopInfoThreadPlan would be handled in a different process_stop_id than the one in which the ThreadPlanCallFunction is popped. </div><div><br></div><div>The comments on StopInfo::ShouldStop says:</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">The ShouldStop method should not do anything that might run code.</blockquote><div><br></div><div>Could this have anything to do with it? I tried caching the ShouldStop value in PerformAction, but the problem still happens.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">And anyway, this code only does anything at all if the Expression log is on and in verbose mode.  Did you have that log on?<br></blockquote><div><br></div><div>Yeah, the error only happens with logging on. </div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 26, 2015 at 3:06 PM, Jim Ingham <span dir="ltr"><<a href="mailto:jingham@apple.com" target="_blank">jingham@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I don't understand how calling ReportRegisterState when the takedown had already been done could cause the error you report - though without more details about what you are doing it's hard to say for sure.<br>
<br>
After all, within ShouldStop the m_thread in the ThreadPlan must still be valid, and all ReportRegisterState does is pretty print its register context.  That also should still be good, if it  is not, something is wrong at a deeper level.<br>
<br>
And anyway, this code only does anything at all if the Expression log is on and in verbose mode.  Did you have that log on?<br>
<br>
I don't have a strong objection to this change, after all this is just a log output.  OTOH I worry that it is just papering over some real problem, so it would be better to figure out what that is.<br>
<br>
<br>
<a href="http://reviews.llvm.org/D8643" target="_blank">http://reviews.llvm.org/D8643</a><br>
<br>
EMAIL PREFERENCES<br>
  <a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank">http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
<br>
<br>
</blockquote></div><br></div></div>