[lldb-dev] process.gdb-remote crashes Part 2

Greg Clayton gclayton at apple.com
Tue Oct 5 10:14:24 PDT 2010


Somehow you are running when you are trying to get the stack frames. I can tell that you are running because "GDBRemoteCommunication::SendInterrupt()" (frame 4) only happens when your target is running. We should do a better job of protected users from getting any stack frames when the process is running.

On Oct 5, 2010, at 5:37 AM, arvid.picciani at nokia.com wrote:

> sometimes it also just deadlocks:
> 
> 
> #0  0x00000001018ebeb6 in __semwait_signal ()
> #1  0x00000001018efcd1 in _pthread_cond_wait ()
> #2  0x000000012f3a4542 in lldb_private::Condition::Wait (this=0x12c8c75c8, mutex=0x12c8c7588, abstime=0x7fff5fbfc5f0, timed_out=0x7fff5fbfc6af) at /Users/aep/lldb/source/Host/common/Condition.cpp:89
> #3  0x000000012f13a5b2 in lldb_private::Predicate<bool>::WaitForValueEqualTo (this=0x12c8c7580, value=false, abstime=0x7fff5fbfc5f0, timed_out=0x7fff5fbfc6af) at Predicate.h:314
> #4  0x000000012f2b0fce in GDBRemoteCommunication::SendInterrupt (this=0x12c8c7320, locker=@0x7fff5fbfc6a0, seconds_to_wait_for_stop=1, timed_out=0x7fff5fbfc6af) at /Users/aep/lldb/source/Plugins/Process/../../../source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp:467
> #5  0x000000012f2b1492 in GDBRemoteCommunication::SendPacketAndWaitForResponse (this=0x12c8c7320, payload=0x7fff5fbfc730 "m10118c450,200", payload_length=14, response=@0x7fff5fbfc710, timeout_seconds=2, send_async=true) at /Users/aep/lldb/source/Plugins/Process/../../../source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp:142
> #6  0x000000012f2a6815 in ProcessGDBRemote::DoReadMemory (this=0x12c8c6c00, addr=4313367632, buf=0x137a86c00, size=512, error=@0x7fff5fbfc840) at /Users/aep/lldb/source/Plugins/Process/../../../source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp:1290
> #7  0x000000012f1dc646 in lldb_private::Process::ReadMemory (this=0x12c8c6c00, addr=4313339984, buf=0x137a80000, size=264096, error=@0x7fff5fbfc840) at /Users/aep/lldb/source/Target/Process.cpp:842
> #8  0x000000012f31a529 in lldb_private::access_raw (as=0x13a27e650, addr=4313339984, extent=264096, valp=0x137a80000 "\024", write=0, arg=0x13a27e4f0) at /Users/aep/lldb/source/Plugins/Process/Utility/MacOSXLibunwindCallbacks.cpp:191
> #9  0x000000012f346cd2 in lldb_private::RemoteProcInfo::readRaw (this=0x13a27e650, addr=4313339984, extent=264096, valp=0x137a80000 "\024", arg=0x13a27e4f0) at RemoteProcInfo.hpp:726
> #10 0x000000012f346d12 in lldb_private::RemoteProcInfo::getBytes (this=0x13a27e650, addr=4313339984, extent=264096, buf=0x137a80000 "\024", arg=0x13a27e4f0) at RemoteProcInfo.hpp:509
> #11 0x000000012f346db3 in lldb_private::OtherAddressSpace<Pointer64<LittleEndian> >::getBytes (this=0x135537c10, addr=4313339984, extent=264096, buf=0x137a80000 "\024") at AddressSpace.hpp:298
> #12 0x000000012f35bb18 in lldb_private::RemoteUnwindCursor<lldb_private::OtherAddressSpace<Pointer64<LittleEndian> >, lldb_private::Registers_x86_64>::step (this=0x7fff5fbfcb60) at UnwindCursor.hpp:1168
> #13 0x000000012f337d8a in unw_step (cursor=0x7fff5fbfcb60) at /Users/aep/lldb/source/Plugins/Process/Utility/libunwind/src/libuwind.cxx:69
> #14 0x000000012f31e86d in UnwindLibUnwind::GetFrameCount (this=0x1373a5fe0) at /Users/aep/lldb/source/Plugins/Process/Utility/UnwindLibUnwind.cpp:42
> #15 0x000000012f1e98d4 in lldb_private::StackFrameList::GetNumFrames (this=0x108699680, can_create=true) at /Users/aep/lldb/source/Target/StackFrameList.cpp:76
> #16 0x000000012f1f8180 in lldb_private::Thread::GetStackFrameCount (this=0x13a27e4f0) at /Users/aep/lldb/source/Target/Thread.cpp:835
> #17 0x000000012f3218f3 in lldb::SBThread::GetNumFrames (this=0x7fff5fbfd410) at /Users/aep/lldb/source/API/SBThread.cpp:355
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev





More information about the lldb-dev mailing list