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

compiler segfault with deref of *() in asm arg #13520

Closed
kmcallister opened this issue Apr 14, 2014 · 7 comments
Closed

compiler segfault with deref of *() in asm arg #13520

kmcallister opened this issue Apr 14, 2014 · 7 comments
Labels
A-inline-assembly Area: inline asm!(..) C-bug Category: This is a bug. glacier ICE tracked in rust-lang/glacier. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ P-medium Medium priority requires-nightly This issue requires a nightly compiler in some way.

Comments

@kmcallister
Copy link
Contributor

#![feature(asm)]

fn main() {
    let x = ();
    unsafe {
        let p: *const () = &x;
        asm!("" :: "r"(*p));
    }
}
$ rustc -v
rustc 0.11-pre (cee9a83 2014-04-11 15:54:46 -0700)
host: x86_64-unknown-linux-gnu

$ gdb --args rustc foo.rs
(gdb) run
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6119b99 in llvm::X86TargetLowering::isZExtFree(llvm::SDValue, llvm::EVT) const ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
(gdb) bt
#0  0x00007ffff6119b99 in llvm::X86TargetLowering::isZExtFree(llvm::SDValue, llvm::EVT) const ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#1  0x00007ffff62650fd in (anonymous namespace)::RegsForValue::getCopyToRegs(llvm::SDValue, llvm::SelectionDAG&, llvm::SDLoc, llvm::SDValue&, llvm::SDValue*, llvm::Value const*) const () from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#2  0x00007ffff627d822 in llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite) ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#3  0x00007ffff628d5a3 in llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#4  0x00007ffff629bc1a in llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#5  0x00007ffff62ad491 in llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) () from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#6  0x00007ffff62aeee8 in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#7  0x00007ffff62b0de5 in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#8  0x00007ffff6a3d56f in llvm::FPPassManager::runOnFunction(llvm::Function&) ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#9  0x00007ffff6a3d5bb in llvm::FPPassManager::runOnModule(llvm::Module&) ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#10 0x00007ffff6a3d12f in llvm::legacy::PassManagerImpl::run(llvm::Module&) ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#11 0x00007ffff5d4fa5c in LLVMRustWriteOutputFile (Target=0x660720, PMR=0x69a400, M=0x6b7ca0, path=<optimized out>, 
    FileType=llvm::TargetMachine::CGFT_ObjectFile) at /home/keegan/proj/rust/rust/src/rustllvm/PassWrapper.cpp:181
#12 0x00007ffff5bfda5c in back::link::WriteOutputFile::hbd128889f580a8157n0::v0.11.pre ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#13 0x00007ffff5c0396e in back::link::write::run_passes::closure.83721 ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#14 0x00007ffff58d44d5 in util::common::time::h1b088cb92ee0b019kMg::v0.11.pre ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#15 0x00007ffff5bff8a0 in back::link::write::run_passes::hae8f9777a11894c2mq0::v0.11.pre ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#16 0x00007ffff5d10490 in driver::driver::phase_5_run_llvm_passes::closure.90168 ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#17 0x00007ffff58d44d5 in util::common::time::h1b088cb92ee0b019kMg::v0.11.pre ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#18 0x00007ffff5d1031b in driver::driver::phase_5_run_llvm_passes::h10b364552bbe780eQIe::v0.11.pre ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#19 0x00007ffff5d130f2 in driver::driver::compile_input::hef357caacd97acfcPXe::v0.11.pre ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#20 0x00007ffff5d375f5 in run_compiler::ha4e573becdf712cbfvm::v0.11.pre ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#21 0x00007ffff5d4c07c in main_args::closure.92079 ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#22 0x00007ffff5d4aa26 in monitor::closure.91964 () from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#23 0x00007ffff5d462d8 in task::TaskBuilder::try::closure.91739 ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc-4283bb68-0.11-pre.so
#24 0x00007ffff7bbb348 in task::spawn_opts::closure.7852 ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/libnative-83574243-0.11-pre.so
#25 0x00007ffff4b76b03 in rt::task::Task::run::closure.39978 ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/libstd-aad93cea-0.11-pre.so
#26 0x00007ffff4b8213c in rust_try () from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/libstd-aad93cea-0.11-pre.so
#27 0x00007ffff4b76962 in rt::task::Task::run::h6d25268f43c2f945vc8::v0.11.pre ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/libstd-aad93cea-0.11-pre.so
#28 0x00007ffff7bbb1d0 in task::spawn_opts::closure.7825 ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/libnative-83574243-0.11-pre.so
#29 0x00007ffff4b7a24f in rt::thread::thread_start::hceb81ee57b19689fdR8::v0.11.pre ()
   from /home/keegan/proj/rust/rust/x86_64-unknown-linux-gnu/stage2/bin/../lib/libstd-aad93cea-0.11-pre.so
#30 0x00007ffff1f29b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#31 0x00007ffff47c30ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#32 0x0000000000000000 in ?? ()
@tamird
Copy link
Contributor

tamird commented Apr 22, 2015

Triage: this segfaults the compiler.

@steveklabnik steveklabnik added the I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ label Nov 5, 2015
@steveklabnik
Copy link
Member

Tagging with ICE. this still segfaults, which isn't technically an ICE, but is arguably worse.

@Ericson2314
Copy link
Contributor

On rustc 1.9.0-nightly (177905703 2016-04-08) getting something similar:

#0  0x00007ffff2c71749 in llvm::X86TargetLowering::isZExtFree(llvm::SDValue, llvm::EVT) const ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#1  0x00007ffff2ee6980 in llvm::RegsForValue::getCopyToRegs(llvm::SDValue, llvm::SelectionDAG&, llvm::SDLoc, llvm::SDValue&, llvm::SDValue*, llvm::Value const*, llvm::ISD::NodeType) const ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#2  0x00007ffff2f02d85 in llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#3  0x00007ffff2f1526d in llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#4  0x00007ffff2f2434a in llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#5  0x00007ffff2f308f1 in llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) () from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#6  0x00007ffff2f37618 in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#7  0x00007ffff2f3934a in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#8  0x00007ffff2c69d14 in (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#9  0x00007ffff398d007 in llvm::FPPassManager::runOnFunction(llvm::Function&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#10 0x00007ffff398d04b in llvm::FPPassManager::runOnModule(llvm::Module&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#11 0x00007ffff398ebcf in llvm::legacy::PassManagerImpl::run(llvm::Module&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#12 0x00007ffff2500d08 in LLVMRustWriteOutputFile (Target=0x7fffea70ab00, PMR=0x7fffeca1ac40, M=0x7fffecbd0c00, 
    path=0x7fffea455520 "/home/john/Code/git/os/fringe/target/i686-unknown-linux-gnu/debug/fpe-e1ad571a17a8b4d2.0.o", 
    FileType=llvm::TargetMachine::CGFT_ObjectFile)
    at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/rustllvm/PassWrapper.cpp:276
#13 0x00007ffff63fa1e4 in rustc_trans::back::write::write_output_file::hdb50287d746d6d52 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_trans-18402db3.so
#14 0x00007ffff63fc59b in rustc_trans::back::write::optimize_and_codegen::_$u7b$$u7b$closure$u7d$$u7d$::h40c3c076fb90a91a ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_trans-18402db3.so
#15 0x00007ffff6404107 in rustc_trans::back::write::execute_work_item::h4fb548b629e1a597 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_trans-18402db3.so
#16 0x00007ffff63fd6d2 in rustc_trans::back::write::run_passes::hb492d8bcd01a6d9e ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_trans-18402db3.so
#17 0x00007ffff7a7d5e8 in rustc_driver::driver::phase_5_run_llvm_passes::h3e9465e211407306 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#18 0x00007ffff7a40451 in rustc_driver::driver::compile_input::h650fe5b01cb8d74d ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#19 0x00007ffff7a26435 in rustc_driver::run_compiler::h68d23e0e9b7b247d ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#20 0x00007ffff7a23892 in std::sys_common::unwind::try::try_fn::h67fde221a73148bc ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#21 0x00007ffff74ada1c in __rust_try () from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/libstd-18402db3.so
#22 0x00007ffff74ad9ae in std::sys_common::unwind::inner_try::h4e97625a08807651 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/libstd-18402db3.so
#23 0x00007ffff7a240db in _$LT$F$u20$as$u20$std..boxed..FnBox$LT$A$GT$$GT$::call_box::hc8936fa120642c49 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#24 0x00007ffff74bbb45 in std::sys::thread::Thread::new::thread_start::h74af400293164137 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/libstd-18402db3.so
#25 0x00007fffef10b714 in start_thread () from /nix/store/pv9sza1cf2kpawck7wbwdnhlip5h57lg-glibc-2.23/lib/libpthread.so.0
#26 0x00007ffff711cc5d in clone () from /nix/store/pv9sza1cf2kpawck7wbwdnhlip5h57lg-glibc-2.23/lib/libc.so.6#0  0x00007ffff2c71749 in llvm::X86TargetLowering::isZExtFree(llvm::SDValue, llvm::EVT) const ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#1  0x00007ffff2ee6980 in llvm::RegsForValue::getCopyToRegs(llvm::SDValue, llvm::SelectionDAG&, llvm::SDLoc, llvm::SDValue&, llvm::SDValue*, llvm::Value const*, llvm::ISD::NodeType) const ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#2  0x00007ffff2f02d85 in llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#3  0x00007ffff2f1526d in llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#4  0x00007ffff2f2434a in llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#5  0x00007ffff2f308f1 in llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) () from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#6  0x00007ffff2f37618 in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#7  0x00007ffff2f3934a in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#8  0x00007ffff2c69d14 in (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#9  0x00007ffff398d007 in llvm::FPPassManager::runOnFunction(llvm::Function&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#10 0x00007ffff398d04b in llvm::FPPassManager::runOnModule(llvm::Module&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#11 0x00007ffff398ebcf in llvm::legacy::PassManagerImpl::run(llvm::Module&) ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_llvm-18402db3.so
#12 0x00007ffff2500d08 in LLVMRustWriteOutputFile (Target=0x7fffea70ab00, PMR=0x7fffeca1ac40, M=0x7fffecbd0c00, 
    path=0x7fffea455520 "/home/john/Code/git/os/fringe/target/i686-unknown-linux-gnu/debug/fpe-e1ad571a17a8b4d2.0.o", 
    FileType=llvm::TargetMachine::CGFT_ObjectFile)
    at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/rustllvm/PassWrapper.cpp:276
#13 0x00007ffff63fa1e4 in rustc_trans::back::write::write_output_file::hdb50287d746d6d52 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_trans-18402db3.so
#14 0x00007ffff63fc59b in rustc_trans::back::write::optimize_and_codegen::_$u7b$$u7b$closure$u7d$$u7d$::h40c3c076fb90a91a ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_trans-18402db3.so
#15 0x00007ffff6404107 in rustc_trans::back::write::execute_work_item::h4fb548b629e1a597 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_trans-18402db3.so
#16 0x00007ffff63fd6d2 in rustc_trans::back::write::run_passes::hb492d8bcd01a6d9e ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_trans-18402db3.so
#17 0x00007ffff7a7d5e8 in rustc_driver::driver::phase_5_run_llvm_passes::h3e9465e211407306 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#18 0x00007ffff7a40451 in rustc_driver::driver::compile_input::h650fe5b01cb8d74d ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#19 0x00007ffff7a26435 in rustc_driver::run_compiler::h68d23e0e9b7b247d ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#20 0x00007ffff7a23892 in std::sys_common::unwind::try::try_fn::h67fde221a73148bc ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#21 0x00007ffff74ada1c in __rust_try () from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/libstd-18402db3.so
#22 0x00007ffff74ad9ae in std::sys_common::unwind::inner_try::h4e97625a08807651 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/libstd-18402db3.so
#23 0x00007ffff7a240db in _$LT$F$u20$as$u20$std..boxed..FnBox$LT$A$GT$$GT$::call_box::hc8936fa120642c49 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/librustc_driver-18402db3.so
#24 0x00007ffff74bbb45 in std::sys::thread::Thread::new::thread_start::h74af400293164137 ()
   from /nix/store/npk25f8bbr4n666i2kik2w593nbz6vwx-rustc-nightly-2016-04-09/lib/libstd-18402db3.so
#25 0x00007fffef10b714 in start_thread () from /nix/store/pv9sza1cf2kpawck7wbwdnhlip5h57lg-glibc-2.23/lib/libpthread.so.0
#26 0x00007ffff711cc5d in clone () from /nix/store/pv9sza1cf2kpawck7wbwdnhlip5h57lg-glibc-2.23/lib/libc.so.6

probably also asm!() related.

@Mark-Simulacrum
Copy link
Member

I suspect, though am uncertain, that this now breaks within LLVM. It's possible that we run code in between, though, so I can't be certain. I'm also not sure what specifically is breaking, but the exit code is 1.

Last few lines of time-passes:

time: 0.000; rss: 91MB	MIR optimisations
  time: 0.000; rss: 91MB	write metadata
  time: 0.000; rss: 91MB	translation item collection
  time: 0.000; rss: 91MB	codegen unit partitioning
  time: 0.000; rss: 112MB	internalize symbols
time: 0.054; rss: 112MB	translation
time: 0.000; rss: 112MB	assert dep graph
time: 0.000; rss: 112MB	serialize dep graph
  time: 0.000; rss: 112MB	llvm function passes [0]
  time: 0.000; rss: 112MB	llvm module passes [0]

@Mark-Simulacrum Mark-Simulacrum added the C-bug Category: This is a bug. label Jul 21, 2017
@steveklabnik
Copy link
Member

Triage: not aware of changes

@pnkfelix
Copy link
Member

pnkfelix commented Jun 3, 2019

ICE is dependent on feature(asm) (cc #29722), which is not on the 2019 roadmap. Marking as P-medium until we get an overall plan for asm in Rust. (Although the fact that this can cause rustc itself to segfault, presumably via a problem internal to LLVM, does lead me to wonder if I should up the priority to P-high anyway.)

@pnkfelix pnkfelix added the P-medium Medium priority label Jun 3, 2019
@rust-lang-glacier-bot rust-lang-glacier-bot added the glacier ICE tracked in rust-lang/glacier. label Oct 15, 2019
@Centril Centril added the requires-nightly This issue requires a nightly compiler in some way. label Oct 25, 2019
@Amanieu
Copy link
Member

Amanieu commented May 22, 2020

This issue does not apply to the new asm! (RFC 2850) which has stricter checks on the types that can be used as asm operands.

The legacy llvm_asm! is deprecated and is no longer maintained.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-inline-assembly Area: inline asm!(..) C-bug Category: This is a bug. glacier ICE tracked in rust-lang/glacier. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ P-medium Medium priority requires-nightly This issue requires a nightly compiler in some way.
Projects
None yet
Development

No branches or pull requests

10 participants