Skip to content

clang (18.1.5) frontend command failed with exit code 134 #91795

@teshields

Description

@teshields

I was running the regression tests for the next release of Ox, prior to the release.

The regression test runs through all of the C/C++ compilers (Apple C/C++, GNU C/C++ and LLVM C/C++) that I have installed on my development machine (Mac mini w/ M2 Pro, macOS Sonoma 14.4.1).

The failure occurred on 2 of 48 test cases for 1 of the source files in each of those 2 test cases (both generated by Bison version 3.8.2). The failure does not occur using earlier releases of clang (versions 17.0.6, 16.0.6, 15.0.7, 14.0.6 & 13.0.1).

The requested "crash backtrace file" does not exist, but here are the other two requested files:
crash.zip

Here is the configuration I used to build the LLVM 18.1.5 earlier today:

cmake -S llvm -B build -G "Unix Makefiles" -DLLVM_ENABLE_PROJECTS="clang;lld" -DCMAKE_BUILD_TYPE=Debug

Here is the command that fails (repeatable):

/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang -g -c -o parser.o parser.c

Here is the output from that command:

Assertion failed: (N < NumContainedTys && "Element number out of range!"), function getElementType, file DerivedTypes.h, line 343.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang -g -c -o parser.o parser.c
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module 'parser.c'.
4.	Running pass 'RegBankSelect' on function '@yyparse'
 #0 0x0000000104fde600 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x104bc6600)
 #1 0x0000000104fdeba4 PrintStackTraceSignalHandler(void*) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x104bc6ba4)
 #2 0x0000000104fdc89c llvm::sys::RunSignalHandlers() (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x104bc489c)
 #3 0x0000000104fddda8 llvm::sys::CleanupOnSignal(unsigned long) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x104bc5da8)
 #4 0x0000000104e9e7bc (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x104a867bc)
 #5 0x0000000104e9ec58 CrashRecoverySignalHandler(int) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x104a86c58)
 #6 0x0000000199cbb584 (/usr/lib/system/libsystem_platform.dylib+0x180477584)
 #7 0x0000000199c8ac20 (/usr/lib/system/libsystem_pthread.dylib+0x180446c20)
 #8 0x0000000199b97a20 (/usr/lib/system/libsystem_c.dylib+0x180353a20)
 #9 0x0000000199b96d10 (/usr/lib/system/libsystem_c.dylib+0x180352d10)
#10 0x000000010060c944 llvm::StructType::getElementType(unsigned int) const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x1001f4944)
#11 0x0000000100608ca8 llvm::StructType::getTypeAtIndex(unsigned int) const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x1001f0ca8)
#12 0x0000000100608a18 llvm::AArch64RegisterBankInfo::isLoadFromFPType(llvm::MachineInstr const&) const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x1001f0a18)
#13 0x000000010060a2a0 llvm::AArch64RegisterBankInfo::getInstrMapping(llvm::MachineInstr const&) const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x1001f22a0)
#14 0x0000000106d43680 llvm::RegBankSelect::assignInstr(llvm::MachineInstr&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x10692b680)
#15 0x0000000106d43aa0 llvm::RegBankSelect::assignRegisterBanks(llvm::MachineFunction&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x10692baa0)
#16 0x0000000106d43e80 llvm::RegBankSelect::runOnMachineFunction(llvm::MachineFunction&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x10692be80)
#17 0x00000001036e81c4 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x1032d01c4)
#18 0x0000000103f2e410 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x103b16410)
#19 0x0000000103f353a0 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x103b1d3a0)
#20 0x0000000103f2ecc0 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x103b16cc0)
#21 0x0000000103f2e83c llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x103b1683c)
#22 0x0000000103f357b0 llvm::legacy::PassManager::run(llvm::Module&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x103b1d7b0)
#23 0x000000010572f0e4 (anonymous namespace)::EmitAssemblyHelper::RunCodegenPipeline(clang::BackendAction, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>&, std::__1::unique_ptr<llvm::ToolOutputFile, std::__1::default_delete<llvm::ToolOutputFile>>&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x1053170e4)
#24 0x0000000105720c18 (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105308c18)
#25 0x0000000105720130 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105308130)
#26 0x000000010600bdc8 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105bf3dc8)
#27 0x00000001094f1e10 clang::ParseAST(clang::Sema&, bool, bool) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x1090d9e10)
#28 0x0000000106737e04 clang::ASTFrontendAction::ExecuteAction() (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x10631fe04)
#29 0x000000010601151c clang::CodeGenAction::ExecuteAction() (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105bf951c)
#30 0x00000001067375d0 clang::FrontendAction::Execute() (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x10631f5d0)
#31 0x0000000106658ea8 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x106240ea8)
#32 0x000000010685631c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x10643e31c)
#33 0x000000010043073c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x10001873c)
#34 0x000000010041eee4 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x100006ee4)
#35 0x000000010042f154 clang_main(int, char**, llvm::ToolContext const&)::$_0::operator()(llvm::SmallVectorImpl<char const*>&) const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x100017154)
#36 0x000000010042f128 int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::$_0>(long, llvm::SmallVectorImpl<char const*>&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x100017128)
#37 0x00000001063ad8c8 llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::operator()(llvm::SmallVectorImpl<char const*>&) const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105f958c8)
#38 0x00000001063ad888 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const::$_1::operator()() const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105f95888)
#39 0x00000001063ad854 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const::$_1>(long) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105f95854)
#40 0x00000001032ea414 llvm::function_ref<void ()>::operator()() const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x102ed2414)
#41 0x0000000104e9e60c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x104a8660c)
#42 0x00000001063a98c0 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105f918c0)
#43 0x0000000106345e38 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105f2de38)
#44 0x00000001063460c4 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&, bool) const (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105f2e0c4)
#45 0x0000000106362c08 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x105f4ac08)
#46 0x000000010041e638 clang_main(int, char**, llvm::ToolContext const&) (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x100006638)
#47 0x000000010045a018 main (/usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin/clang-18+0x100042018)
#48 0x00000001999020e0 
clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 18.1.5
Target: arm64-apple-darwin23.4.0
Thread model: posix
InstalledDir: /usr/local/src/LLVM/llvm-project-llvmorg-18.1.5/build/bin
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /var/folders/jf/3bw023rj4_q4rh9jxzcwrgc40000gn/T/parser-b20bed.c
clang: note: diagnostic msg: /var/folders/jf/3bw023rj4_q4rh9jxzcwrgc40000gn/T/parser-b20bed.sh
clang: note: diagnostic msg: Crash backtrace is located in
clang: note: diagnostic msg: /Users/shields/Library/Logs/DiagnosticReports/clang-18_<YYYY-MM-DD-HHMMSS>_<hostname>.crash
clang: note: diagnostic msg: (choose the .crash file that corresponds to your crash)
clang: note: diagnostic msg: 

********************

Metadata

Metadata

Assignees

No one assigned

    Labels

    backend:AArch64crashPrefer [crash-on-valid] or [crash-on-invalid]duplicateResolved as duplicate

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions