[lldb-dev] [Bug 16301] New: LLDB dies with SIGABRT in TestRegisters.py on Linux

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jun 11 16:51:43 PDT 2013


http://llvm.org/bugs/show_bug.cgi?id=16301

            Bug ID: 16301
           Summary: LLDB dies with SIGABRT in TestRegisters.py on Linux
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev at cs.uiuc.edu
          Reporter: daniel.malea at intel.com
    Classification: Unclassified

This failure manifests itself on the Jenkins buildbot as well as the clang
buildbot, and seems to be related to the inferior changing while LLDB is
tearing down the ProcessPOSIX.

After running repeatedly under a debugger, I was able to generate the following
stacktraces at the point of the SIGABRT:

#0  0x00007ffff6f1a425 in __GI_raise (sig=<optimized out>) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff6f1db8b in __GI_abort () at abort.c:91
#2  0x00007ffff258cb99 in std::__throw_bad_weak_ptr () at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:77
#3  0x00007ffff258cb3c in
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_lock
(this=0x113e6d0)
    at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:243
#4  0x00007ffff258cafb in std::__shared_count<2>::__shared_count
(this=0x7fffce7fbae0, __r=...)
    at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:731
#5  0x00007ffff258caad in std::__shared_count<2>::__shared_count
(this=0x7fffce7fbae0, __r=...)
    at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:734
#6  0x00007ffff25917d4 in std::__shared_ptr<lldb_private::Process,
(__gnu_cxx::_Lock_policy)2>::__shared_ptr<lldb_private::Process>
(this=0x7fffce7fbad8, __r=...)
    at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:840
#7  0x00007ffff2591798 in
std::shared_ptr<lldb_private::Process>::shared_ptr<lldb_private::Process>
(this=0x7fffce7fbad8, __r=...)
    at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr.h:249
#8  0x00007ffff259175d in
std::shared_ptr<lldb_private::Process>::shared_ptr<lldb_private::Process>
(this=0x7fffce7fbad8, __r=...)
    at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr.h:249
#9  0x00007ffff2590e0c in
std::enable_shared_from_this<lldb_private::Process>::shared_from_this
(this=0x44e6548)
    at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr.h:558
#10 0x00007ffff28ca041 in lldb_private::Process::SetPrivateState
(this=0x44e6530, new_state=lldb::eStateStopped) at
../tools/lldb/source/Target/Process.cpp:1749
#11 0x00007ffff2a7ef1c in ProcessPOSIX::SendMessage (this=0x44e6530,
message=...) at ../tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp:414
#12 0x00007ffff2a73862 in ProcessMonitor::MonitorCallback
(callback_baton=0x21ad860, pid=13739, exited=false, signal=5, status=0)
    at ../tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp:1461
#13 0x00007ffff266dba8 in MonitorChildProcessThreadFunction (arg=0x21ad8c0) at
../tools/lldb/source/Host/common/Host.cpp:233
#14 0x00007ffff266e76b in ThreadCreateTrampoline (arg=0x11e7550) at
../tools/lldb/source/Host/common/Host.cpp:576
#15 0x00007ffff7bc4e9a in start_thread (arg=0x7fffce7fc700) at
pthread_create.c:308
#16 0x00007ffff6fd7cbd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17 0x0000000000000000 in ?? ()


And from another thread in the same process:

#0  0x00007ffff7bc6148 in pthread_join (threadid=140736657868544,
thread_return=0x7fffffffbdd0) at pthread_join.c:89
#1  0x00007ffff266e841 in lldb_private::Host::ThreadJoin
(thread=140736657868544, thread_result_ptr=0x7fffffffbdd0, error=0x0) at
../tools/lldb/source/Host/common/Host.cpp:628
#2  0x00007ffff2a76737 in ProcessMonitor::StopMonitoringChildProcess
(this=0x21ad860) at
../tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp:2137
#3  0x00007ffff2a73b79 in ProcessMonitor::StopMonitor (this=0x21ad860) at
../tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp:2145
#4  0x00007ffff2a73b49 in ProcessMonitor::~ProcessMonitor (this=0x21ad860) at
../tools/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp:1052
#5  0x00007ffff2a7da72 in ProcessPOSIX::~ProcessPOSIX (this=0x44e6530) at
../tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp:91
#6  0x00007ffff2a7168f in ProcessLinux::~ProcessLinux (this=0x44e6530) at
../tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h:26
#7  0x00007ffff2a710d5 in ProcessLinux::~ProcessLinux (this=0x44e6530) at
../tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h:26
#8  0x00007ffff2a710f9 in ProcessLinux::~ProcessLinux (this=0x44e6530) at
../tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h:26
#9  0x00007ffff2a71582 in std::_Sp_counted_ptr<ProcessLinux*,
(__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x113e6d0)
    at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:293
#10 0x00007ffff24d279a in
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x113e6d0)
        at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:147
#11 0x00007ffff258c79d in std::__shared_count<2>::~__shared_count
(this=0x7fffffffbfb0) at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:558
#12 0x00007ffff258c765 in std::__shared_count<2>::~__shared_count
(this=0x7fffffffbfb0) at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:556
#13 0x00007ffff2591a7c in std::__shared_ptr<lldb_private::Process,
2>::~__shared_ptr (this=0x7fffffffbfa8)
            at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:813
#14 0x00007ffff25fdc35 in std::__shared_ptr<lldb_private::Process,
2>::~__shared_ptr (this=0x7fffffffbfa8)
                at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:813
#15 0x00007ffff28ae596 in std::__shared_ptr<lldb_private::Process,
(__gnu_cxx::_Lock_policy)2>::reset (this=0xa1fa110)
                    at
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/bits/shared_ptr_base.h:922
#16 0x00007ffff28fd47b in lldb_private::Target::DeleteCurrentProcess
(this=0xa1f9e20) at ../tools/lldb/source/Target/Target.cpp:169
#17 0x00007ffff28fdac0 in lldb_private::Target::Destroy (this=0xa1f9e20) at
../tools/lldb/source/Target/Target.cpp:192
#18 0x00007ffff25a1f00 in lldb::SBDebugger::DeleteTarget (this=0x10d9e20,
target=...) at ../tools/lldb/source/API/SBDebugger.cpp:672
#19 0x00007ffff24fc383 in _wrap_SBDebugger_DeleteTarget (args=
                        (<SBDebugger(this=<SwigPyObject at remote 0xeef150>) at
remote 0xfb1a10>, <SBTarget(this=<SwigPyObject at remote 0x1112e40>) at remote
0x9d2e910>))
    at tools/lldb/scripts/LLDBWrapPython.cpp:14990
#20 0x0000000000463ea7 in ext_do_call (nk=17834568, na=<optimized out>,
flags=<optimized out>, pp_stack=0x7fffffffc2c0, func=<built-in function
SBDebugger_DeleteTarget>)
        at ../Python/ceval.c:4331

To reproduce, remove the @skipIfLinux decorator from the test cases in
TestRegisters.py ran run the test case repeatedly. For example, to run the test
case in question 100 times, do:

python dotest.py --executable <path-to-lldb> -p TestRegisters.py -#100

-- 
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/20130611/1e5a772d/attachment.html>


More information about the lldb-dev mailing list