Skip to content

llvm-pdbutil crashes on: Assertion `0 && "Invalid formatv() call"' failed. #139604

Open
@ZequanWu

Description

@ZequanWu

llvm-pdbutil version: trunk (bfd2ef7)

$ llvm-pdbutil dump chrome.dll.pdb --symbols
...
  8940 | S_INLINESITE [size = 32]
         inlinee = 0x5B2D ({ctor}), parent = 8672, end = 9004
           0585A0   Expected 2 Args, but got 1 for format string ' setfile {0} 0x{1}'
llvm-pdbutil: /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/FormatVariadic.cpp:191: static SmallVector<ReplacementItem, 2> llvm::formatv_object_base::parseFormatString(StringRef, size_t, bool): Assertion `0 && "Invalid formatv() call"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /usr/local/google/home/zequanwu/work/llvm-project/out/cmake-debug/bin/llvm-pdbutil dump .symbolcache/CrashNativeSymbolFileCache/chrome.dll.pdb/642039D58A6796074C4C44205044422E1/chrome.dll.pdb --symbols
 #0 0x00005646f64bf08d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:11
 #1 0x00005646f64bf5cb PrintStackTraceSignalHandler(void*) Signals.cpp:888:1
 #2 0x00005646f64bd6ef llvm::sys::RunSignalHandlers() /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/Signals.cpp:105:5
 #3 0x00005646f64bfca9 SignalHandler(int, siginfo_t*, void*) Signals.cpp:418:7
 #4 0x00007efd98449df0 (/lib/x86_64-linux-gnu/libc.so.6+0x3fdf0)
 #5 0x00007efd9849e95c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #6 0x00007efd98449cc2 raise ./signal/../sysdeps/posix/raise.c:27:6
 #7 0x00007efd984324ac abort ./stdlib/abort.c:81:3
 #8 0x00007efd98432420 __assert_perror_fail ./assert/assert-perr.c:31:1
 #9 0x00005646f63f3928 llvm::formatv_object_base::parseFormatString(llvm::StringRef, unsigned long, bool) /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/FormatVariadic.cpp:197:29
#10 0x00005646f649c399 llvm::formatv_object_base::format(llvm::raw_ostream&) const raw_ostream.cpp:82:26
#11 0x00005646f649a101 llvm::raw_ostream::operator<<(llvm::formatv_object_base const&) /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/raw_ostream.cpp:349:7
#12 0x00005646f644eb90 llvm::Twine::printOneChild(llvm::raw_ostream&, llvm::Twine::Child, llvm::Twine::NodeKind) const /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/Twine.cpp:79:5
#13 0x00005646f644e97d llvm::Twine::print(llvm::raw_ostream&) const /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/Support/Twine.cpp:165:3
#14 0x00005646f609025d llvm::operator<<(llvm::raw_ostream&, llvm::Twine const&) LinePrinter.cpp:574:12
#15 0x00005646f608db40 llvm::pdb::LinePrinter::print(llvm::Twine const&) /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/DebugInfo/PDB/Native/LinePrinter.cpp:91:52
#16 0x00005646f5f5ea26 void llvm::pdb::LinePrinter::format<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&) MinimalSymbolDumper.cpp:67:5
#17 0x00005646f5f5b7cb llvm::pdb::MinimalSymbolDumper::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::InlineSiteSym&) /usr/local/google/home/zequanwu/work/llvm-project/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp:776:7
#18 0x00005646f5eb98c9 llvm::codeview::SymbolVisitorCallbackPipeline::visitKnownRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::InlineSiteSym&) DumpOutputStyle.cpp:213:1
#19 0x00005646f5fced26 llvm::Error visitKnownRecord<llvm::codeview::InlineSiteSym>(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::SymbolVisitorCallbacks&) CVSymbolVisitor.cpp:27:27
#20 0x00005646f5fccae1 finishVisitation(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, llvm::codeview::SymbolVisitorCallbacks&) CVSymbolVisitor.cpp:213:1
#21 0x00005646f5fcd8df llvm::codeview::CVSymbolVisitor::visitSymbolRecord(llvm::codeview::CVRecord<llvm::codeview::SymbolKind>&, unsigned int) (/usr/local/google/home/zequanwu/work/llvm-project/out/cmake-debug/bin/llvm-pdbutil+0xa748df)
#22 0x00005646f5fcdb64 llvm::codeview::CVSymbolVisitor::visitSymbolStream(llvm::VarStreamArray<llvm::codeview::CVRecord<llvm::codeview::SymbolKind>, llvm::VarStreamArrayExtractor<llvm::codeview::CVRecord<llvm::codeview::SymbolKind>>> const&, unsigned int) /usr/local/google/home/zequanwu/work/llvm-project/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp:79:19
#23 0x00005646f5ea4395 llvm::pdb::DumpOutputStyle::dumpModuleSymsForPdb()::$_0::operator()(unsigned int, llvm::pdb::SymbolGroup const&) const DumpOutputStyle.cpp:1500:38
#24 0x00005646f5ea401d llvm::Error llvm::pdb::iterateOneModule<llvm::pdb::DumpOutputStyle::dumpModuleSymsForPdb()::$_0>(llvm::pdb::InputFile&, llvm::pdb::PrintScope const&, llvm::pdb::SymbolGroup const&, unsigned int, llvm::pdb::DumpOutputStyle::dumpModuleSymsForPdb()::$_0) DumpOutputStyle.cpp:174:1
#25 0x00005646f5e99705 llvm::Error llvm::pdb::iterateSymbolGroups<llvm::pdb::DumpOutputStyle::dumpModuleSymsForPdb()::$_0>(llvm::pdb::InputFile&, llvm::pdb::PrintScope const&, llvm::pdb::DumpOutputStyle::dumpModuleSymsForPdb()::$_0) DumpOutputStyle.cpp:194:15
#26 0x00005646f5e95163 llvm::pdb::DumpOutputStyle::dumpModuleSymsForPdb() /usr/local/google/home/zequanwu/work/llvm-project/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp:1508:1
#27 0x00005646f5e8f868 llvm::pdb::DumpOutputStyle::dump() /usr/local/google/home/zequanwu/work/llvm-project/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp:204:24
#28 0x00005646f5eff6f4 dumpRaw(llvm::StringRef) llvm-pdbutil.cpp:909:3
#29 0x00005646f5f44e32 void (*std::for_each<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>, void (*)(llvm::StringRef)>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>, void (*)(llvm::StringRef)))(llvm::StringRef) /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algo.h:3785:33
#30 0x00005646f5f0c35b void (*llvm::for_each<llvm::cl::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, llvm::cl::parser<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&, void (*)(llvm::StringRef)>(llvm::cl::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, llvm::cl::parser<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&, void (*)(llvm::StringRef)))(llvm::StringRef) /usr/local/google/home/zequanwu/work/llvm-project/llvm/include/llvm/ADT/STLExtras.h:1738:3
#31 0x00005646f5efc950 main /usr/local/google/home/zequanwu/work/llvm-project/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp:1627:3
#32 0x00007efd98433ca8 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#33 0x00007efd98433d65 call_init ./csu/../csu/libc-start.c:128:20
#34 0x00007efd98433d65 __libc_start_main ./csu/../csu/libc-start.c:347:5
#35 0x00005646f5e796a1 _start (/usr/local/google/home/zequanwu/work/llvm-project/out/cmake-debug/bin/llvm-pdbutil+0x9206a1)
[1]    557255 IOT instruction (core dumped)  ~/work/llvm-project/out/cmake-debug/bin/llvm-pdbutil dump  --symbols

Metadata

Metadata

Assignees

No one assigned

    Labels

    crashPrefer [crash-on-valid] or [crash-on-invalid]debuginfo

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions