fallkrum added a comment. As far as I see the problem lies in Process::ProcessEventData::DoOnRemoval:
StopInfoSP stop_info_sp = thread_sp->GetStopInfo(); if (stop_info_sp && stop_info_sp->IsValid()) { does_anybody_have_an_opinion = true; bool this_thread_wants_to_stop; if (stop_info_sp->GetOverrideShouldStop()) { this_thread_wants_to_stop = stop_info_sp->GetOverriddenShouldStopValue(); } else { stop_info_sp->PerformAction(event_ptr); // The stop action might restart the target. If it does, then we // want to mark that in the event so that whoever is receiving it // will know to wait for the running event and reflect that state // appropriately. We also need to stop processing actions, since they // aren't expecting the target to be running. // FIXME: we might have run. if (stop_info_sp->HasTargetRunSinceMe()) { SetRestarted(true); break; } this_thread_wants_to_stop = stop_info_sp->ShouldStop(event_ptr); } if (!still_should_stop) still_should_stop = this_thread_wants_to_stop; } } As you can see we get StopInfo from all the the threads available even suspended (note that all thread's stop_info are valid at this moment due to GetPrivateStopInfo gets called prior to DoOnRemoval). As a result we have a situation when suspended thread's stop_info tells we should stop even when the thread that is a real reason of stop says we should not. Maybe you are right and the right place for the fix is inside Process::ProcessEventData::DoOnRemoval, something like this: if (stop_info_sp && stop_info_sp->IsValid() && thread_sp->ShouldStop()) { ..... } } But you know, I don't know if it possible to apply it, semantics of Thread::ShouldStop is Thread::ShouldStop(Event *) and it is unclear what kind of event to pass in. In any case, maybe I don't see the whole picture of what's going on yet but I don't see any reason to hold on stop_info of suspended thread. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80112/new/ https://reviews.llvm.org/D80112 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits