Re: [lldb-dev] Deadlock loading DWARF symbols

2020-10-14 Thread Frédéric Riss via lldb-dev
[I thought I had already sent this out weeks ago…] > On Oct 2, 2020, at 2:13 PM, Greg Clayton via lldb-dev > wrote: > > Yes this is bad, and GetDescription() is used as a convenience to print out > the module path (which might be a .o file within a .a file) and optionally > architecture of t

Re: [lldb-dev] Deadlock loading DWARF symbols

2020-10-05 Thread Pavel Labath via lldb-dev
On 02/10/2020 23:13, Greg Clayton wrote: Yes this is bad, and GetDescription() is used as a convenience to print out the module path (which might be a .o file within a .a file) and optionally architecture of the module. It probably shouldn't be taking the module lock as the only member variabl

Re: [lldb-dev] Deadlock loading DWARF symbols

2020-10-02 Thread Greg Clayton via lldb-dev
Yes this is bad, and GetDescription() is used as a convenience to print out the module path (which might be a .o file within a .a file) and optionally architecture of the module. It probably shouldn't be taking the module lock as the only member variables that that GetDescription accesses are:

[lldb-dev] Deadlock loading DWARF symbols

2020-10-02 Thread Dmitry Antipov via lldb-dev
I'm observing the following deadlock: One thread calls Module::PreloadSymbols() which takes m_mutex of this Module. Module::PreloadSymbols() calls ManualDWARFIndex::Index(), which, in turn, creates thread pool and waits for all threads completion: (gdb) #0 futex_wait_cancelable (private=0, ex