Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Compiler crash on X86 DAG->DAG Instruction Selection #3547

Open
dmitry-salin opened this issue Sep 25, 2024 · 0 comments
Open

[BUG] Compiler crash on X86 DAG->DAG Instruction Selection #3547

dmitry-salin opened this issue Sep 25, 2024 · 0 comments
Labels
bug Something isn't working mojo-repo Tag all issues with this label

Comments

@dmitry-salin
Copy link

dmitry-salin commented Sep 25, 2024

Bug description

Mojo compiler fails to build library tests: https://github.com/dmitry-salin/io_uring
I think it fails because library uses inline assembly.
The older nightly version mojo 2024.9.905 (ae516e17) compiles the same code without problem.

Steps to reproduce

In the repo root directory (Mojo installed with magic) run:

magic run mojo build run_tests.mojo

Output:

[2588687:2588687:20240925,023052.454548:ERROR elf_dynamic_array_reader.h:64] tag not found
[2588687:2588687:20240925,023052.454640:ERROR elf_dynamic_array_reader.h:64] tag not found
[2588687:2588687:20240925,023052.454689:ERROR elf_dynamic_array_reader.h:64] tag not found
Please submit a bug report to https://github.com/modularml/mojo/issues and include the crash backtrace along with all the relevant source codes.
Stack dump:
0.	Running pass 'Function Pass Manager' on module '<split-module-llc>'.
1.	Running pass 'X86 DAG->DAG Instruction Selection' on function '@main'
Segmentation fault (core dumped)

Run:

magic run mojo test

Output:

[93790:93790:20240925,193706.758242:ERROR elf_dynamic_array_reader.h:64] tag not found
[93790:93790:20240925,193706.758307:ERROR elf_dynamic_array_reader.h:64] tag not found
[93790:93790:20240925,193706.758347:ERROR elf_dynamic_array_reader.h:64] tag not found
Please submit a bug report to https://github.com/modularml/mojo/issues and include the crash backtrace along with all the relevant source codes.
Stack dump:
0.	Running pass 'Function Pass Manager' on module '<split-module-llc>'.
1.	Running pass 'X86 DAG->DAG Instruction Selection' on function '@"test-cebd5d::main()"'
 #0 0x00005c5e637ab17b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) Signals.cpp:0:0
 #1 0x00005c5e637a90d9 llvm::sys::RunSignalHandlers() Signals.cpp:0:0
 #2 0x00005c5e637ab81d SignalHandler(int) Signals.cpp:0:0
 #3 0x000076dc17042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00005c5e60d69c31 llvm::TargetLoweringBase::getValueType(llvm::DataLayout const&, llvm::Type*, bool) const AArch64ISelLowering.cpp:0:0
 #5 0x00005c5e6260ec5c llvm::SelectionDAGBuilder::visitInlineAsm(llvm::CallBase const&, llvm::BasicBlock const*)::$_1::operator()(llvm::SDValue) const SelectionDAGBuilder.cpp:0:0
 #6 0x00005c5e625f0579 llvm::SelectionDAGBuilder::visitInlineAsm(llvm::CallBase const&, llvm::BasicBlock const*) SelectionDAGBuilder.cpp:0:0
 #7 0x00005c5e625d3d53 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) SelectionDAGBuilder.cpp:0:0
 #8 0x00005c5e626222b3 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, true>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, true>, bool&) SelectionDAGISel.cpp:0:0
 #9 0x00005c5e62621938 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) SelectionDAGISel.cpp:0:0
#10 0x00005c5e6261fbba llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) SelectionDAGISel.cpp:0:0
#11 0x00005c5e6261e491 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) SelectionDAGISel.cpp:0:0
#12 0x00005c5e623015f9 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) MachineFunctionPass.cpp:0:0
#13 0x00005c5e6327a530 llvm::FPPassManager::runOnFunction(llvm::Function&) LegacyPassManager.cpp:0:0
#14 0x00005c5e632812f4 llvm::FPPassManager::runOnModule(llvm::Module&) LegacyPassManager.cpp:0:0
#15 0x00005c5e6327b201 llvm::legacy::PassManagerImpl::run(llvm::Module&) LegacyPassManager.cpp:0:0
#16 0x00005c5e601e5ac5 runLlcPasses(llvm::Module&, M::KGEN::CompilationOptions&, llvm::TargetMachine&, llvm::raw_pwrite_stream&, llvm::CodeGenFileType, unsigned int, M::Telemetry::TelemetryContext*) ObjectCompiler.cpp:0:0
#17 0x00005c5e601f9f54 void llvm::detail::UniqueFunctionBase<void>::CallImpl<compileOptimizedLLVMModuleToObject(M::KGEN::LLVMModuleAndContext, mlir::Location, M::AsyncRT::Runtime&, bool, bool, M::KGEN::CompilationOptions, M::RCRef<M::Cache::BlobCache<M::Cache::TransformCacheKey> >, std::optional<unsigned long>, std::optional<unsigned long>, unsigned int)::$_0>(void*) ObjectCompiler.cpp:0:0
#18 0x00005c5e6061d3c1 void (anonymous namespace)::WorkQueueThread::runItemsImpl<(anonymous namespace)::WorkQueueThread::runOnThread()::$_0, (anonymous namespace)::WorkQueueThread::runOnThread()::$_1>((anonymous namespace)::WorkQueueThread::runOnThread()::$_0, (anonymous namespace)::WorkQueueThread::runOnThread()::$_1, bool, llvm::StringLiteral, llvm::StringLiteral) ThreadPoolWorkQueue.cpp:0:0
#19 0x00005c5e6061cc97 (anonymous namespace)::WorkQueueThread::runOnThread() ThreadPoolWorkQueue.cpp:0:0
#20 0x000076dc174f0b75 execute_native_thread_routine /home/conda/feedstock_root/build_artifacts/gcc_compilers_1724798733686/work/build/x86_64-conda-linux-gnu/libstdc++-v3/src/c++11/../../../../../libstdc++-v3/src/c++11/thread.cc:106:5
#21 0x000076dc17094ac3 (/lib/x86_64-linux-gnu/libc.so.6+0x94ac3)
#22 0x000076dc17126850 (/lib/x86_64-linux-gnu/libc.so.6+0x126850)
mojo crashed!
Please file a bug report.

System information

Pop!_OS 22.04 LTS
mojo 2024.9.2305 (f7b111af)
@dmitry-salin dmitry-salin added bug Something isn't working mojo-repo Tag all issues with this label labels Sep 25, 2024
@dmitry-salin dmitry-salin changed the title [BUG] Compiler crash on 'X86 DAG->DAG Instruction Selection' [BUG] Compiler crash on X86 DAG->DAG Instruction Selection Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working mojo-repo Tag all issues with this label
Projects
None yet
Development

No branches or pull requests

1 participant