summaryrefslogtreecommitdiff
path: root/lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
AgeCommit message (Collapse)Author
2025-04-11Reland "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear ↵Felipe de Azevedo Piovezan
(#134397)" (#135296) This reapplies commit https://github.com/llvm/llvm-project/commit/232525f06942adb3b9977632e38dcd5f08c0642d. The original commit triggered a sanitizer failure when `Target` was destroyed. In `Target::Destroy`, `DeleteCurrentProcess` was called, but it did not destroy the thread creation breakpoints for the underlying `ProcessGDBRemote` because `ProcessGDBRemote::Clear` was not called in that path. `Target `then proceeded to destroy its breakpoints, which resulted in a call to the destructor of a `std::vector` containing the breakpoints. Through a sequence of complicated events, destroying breakpoints caused the reference count of the underlying `ProcessGDBRemote` to finally reach zero. This, in turn, called `ProcessGDBRemote::Clear`, which attempted to destroy the breakpoints. To do that, it would go back into the Target's vector of breakpoints, which we are in the middle of destroying. We solve this by moving the breakpoint deletion into `Process:DoDestroy`, which is a virtual Process method that will be called much earlier.
2025-04-08Revert "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear ↵Jason Molenda
(#134397)" This reverts commit 232525f06942adb3b9977632e38dcd5f08c0642d. This change is causing test crashes while running TestCompletion.py on Darwin systems, most of the CI runs have failed since it has been merged in.
2025-04-04[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)Felipe de Azevedo Piovezan
Currently, these breakpoints are being accumulated every time a new process if created (e.g. through a `run`). Depending on the circumstances, the old breakpoints are even left enabled, interfering with subsequent processes. This is addressed by removing the breakpoints in ProcessGDBRemote::Clear Note that these breakpoints are more of a PlatformDarwin thing, so in the future we should look into moving them there.
2025-02-20[lldb] Update PlatformDarwin list of libraries with thread functions (#127922)Felipe de Azevedo Piovezan
Recent versions of the system changed where these functions live.