Open
Description
The option --regalloc-enable-priority-advisor
and --regalloc-priority-interactive-channel-base
cooperate to crash.
The value of --regalloc-enable-priority-advisor
should be release
, then it requires option --regalloc-priority-interactive-channel-base
.
The value of --regalloc-priority-interactive-channel-base
can be any inexistent string path, and it will crash due to Segmentation fault.
Crash has be reproduced in llvm-18.1.2
.
Reproduced with:
/mnt/llvm-project-llvmorg-18.1.2/build/bin/llc --regalloc-enable-priority-advisor=release --regalloc-priority-interactive-channel-base=foo /mnt/data/acpi_listen.bc -o /mnt/data/acpi_listen.s
trace:
error: Cannot open inbound file: No such file or directory
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /mnt/llvm-project-llvmorg-18.1.2/build/bin/llc --regalloc-enable-priority-advisor=release --regalloc-priority-interactive-channel-base=foo /mnt/data/acpi_listen.bc -o /mnt/data/acpi_listen.s
1. Running pass 'Function Pass Manager' on module '/mnt/data/acpi_listen.bc'.
2. Running pass 'Greedy Register Allocator' on function '@main'
#0 0x00006292a4e2bcb8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Support/Unix/Signals.inc:723:22
#1 0x00006292a4e2c0d9 PrintStackTraceSignalHandler(void*) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Support/Unix/Signals.inc:798:1
#2 0x00006292a4e29529 llvm::sys::RunSignalHandlers() /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Support/Signals.cpp:105:20
#3 0x00006292a4e2b550 SignalHandler(int) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x00007f1749842520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x00006292a0b469f6 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_data() const /usr/include/c++/11/bits/basic_string.h:195:28
#6 0x00006292a0b46b1b std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_M_is_local() const /usr/include/c++/11/bits/basic_string.h:230:23
#7 0x00006292a0b4122f std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&&) /usr/include/c++/11/bits/basic_string.h:720:18
#8 0x00006292a5e20f34 llvm::Logger::switchContext(llvm::StringRef) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/Analysis/TrainingLogger.cpp:52:28
#9 0x00006292a5d9d377 llvm::InteractiveModelRunner::switchContext(llvm::StringRef) /mnt/llvm-project-llvmorg-18.1.2/llvm/include/llvm/Analysis/InteractiveModelRunner.h:53:15
#10 0x00006292a3ea912f llvm::MLPriorityAdvisor::MLPriorityAdvisor(llvm::MachineFunction const&, llvm::RAGreedy const&, llvm::SlotIndexes*, llvm::MLModelRunner*) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp:293:1
#11 0x00006292a3ea9d5f std::_MakeUniq<llvm::MLPriorityAdvisor>::__single_object std::make_unique<llvm::MLPriorityAdvisor, llvm::MachineFunction const&, llvm::RAGreedy const&, llvm::SlotIndexes*, llvm::MLModelRunner*>(llvm::MachineFunction const&, llvm::RAGreedy const&, llvm::SlotIndexes*&&, llvm::MLModelRunner*&&) /usr/include/c++/11/bits/unique_ptr.h:962:69
#12 0x00006292a3ea9928 llvm::ReleaseModePriorityAdvisorAnalysis::getAdvisor(llvm::MachineFunction const&, llvm::RAGreedy const&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp:153:58
#13 0x00006292a3bac5db llvm::RAGreedy::runOnMachineFunction(llvm::MachineFunction&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/CodeGen/RegAllocGreedy.cpp:2755:75
#14 0x00006292a3924992 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/CodeGen/MachineFunctionPass.cpp:93:33
#15 0x00006292a4105692 llvm::FPPassManager::runOnFunction(llvm::Function&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/IR/LegacyPassManager.cpp:1443:20
#16 0x00006292a4105968 llvm::FPPassManager::runOnModule(llvm::Module&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/IR/LegacyPassManager.cpp:1489:13
#17 0x00006292a4105dc9 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/IR/LegacyPassManager.cpp:1558:20
#18 0x00006292a4100a44 llvm::legacy::PassManagerImpl::run(llvm::Module&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/IR/LegacyPassManager.cpp:541:13
#19 0x00006292a41066bf llvm::legacy::PassManager::run(llvm::Module&) /mnt/llvm-project-llvmorg-18.1.2/llvm/lib/IR/LegacyPassManager.cpp:1686:1
#20 0x00006292a0b36ac2 compileModule(char**, llvm::LLVMContext&) /mnt/llvm-project-llvmorg-18.1.2/llvm/tools/llc/llc.cpp:745:34
#21 0x00006292a0b342da main /mnt/llvm-project-llvmorg-18.1.2/llvm/tools/llc/llc.cpp:412:35
#22 0x00007f1749829d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#23 0x00007f1749829e40 call_init ./csu/../csu/libc-start.c:128:20
#24 0x00007f1749829e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#25 0x00006292a0b32fa5 _start (/mnt/llvm-project-llvmorg-18.1.2/build/bin/llc+0xae0fa5)
Segmentation fault (core dumped)