Sébastien Boisvert
2012-Nov-17 13:34 UTC
[LLVMdev] Running pass 'Greedy Register Allocator' leads to Segmentation fault (core dumped)
Hi, I want to use LLVM 3.1 (with clang for the frontend) for compiling Open-MPI 1.6.3, which is a message-passing library. But I get a segmentation fault by the "Greedy Register Allocator". There is the bug # 11756 that solves a similar problem, but the bugzilla says "Version 3.0", and I am using 3.1 so it is likely a different bug that I am dealing with. http://llvm.org/bugs/show_bug.cgi?id=11756 I believe the bug I am reporting is already reported in bug # 11969 when building FreeBSD world: http://llvm.org/bugs/show_bug.cgi?id=11969 --- To reproduce the problem: Program I am compiling: http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.3.tar.bz2 Version of LLVM/Clang: 3.1 How I compiled LLVM: # \see llvm.org/docs/Packaging.html ../llvm-3.1.src/configure \ --prefix=/software/compilers/llvm/3.1 \ --disable-assertions \ --enable-debug-symbols \ --enable-optimized \ --enable-shared \ make -j 4 make install Command generated by the Makefile: $ /software/compilers/llvm/3.1/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -disable-llvm-verifier -main-file-name filem_rsh_module.c -pic-level 2 -relaxed-aliasing -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.17.50.0.6 -momit-leaf-frame-pointer -coverage-file .libs/filem_rsh_module.o -resource-dir /software/compilers/llvm/3.1/bin/../lib/clang/3.1 -dependency-file .deps/filem_rsh_module.Tpo -sys-header-deps -MP -MT filem_rsh_module.lo -D HAVE_CONFIG_H -D NDEBUG -D PIC -I . -I ../../../../../openmpi-1.6.3/orte/mca/filem/rsh -I ../../../../opal/include -I ../../../../orte/include -I ../../../../ompi/include -I ../../../../opal/mca/hwloc/hwloc132/hwloc/include/private/autogen -I ../../../../opal/mca/hwloc/hwloc132/hwloc/include/hwloc/autogen -I ../../../../../openmpi-1.6.3 -I ../../../.. -I ../../../../../openmpi-1.6.3/opal/include -I ../../../../../openmpi-1.6.3/orte/include -I ../../../../../openmpi! -1.6.3/om i/include -I /clumeq/src/Open-MPI/1.6.3/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include -I /clumeq/src/Open-MPI/1.6.3/openmpi-llvm/opal/mca/hwloc/hwloc132/hwloc/include -I /usr/include/infiniband -I /usr/include/infiniband -fmodule-cache-path /var/tmp/clang-module-cache -c-isystem /software/compilers/llvm/3.1/include -internal-isystem /usr/local/include -internal-isystem /software/compilers/llvm/3.1/bin/../lib/clang/3.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wall -std=gnu89 -fdebug-compilation-dir /clumeq/src/Open-MPI/1.6.3/openmpi-llvm/orte/mca/filem/rsh -ferror-limit 19 -fmessage-length 0 -pthread -mstackrealign -fgnu-runtime -fobjc-runtime-has-arc -fobjc-runtime-has-weak -fobjc-fragile-abi -fdiagnostics-show-option -o .libs/filem_rsh_module.o -x c ../../../../../openmpi-1.6.3/orte/mca/filem/rsh/filem_rsh_module.c 0 libLLVM-3.1.so 0x00002b989f3e80df 1 libLLVM-3.1.so 0x00002b989f3e8827 2 libpthread.so.0 0x000000328280ebe0 3 libLLVM-3.1.so 0x00002b989ec09c36 llvm::ConnectedVNInfoEqClasses::Distribute(llvm::LiveInterval**, llvm::MachineRegisterInfo&) + 342 4 libLLVM-3.1.so 0x00002b989ec1af75 llvm::LiveRangeEdit::eliminateDeadDefs(llvm::SmallVectorImpl<llvm::MachineInstr*>&, llvm::ArrayRef<unsigned int>) + 949 5 libLLVM-3.1.so 0x00002b989ebf2142 6 libLLVM-3.1.so 0x00002b989ebf297c 7 libLLVM-3.1.so 0x00002b989ecacb67 8 libLLVM-3.1.so 0x00002b989ec9ed65 llvm::RegAllocBase::allocatePhysRegs() + 181 9 libLLVM-3.1.so 0x00002b989ecad4ce 10 libLLVM-3.1.so 0x00002b989ec4eb10 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 96 11 libLLVM-3.1.so 0x00002b989ede6731 llvm::FPPassManager::runOnFunction(llvm::Function&) + 561 12 libLLVM-3.1.so 0x00002b989ede678d llvm::FPPassManager::runOnModule(llvm::Module&) + 45 13 libLLVM-3.1.so 0x00002b989ede7b04 llvm::MPPassManager::runOnModule(llvm::Module&) + 516 14 libLLVM-3.1.so 0x00002b989ede7be2 llvm::PassManagerImpl::run(llvm::Module&) + 114 15 libLLVM-3.1.so 0x00002b989ede7c7d llvm::PassManager::run(llvm::Module&) + 13 16 clang 0x00000000006a0aab clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::Module*, clang::BackendAction, llvm::raw_ostream*) + 1387 17 clang 0x000000000069e2ca 18 clang 0x000000000081d189 clang::ParseAST(clang::Sema&, bool, bool) + 489 19 clang 0x000000000069c513 clang::CodeGenAction::ExecuteAction() + 51 20 clang 0x000000000053530b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 267 21 clang 0x000000000051b0c9 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1209 22 clang 0x0000000000512e58 cc1_main(char const**, char const**, char const*, void*) + 1416 23 clang 0x000000000051a3df main + 4975 24 libc.so.6 0x0000003281c1d994 __libc_start_main + 244 25 clang 0x00000000005107b9 Stack dump: 0. Program arguments: /software/compilers/llvm/3.1/bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -disable-llvm-verifier -main-file-name filem_rsh_module.c -pic-level 2 -relaxed-aliasing -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.17.50.0.6 -momit-leaf-frame-pointer -coverage-file .libs/filem_rsh_module.o -resource-dir /software/compilers/llvm/3.1/bin/../lib/clang/3.1 -dependency-file .deps/filem_rsh_module.Tpo -sys-header-deps -MP -MT filem_rsh_module.lo -D HAVE_CONFIG_H -D NDEBUG -D PIC -I . -I ../../../../../openmpi-1.6.3/orte/mca/filem/rsh -I ../../../../opal/include -I ../../../../orte/include -I ../../../../ompi/include -I ../../../../opal/mca/hwloc/hwloc132/hwloc/include/private/autogen -I ../../../../opal/mca/hwloc/hwloc132/hwloc/include/hwloc/autogen -I ../../../../../openmpi-1.6.3 -I ../../../.. -I ../../../../../openmpi-1.6.3/opal/include -I ../../../../../openmpi-1.6.3/orte/include ! -I ../../ ./../../openmpi-1.6.3/ompi/include -I /clumeq/src/Open-MPI/1.6.3/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include -I /clumeq/src/Open-MPI/1.6.3/openmpi-llvm/opal/mca/hwloc/hwloc132/hwloc/include -I /usr/include/infiniband -I /usr/include/infiniband -fmodule-cache-path /var/tmp/clang-module-cache -c-isystem /software/compilers/llvm/3.1/include -internal-isystem /usr/local/include -internal-isystem /software/compilers/llvm/3.1/bin/../lib/clang/3.1/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wall -std=gnu89 -fdebug-compilation-dir /clumeq/src/Open-MPI/1.6.3/openmpi-llvm/orte/mca/filem/rsh -ferror-limit 19 -fmessage-length 0 -pthread -mstackrealign -fgnu-runtime -fobjc-runtime-has-arc -fobjc-runtime-has-weak -fobjc-fragile-abi -fdiagnostics-show-option -o .libs/filem_rsh_module.o -x c ../../../../../openmpi-1.6.3/orte/mca/filem/rsh/filem_rsh_module.c 1. <eof> parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module '../../../../../openmpi-1.6.3/orte/mca/filem/rsh/filem_rsh_module.c'. 4. Running pass 'Greedy Register Allocator' on function '@orte_filem_rsh_start_copy' Segmentation fault (core dumped)
Eli Friedman
2012-Nov-17 18:57 UTC
[LLVMdev] Running pass 'Greedy Register Allocator' leads to Segmentation fault (core dumped)
\On Sat, Nov 17, 2012 at 5:34 AM, Sébastien Boisvert <seb at boisvert.info> wrote:> Hi, > > I want to use LLVM 3.1 (with clang for the frontend) for compiling Open-MPI > 1.6.3, > which is a message-passing library. But I get a segmentation fault by the > "Greedy > Register Allocator". > > There is the bug # 11756 that solves a similar problem, but the bugzilla > says "Version 3.0", > and I am using 3.1 so it is likely a different bug that I am dealing with. > > http://llvm.org/bugs/show_bug.cgi?id=11756 > > I believe the bug I am reporting is already reported in bug # 11969 when > building > FreeBSD world: > > http://llvm.org/bugs/show_bug.cgi?id=11969Please just file a bug, and attach the files generated by the crash logging mechanism. Don't worry about duplicates; it's much easier for us to sort out what is a duplicate than it is for you. -Eli
Sébastien Boisvert
2012-Nov-19 02:40 UTC
[LLVMdev] Running pass 'Greedy Register Allocator' leads to Segmentation fault (core dumped)
I filled a bug report and attached relevant files. http://llvm.org/bugs/show_bug.cgi?id=14377 On 11/17/2012 01:57 PM, Eli Friedman wrote:> \On Sat, Nov 17, 2012 at 5:34 AM, Sébastien Boisvert <seb at boisvert.info> wrote: >> Hi, >> >> I want to use LLVM 3.1 (with clang for the frontend) for compiling Open-MPI >> 1.6.3, >> which is a message-passing library. But I get a segmentation fault by the >> "Greedy >> Register Allocator". >> >> There is the bug # 11756 that solves a similar problem, but the bugzilla >> says "Version 3.0", >> and I am using 3.1 so it is likely a different bug that I am dealing with. >> >> http://llvm.org/bugs/show_bug.cgi?id=11756 >> >> I believe the bug I am reporting is already reported in bug # 11969 when >> building >> FreeBSD world: >> >> http://llvm.org/bugs/show_bug.cgi?id=11969 > > Please just file a bug, and attach the files generated by the crash > logging mechanism. Don't worry about duplicates; it's much easier for > us to sort out what is a duplicate than it is for you. > > -Eli >