[llvm] [gsymutil] Fix crash caused by infinite recursion in `unwrapReferencedTypedefType()` (PR #196448)

via llvm-commits llvm-commits at lists.llvm.org
Fri May 8 12:52:16 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 140350 tests passed
* 2750 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFDIE.cpp.o</summary>

```
FAILED: tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFDIE.cpp.o
sccache /opt/llvm/bin/clang++ -DHAVE_ROUND -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/source/Plugins/SymbolFile/DWARF -I/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source/Plugins/SymbolFile/DWARF -I/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/../clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/source -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-vla-extension -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFDIE.cpp.o -MF tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFDIE.cpp.o.d -o tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFDIE.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp:22:
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h:186:35: error: no member named 'getOffset' in 'lldb_private::plugin::dwarf::DWARFDIE'
186 |     if (!Visited.insert(Unwrapped.getOffset()).second)
|                         ~~~~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h:616:33: note: in instantiation of function template specialization 'llvm::detail::unwrapReferencedTypedefType<lldb_private::plugin::dwarf::DWARFDIE>' requested here
616 |     appendQualifiedName(detail::unwrapReferencedTypedefType(C));
|                                 ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h:628:12: note: in instantiation of member function 'llvm::DWARFTypePrinter<lldb_private::plugin::dwarf::DWARFDIE>::appendTemplateParameters' requested here
628 |   bool R = appendTemplateParameters(D);
|            ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp:414:42: note: in instantiation of member function 'llvm::DWARFTypePrinter<lldb_private::plugin::dwarf::DWARFDIE>::appendAndTerminateTemplateParameters' requested here
414 |     llvm::DWARFTypePrinter<DWARFDIE>(os).appendAndTerminateTemplateParameters(
|                                          ^
1 error generated.
```
</details>
<details>
<summary>tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFASTParserClang.cpp.o</summary>

```
FAILED: tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFASTParserClang.cpp.o
sccache /opt/llvm/bin/clang++ -DHAVE_ROUND -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/source/Plugins/SymbolFile/DWARF -I/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source/Plugins/SymbolFile/DWARF -I/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/../clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/../clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/lldb/source -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-vla-extension -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFASTParserClang.cpp.o -MF tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFASTParserClang.cpp.o.d -o tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/DWARFASTParserClang.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:51:
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h:186:35: error: no member named 'getOffset' in 'lldb_private::plugin::dwarf::DWARFDIE'
186 |     if (!Visited.insert(Unwrapped.getOffset()).second)
|                         ~~~~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h:616:33: note: in instantiation of function template specialization 'llvm::detail::unwrapReferencedTypedefType<lldb_private::plugin::dwarf::DWARFDIE>' requested here
616 |     appendQualifiedName(detail::unwrapReferencedTypedefType(C));
|                                 ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h:628:12: note: in instantiation of member function 'llvm::DWARFTypePrinter<lldb_private::plugin::dwarf::DWARFDIE>::appendTemplateParameters' requested here
628 |   bool R = appendTemplateParameters(D);
|            ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp:963:16: note: in instantiation of member function 'llvm::DWARFTypePrinter<lldb_private::plugin::dwarf::DWARFDIE>::appendAndTerminateTemplateParameters' requested here
963 |   type_printer.appendAndTerminateTemplateParameters(die);
|                ^
1 error generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the llvm-commits mailing list