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
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to