Author: jingham Date: Tue Jul 28 19:40:36 2015 New Revision: 243507 URL: http://llvm.org/viewvc/llvm-project?rev=243507&view=rev Log: Lock the owners mutex in the BreakpointSite before updating the hit counts. If you delete a breakpoint belonging to a site just as you are processing a hit on that site, you could cause the BreakpointSite loop to access a now deleted location.
<rdar://problem/19310323> Modified: lldb/trunk/source/Breakpoint/BreakpointSite.cpp Modified: lldb/trunk/source/Breakpoint/BreakpointSite.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Breakpoint/BreakpointSite.cpp?rev=243507&r1=243506&r2=243507&view=diff ============================================================================== --- lldb/trunk/source/Breakpoint/BreakpointSite.cpp (original) +++ lldb/trunk/source/Breakpoint/BreakpointSite.cpp Tue Jul 28 19:40:36 2015 @@ -205,6 +205,7 @@ BreakpointSite::ValidForThisThread (Thre void BreakpointSite::BumpHitCounts() { + Mutex::Locker locker(m_owners_mutex); for (BreakpointLocationSP loc_sp : m_owners.BreakpointLocations()) { loc_sp->BumpHitCount(); _______________________________________________ lldb-commits mailing list lldb-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits