[lldb-dev] LLDB deadlocks trying to unwind

Félix Cloutier felixcca at yahoo.ca
Thu Aug 22 15:35:57 PDT 2013


I'm making a stub for an emulator that executes PPC code.

Félix

Le 2013-08-22 à 18:30:09, Jason Molenda <jmolenda at apple.com> a écrit :

> 
> On Aug 22, 2013, at 3:27 PM, Jason Molenda <jmolenda at apple.com> wrote:
> 
>> 
>> On Aug 22, 2013, at 1:26 PM, Félix Cloutier <felixcca at yahoo.ca> wrote:
>> 
>>> #5	lldb_private::Mutex::Locker::Locker(lldb_private::Mutex&) at lldb/source/Host/common/Mutex.cpp:113
>>> #6	lldb_private::Unwind::GetFrameCount() at lldb/include/lldb/Target/Unwind.h:51
>>> #7	UnwindMacOSXFrameBackchain::DoGetFrameInfoAtIndex(unsigned int, unsigned long long&, unsigned long long&) at lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp:59
>>> #8	lldb_private::Unwind::GetFrameInfoAtIndex(unsigned int, unsigned long long&, unsigned long long&) at lldb/include/lldb/Target/Unwind.h:78
>>> #9	lldb_private::StackFrameList::GetFramesUpTo(unsigned int) at lldb/source/Target/StackFrameList.cpp:304
>> 
>> 
>> I'll look at this a bit.
>> 
>> The fact that you're picking up the UnwindMacOSXFrameBackchain is probably the source of the problem.  This was an early unwinder written by Greg back before we had UnwindLLDB and RegisterContextLLDB - it hasn't been modified in a couple of years except for mechanical changes made across the source base.
> 
> What architecture are you debugging?  Thread::GetUnwinder() should use UnwindLLDB for x86_64, i386, arm and thumb.  It will use UnwindMacOSXFrameBackchain for any other architectures .... but it should probably just fail instead.





More information about the lldb-dev mailing list