[lldb-dev] lldb::SBDebugger::Terminate() hangs in deadlock

Greg Clayton via lldb-dev lldb-dev at lists.llvm.org
Mon Oct 5 16:37:20 PDT 2015


You are missing a call to the initialize function:

lldb::SBDebugger::Initialize();


> On Sep 28, 2015, at 1:12 AM, Stefan Kratochwil via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> Hi,
> 
> I've got a problem with lldb deadlocking upon a call to lldb::SBDebugger::Terminate().
> 
> I am currently using svn revision 247535 of llvm and lldb, and I know that my code was working with svn revision 229496.
> 
> In short, I am doing the following steps:
> 
>  lldb_debugger = lldb::SBDebugger::Create()
>  lldb_debugger.SetAsync(true)
>  lldb_target = lldb_debugger.CreateTarget()
>  lldb_process = lldb_target.AttachToProcessWithID()
>  ... (doing stuff with modules)
>  lldb::SBDebugger::Terminate()
> 
> The last call results in a deadlock.
> 
> I enabled the DEBUG_LOG and ENABLE_MUTEX_ERROR_CHECKING macros within Mutex.cpp and found out that a mutex is getting locked whose ID never came up in the log before. This mutex has no owner, so it should be lockable - but it isn't...
> 
> A gdb backtrace with the last few debug messages can be found here:
> http://pastebin.com/Kv4EidHx
> 
> 
> Does anyone have an idea what is going on here? Am I missing something?
> 
> Thanks in advance!
> 
> 
> Cheers,
> Stefan Kratochwil
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev



More information about the lldb-dev mailing list