Skip to content

Crash targeting i386-elf-win32 with debugging information #87140

Closed
@LoveMHz

Description

@LoveMHz

Confirmed crashing a385a91 (release/18.x)

Stack dump:
0.      Program arguments: /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/build/bin/clang -target i386-pc-win32-elf -ffreestanding -fno-builtin -nostdlib -c -g test.c -o test.o
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'test.c'.
4.      Running pass 'X86 Assembly Printer' on function '@test'
 #0 0x0000555a4e641de4 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/Support/Unix/Signals.inc:723:22
 #1 0x0000555a4e642205 PrintStackTraceSignalHandler(void*) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/Support/Unix/Signals.inc:798:1
 #2 0x0000555a4e63f655 llvm::sys::RunSignalHandlers() /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/Support/Signals.cpp:105:20
 #3 0x0000555a4e641545 llvm::sys::CleanupOnSignal(unsigned long) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/Support/Unix/Signals.inc:367:31
 #4 0x0000555a4e55fa66 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 #5 0x0000555a4e55ff92 CrashRecoverySignalHandler(int) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/Support/CrashRecoveryContext.cpp:391:1
 #6 0x00007f1d16442520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #7 0x0000555a4c86fe0b llvm::X86AsmPrinter::emitFunctionBodyStart() /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/Target/X86/X86AsmPrinter.cpp:105:0
 #8 0x0000555a4fc77769 llvm::AsmPrinter::emitFunctionBody() /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1685:16
 #9 0x0000555a4c86fd72 llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/Target/X86/X86AsmPrinter.cpp:91:0
#10 0x0000555a4d5117d8 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/CodeGen/MachineFunctionPass.cpp:93:33
#11 0x0000555a4dd208f4 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/IR/LegacyPassManager.cpp:1443:20
#12 0x0000555a4dd20bca llvm::FPPassManager::runOnModule(llvm::Module&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/IR/LegacyPassManager.cpp:1489:13
#13 0x0000555a4dd2102b (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/IR/LegacyPassManager.cpp:1558:20
#14 0x0000555a4dd1bca6 llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/IR/LegacyPassManager.cpp:541:13
#15 0x0000555a4dd21921 llvm::legacy::PassManager::run(llvm::Module&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/IR/LegacyPassManager.cpp:1686:1
#16 0x0000555a4e9fffa7 (anonymous namespace)::EmitAssemblyHelper::RunCodegenPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/CodeGen/BackendUtil.cpp:1145:3
#17 0x0000555a4ea001bb (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/CodeGen/BackendUtil.cpp:1169:17
#18 0x0000555a4ea01307 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::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/CodeGen/BackendUtil.cpp:1328:25
#19 0x0000555a4f3ae263 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/CodeGen/CodeGenAction.cpp:379:20
#20 0x0000555a52570da8 clang::ParseAST(clang::Sema&, bool, bool) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/Parse/ParseAST.cpp:183:14
#21 0x0000555a4f6bca36 clang::ASTFrontendAction::ExecuteAction() /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/Frontend/FrontendAction.cpp:1183:11
#22 0x0000555a4f3b2536 clang::CodeGenAction::ExecuteAction() /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/CodeGen/CodeGenAction.cpp:1154:5
#23 0x0000555a4f6bc2e0 clang::FrontendAction::Execute() /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/Frontend/FrontendAction.cpp:1073:38
#24 0x0000555a4f5cbe31 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/Frontend/CompilerInstance.cpp:1057:42
#25 0x0000555a4f86917b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:272:38
#26 0x0000555a4a8b69d7 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/tools/driver/cc1_main.cpp:294:40
#27 0x0000555a4a8a60ac ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/tools/driver/driver.cpp:365:20
#28 0x0000555a4a8a62cb clang_main(int, char**, llvm::ToolContext const&)::'lambda'(llvm::SmallVectorImpl<char const*>&)::operator()(llvm::SmallVectorImpl<char const*>&) const /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/tools/driver/driver.cpp:505:5
#29 0x0000555a4a8a79b7 int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::'lambda'(llvm::SmallVectorImpl<char const*>&)>(long, llvm::SmallVectorImpl<char const*>&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/include/llvm/ADT/STLFunctionalExtras.h:47:3
#30 0x0000555a4f42ca91 llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::operator()(llvm::SmallVectorImpl<char const*>&) const /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:3
#31 0x0000555a4f42b786 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()::operator()() const /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/Driver/Job.cpp:440:32
#32 0x0000555a4f42bc45 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:40
#33 0x0000555a4d259d94 llvm::function_ref<void ()>::operator()() const /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:62
#34 0x0000555a4e5601af llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/llvm/lib/Support/CrashRecoveryContext.cpp:427:10
#35 0x0000555a4f42b9a3 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/Driver/Job.cpp:440:7
#36 0x0000555a4f3c79a7 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/Driver/Compilation.cpp:199:22
#37 0x0000555a4f3c7d28 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/Driver/Compilation.cpp:253:62
#38 0x0000555a4f3db1f1 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/lib/Driver/Driver.cpp:1921:28
#39 0x0000555a4a8a74ee clang_main(int, char**, llvm::ToolContext const&) /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/clang/tools/driver/driver.cpp:540:39
#40 0x0000555a4a8e23b8 main /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/build/tools/clang/tools/driver/clang-driver.cpp:17:20
#41 0x00007f1d16429d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#42 0x00007f1d16429e40 call_init ./csu/../csu/libc-start.c:128:20
#43 0x00007f1d16429e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#44 0x0000555a4a8a4525 _start (/home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/build/bin/clang+0x13d9525)
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 18.1.2 ([email protected]:MakeMHz/stellar-llvm.git 439260f7074e551a0c3258d50c5264678766a2b9)
Target: i386-pc-windows-elf
Thread model: posix
InstalledDir: /home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/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: /tmp/test-f5bc62.c
clang: note: diagnostic msg: /tmp/test-f5bc62.sh
clang: note: diagnostic msg: ```

# Driver args: "-target" "i386-pc-win32-elf" "-ffreestanding" "-fno-builtin" "-nostdlib" "-c" "-g" "test.c" "-o" "test.o"
# Original command:  "/home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/build/bin/clang-18" "-cc1" "-triple" "i386-pc-windows-elf" "-emit-obj" "-mrelax-all" "-mincremental-linker-compatible" "-disable-free" "-clear-ast-before-backend" "-main-file-name" "test.c" "-mrelocation-model" "static" "-mframe-pointer=all" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-ffreestanding" "-target-cpu" "pentium4" "-tune-cpu" "generic" "-gno-column-info" "-gcodeview" "-debug-info-kind=constructor" "-fdebug-compilation-dir=/home/dustin/llvm-crash" "-object-file-name=/home/dustin/llvm-crash/test.o" "-fcoverage-compilation-dir=/home/dustin/llvm-crash" "-resource-dir" "/home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/build/lib/clang/18" "-internal-isystem" "/home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/build/lib/clang/18/include" "-ferror-limit" "19" "-fno-builtin" "-fno-use-cxa-atexit" "-fms-extensions" "-fms-compatibility" "-fms-compatibility-version=19.33" "-fskip-odr-check-in-gmf" "-fdelayed-template-parsing" "-fcolor-diagnostics" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-o" "test.o" "-x" "c" "test.c"
 "/home/dustin/Projects/MakeMHz/Stellar/stellar-llvm/build/bin/clang-18" "-cc1" "-triple" "i386-pc-windows-elf" "-emit-obj" "-mrelax-all" "-mincremental-linker-compatible" "-disable-free" "-clear-ast-before-backend" "-main-file-name" "test.c" "-mrelocation-model" "static" "-mframe-pointer=all" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-ffreestanding" "-target-cpu" "pentium4" "-tune-cpu" "generic" "-gno-column-info" "-gcodeview" "-debug-info-kind=constructor" "-fdebug-compilation-dir=/home/dustin/llvm-crash" "-object-file-name=/home/dustin/llvm-crash/test.o" "-fcoverage-compilation-dir=/home/dustin/llvm-crash" "-ferror-limit" "19" "-fno-builtin" "-fno-use-cxa-atexit" "-fms-extensions" "-fms-compatibility" "-fms-compatibility-version=19.33" "-fskip-odr-check-in-gmf" "-fdelayed-template-parsing" "-fcolor-diagnostics" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-x" "c" "test-f5bc62.c"
# 1 "test.c"
int test(void) {
    int a = 1;
    return a;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    clang:driver'clang' and 'clang++' user-facing binaries. Not 'clang-cl'crashPrefer [crash-on-valid] or [crash-on-invalid]

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions