[Lldb-commits] [PATCH] D33283: RunThreadPlan: Fix halting logic in IgnoreBreakpoints = false

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed May 17 08:21:05 PDT 2017


labath created this revision.

The function had logic to handle the case when the expression terminated
while we were trying to halt the process, but it failed to take into
account the possibility that the expression stopped because it hit a
breakpoint. This was caused by the fact that the handling of the stopped
events was duplicated for the "halting" and regular cases (the regular
case handled this situation correctly). I've tried to merge these two
cases into one to make sure they stay in sync.

I should call out that the two cases were checking whether the thread
plan has completed in slightly different ways. I am not sure what is the
difference between them, but I think the check should be the same in
both cases, whatever it is, so I just took the one from the regular
case, as that is probably more tested.

For the test, I modified TestUnwindExpression to run the expression with
a smaller timeout (this is how I found this bug originally). With a 1ms
one thread timeout, the test failed consistently without this patch.


https://reviews.llvm.org/D33283

Files:
  packages/Python/lldbsuite/test/expression_command/unwind_expression/TestUnwindExpression.py
  source/Target/Process.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33283.99308.patch
Type: text/x-patch
Size: 8544 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20170517/d671459b/attachment-0001.bin>


More information about the lldb-commits mailing list