[lldb-dev] [Bug 36711] New: TestMultipleSimultaneousDebuggers fails non-deterministically

via lldb-dev lldb-dev at lists.llvm.org
Tue Mar 13 15:52:00 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=36711

            Bug ID: 36711
           Summary: TestMultipleSimultaneousDebuggers fails
                    non-deterministically
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev at lists.llvm.org
          Reporter: vsk at apple.com
                CC: llvm-bugs at lists.llvm.org

Jim Ingham encountered the following crash while running this test:

(lldb) bt
* thread #17, name = '<lldb.process.internal-state(pid=62723)>', stop reason =
EXC_BAD_ACCESS (code=1, address=0xeb02)
  * frame #0: 0x0000000108432270
LLDB`lldb_private::ConstString::operator==(lldb_private::ConstString const&)
const at ConstString.h:175
    frame #1: 0x00000001073df6f0
LLDB`lldb_private::SectionList::FindSectionByName(lldb_private::ConstString
const&) const at Section.cpp:394
    frame #2: 0x00000001073df8e0
LLDB`lldb_private::SectionList::FindSectionByName(lldb_private::ConstString
const&) const at Section.cpp:398
    frame #3: 0x000000010773d2c3
LLDB`lldb_private::DynamicLoaderDarwin::UpdateImageLoadAddress(lldb_private::Module*,
lldb_private::DynamicLoaderDarwin::ImageInfo&) at DynamicLoaderDarwin.cpp:242
    frame #4: 0x00000001077444fe
LLDB`lldb_private::DynamicLoaderDarwin::AddModulesUsingImageInfos(std::__1::vector<lldb_private::DynamicLoaderDarwin::ImageInfo,
std::__1::allocator<lldb_private::DynamicLoaderDarwin::ImageInfo> >&) at
DynamicLoaderDarwin.cpp:677
    frame #5: 0x00000001077a4b19
LLDB`DynamicLoaderMacOSXDYLD::AddModulesUsingImageInfosAddress(unsigned long
long, unsigned int) at DynamicLoaderMacOSXDYLD.cpp:574
    frame #6: 0x00000001077a33f8
LLDB`DynamicLoaderMacOSXDYLD::InitializeFromAllImageInfos() at
DynamicLoaderMacOSXDYLD.cpp:742
    frame #7: 0x00000001077a3b1b
LLDB`DynamicLoaderMacOSXDYLD::NotifyBreakpointHit(void*,
lldb_private::StoppointCallbackContext*, unsigned long long, unsigned long
long) at DynamicLoaderMacOSXDYLD.cpp:352
    frame #8: 0x000000010701ce69
LLDB`lldb_private::BreakpointOptions::InvokeCallback(lldb_private::StoppointCallbackContext*,
unsigned long long, unsigned long long) at BreakpointOptions.cpp:372
    frame #9: 0x0000000106fc68c4
LLDB`lldb_private::Breakpoint::InvokeCallback(lldb_private::StoppointCallbackContext*,
int) at Breakpoint.cpp:444
    frame #10: 0x0000000107005720
LLDB`lldb_private::BreakpointLocation::InvokeCallback(lldb_private::StoppointCallbackContext*)
at BreakpointLocation.cpp:167
    frame #11: 0x00000001070071d6
LLDB`lldb_private::BreakpointLocation::ShouldStop(lldb_private::StoppointCallbackContext*)
at BreakpointLocation.cpp:382
    frame #12: 0x000000010700b588
LLDB`lldb_private::BreakpointLocationCollection::ShouldStop(lldb_private::StoppointCallbackContext*)
at BreakpointLocationCollection.cpp:136
    frame #13: 0x000000010704615b
LLDB`lldb_private::BreakpointSite::ShouldStop(lldb_private::StoppointCallbackContext*)
at BreakpointSite.cpp:58
    frame #14: 0x0000000107dc974d
LLDB`lldb_private::StopInfoBreakpoint::ShouldStopSynchronous(lldb_private::Event*)
at StopInfo.cpp:155
    frame #15: 0x0000000107e3ee5c
LLDB`lldb_private::Thread::ShouldStop(lldb_private::Event*) at Thread.cpp:772
    frame #16: 0x0000000107e5a036
LLDB`lldb_private::ThreadList::ShouldStop(lldb_private::Event*) at
ThreadList.cpp:329
    frame #17: 0x0000000107d4d59f
LLDB`lldb_private::Process::ShouldBroadcastEvent(lldb_private::Event*) at
Process.cpp:3810
    frame #18: 0x0000000107d4532b
LLDB`lldb_private::Process::HandlePrivateEvent(std::__1::shared_ptr<lldb_private::Event>&)
at Process.cpp:4037
    frame #19: 0x0000000107d4eda7
LLDB`lldb_private::Process::RunPrivateStateThread(bool) at Process.cpp:4236
    frame #20: 0x0000000107d4da04
LLDB`lldb_private::Process::PrivateStateThread(void*) at Process.cpp:4129
    frame #21: 0x0000000107c9fd44
LLDB`lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*) at
HostNativeThreadBase.cpp:65
    frame #22: 0x0000000107f6f4c0
LLDB`lldb_private::HostThreadMacOSX::ThreadCreateTrampoline(void*) at
HostThreadMacOSX.mm:69
    frame #23: 0x00007fff9b9c7aab libsystem_pthread.dylib`_pthread_body
    frame #24: 0x00007fff9b9c79f7 libsystem_pthread.dylib`_pthread_start
    frame #25: 0x00007fff9b9c71fd libsystem_pthread.dylib`thread_start

According to Jim's analysis, it's possible that this is due to a race condition
in handling shared library loading.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20180313/50aa6c5c/attachment.html>


More information about the lldb-dev mailing list