[Lldb-commits] [lldb] [LLDB] Support Auxiliary library in ELF format (PR #208905)

Minsoo Choo via lldb-commits lldb-commits at lists.llvm.org
Sun Jul 12 15:49:34 PDT 2026


https://github.com/mchoo7 commented:

I followed the instructions in #180444, and this causes stack overflow. (It could be the other PR, but this seems to be more relevant).

```
Stack dump:
0.      Program arguments: /home/mchoo/llvm/main/build/bin/lldb empty
  #0 0x0000000000237f68 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) Signals.cpp:0:0
  #1 0x00000000002357bb llvm::sys::RunSignalHandlers() Signals.cpp:0:0
  #2 0x0000000000238e12 SignalHandler(int, __siginfo*, void*) Signals.cpp:0:0
  #3 0x00000008316489da (/lib/libthr.so.3+0x1a9da)
  #4 0x0000000831647feb (/lib/libthr.so.3+0x19feb)
  #5 0x00000008212e82d3 ([vdso]+0x2d3)
  #6 0x0000000833ac2887 (/lib/libc.so.7+0x19c887)
  #7 0x0000000833ac1424 (/lib/libc.so.7+0x19b424)
  #8 0x0000000833ab5166 (/lib/libc.so.7+0x18f166)
  #9 0x0000000833280c08 operator new(unsigned long) (/lib/libc++.so.1+0xfec08)
 #10 0x00000008272f09d2 std::__1::vector<unsigned int, std::__1::allocator<unsigned int>>::push_back[abi:sn210108](unsigned int const&) Symtab.cpp:0:0
 #11 0x00000008272f166c lldb_private::UniqueCStringMap<unsigned int>::GetValues(lldb_private::ConstString, std::__1::vector<unsigned int, std::__1::allocator<unsigned int>>&) const Symtab.cpp:0:0
 #12 0x00000008272f12c8 lldb_private::Symtab::GetNameIndexes(lldb_private::ConstString, std::__1::vector<unsigned int, std::__1::allocator<unsigned int>>&) Symtab.cpp:0:0
 #13 0x00000008272f1aa0 lldb_private::Symtab::AppendSymbolIndexesWithNameAndType(lldb_private::ConstString, lldb::SymbolType, std::__1::vector<unsigned int, std::__1::allocator<unsigned int>>&) Symtab.cpp:0:0
 #14 0x00000008272f25f1 lldb_private::Symtab::FindAllSymbolsWithNameAndType(lldb_private::ConstString, lldb::SymbolType, std::__1::vector<unsigned int, std::__1::allocator<unsigned int>>&) Symtab.cpp:0:0
 #15 0x00000008271c9c81 lldb_private::Module::FindSymbolsWithNameAndType(lldb_private::ConstString, lldb::SymbolType, lldb_private::SymbolContextList&) Module.cpp:0:0
 #16 0x00000008271d02a2 lldb_private::ModuleList::FindSymbolsWithNameAndType(lldb_private::ConstString, lldb::SymbolType, lldb_private::SymbolContextList&) const ModuleList.cpp:0:0
 #17 0x00000008272e2b08 lldb_private::SymbolContext::FindBestGlobalDataSymbol(lldb_private::ConstString, lldb_private::Status&) SymbolContext.cpp:0:0
 #18 0x00000008272e2e5c lldb_private::SymbolContext::FindBestGlobalDataSymbol(lldb_private::ConstString, lldb_private::Status&)::$_0::operator()(lldb_private::SymbolContextList const&, lldb_private::Status&) const SymbolContext.cpp:0:0
 #19 0x00000008272e2b17 lldb_private::SymbolContext::FindBestGlobalDataSymbol(lldb_private::ConstString, lldb_private::Status&) SymbolContext.cpp:0:0
 #20 0x00000008272e2e5c lldb_private::SymbolContext::FindBestGlobalDataSymbol(lldb_private::ConstString, lldb_private::Status&)::$_0::operator()(lldb_private::SymbolContextList const&, lldb_private::Status&) const SymbolContext.cpp:0:0
```

So basically infinite recursive calls of `SymbolContext::FindBestGlobalDataSymbol()`

https://github.com/llvm/llvm-project/pull/208905


More information about the lldb-commits mailing list