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

ICE when trying to tame std: failed at 'lookup_item: id not found: 148798' #13364

Closed
dckc opened this issue Apr 6, 2014 · 6 comments
Closed
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@dckc
Copy link
Contributor

dckc commented Apr 6, 2014

I made a ~150 line usb footpedal library and I'm trying to link it against a tamed subset of std (cf #3094):

  • tame.rs links with std but only reexports deterministic items
  • footpedal.rs uses no_std and links with tame

I ran into an ICE:

fpscribe$ RUST_BACKTRACE=1 make
rustc   -O footpedal.rs -L .
error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug.
note: we would appreciate a bug report: http://static.rust-lang.org/doc/master/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'lookup_item: id not found: 148798', /build/buildd/rust-nightly-201404060405~0651d27~precise/src/librustc/metadata/decoder.rs:95
stack backtrace:
   1:     0x2b692cf2fb00 - rt::backtrace::imp::write::h5f2f567c302aceb38Mb::v0.11.pre
   2:     0x2b692ce917f0 - rt::unwind::begin_unwind_inner::h020e2bd5484a13f9Bnb::v0.11.pre
   3:     0x2b692ce91470 - rt::unwind::begin_unwind_fmt::had2edc00130e15ecLmb::v0.11.pre
   4:     0x2b692aef2c60 - <unknown>
   5:     0x2b692aef9030 - metadata::decoder::maybe_get_item_ast::hb969df0f249f5979bda::v0.11.pre
   6:     0x2b692a79fd90 - metadata::csearch::maybe_get_item_ast::h54e9a0b7f74b5af2Z8b::v0.11.pre
   7:     0x2b692ac599c0 - middle::const_eval::lookup_variant_by_id::hfce98df3ad93b884L4P::v0.11.pre
   8:     0x2b692a8bd840 - middle::const_eval::lookup_const::h17cb5423bf10a1f4S3P::v0.11.pre
   9:     0x2b692ac5c430 - <unknown>
  10:     0x2b692ac5e700 - <unknown>
  11:     0x2b692ac5e700 - <unknown>
  12:     0x2b692ac5f470 - <unknown>
  13:     0x2b692ac5e700 - <unknown>
  14:     0x2b692ac5f470 - <unknown>
  15:     0x2b692ac5e700 - <unknown>
  16:     0x2b692ac5f470 - <unknown>
  17:     0x2b692ac605a0 - <unknown>
  18:     0x2b692ac5fcd0 - <unknown>
  19:     0x2b692ac5ddd0 - middle::const_eval::process_crate::h85e49642fdbc647csfQ::v0.11.pre
  20:     0x2b692ab6b350 - <unknown>
  21:     0x2b692af9cc20 - driver::driver::phase_3_run_analysis_passes::h56874d2a6b937793Ere::v0.11.pre
  22:     0x2b692afa3650 - driver::driver::compile_input::h108fdc2cbeadd60aBQe::v0.11.pre
  23:     0x2b692afc6530 - run_compiler::h82f4eda38ece6fe2Jim::v0.11.pre
  24:     0x2b692afdd8e0 - <unknown>
  25:     0x2b692afdc210 - <unknown>
  26:     0x2b692afd7b40 - <unknown>
  27:     0x2b692a25c3f0 - <unknown>
  28:     0x2b692cf2af90 - <unknown>
  29:     0x2b692cf365b0 - rust_try
  30:     0x2b692cf2add0 - rt::task::Task::run::hd22104201ff3b8d47f9::v0.11.pre
  31:     0x2b692a25c1c0 - <unknown>
  32:     0x2b692cf2e640 - <unknown>
  33:     0x2b692ff97dc0 - start_thread
  34:                0x0 - <unknown>

make: *** [libfootpedal-77ad9f83-0.0.rlib] Error 101

I haven't made an isolated test case, but it doesn't take much code to trigger the bug:

fpscribe$ wc tame.rs footpedal.rs 
  10   22  245 tame.rs
 147  393 3598 footpedal.rs
 157  415 3843 total

The code is fpscribe rev 98b0e0cdbb.

I'm using the current nightly on linux (Ubuntu 12.04):

$ apt-cache policy rust-nightly
rust-nightly:
  Installed: 201404060405~0651d27~precise
  Candidate: 201404060405~0651d27~precise

I got it from the ppa.

@dckc
Copy link
Contributor Author

dckc commented Apr 6, 2014

p.s. a search for this error message turned up #12601 , but even after rebuilding all my crates from scratch, the symptoms persist, so I don't think this is just out-of-date dependencies.

@alexcrichton
Copy link
Member

I'm unable to reproduce this error that you're seeing. I've tried on both ubuntu and OSX.

This does indeed come up a lot when dealing with out of date dependencies and such. It may be possible that different libraries are being picked up at different ends of the system (for some odd reason).

Could you paste the output of RUST_LOG=rustc::metadata::loader make ?

@dckc
Copy link
Contributor Author

dckc commented Apr 13, 2014

oops... I just noticed your request for log info. This is what I get:

rustc   -O footpedal.rs -L .
rlib candidate: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-aad93cea-0.11-pre.rlib
matching -- libstd-aad93cea-0.11-pre.rlib, middle: aad93cea-0.11-pre
matching -- libstd-aad93cea-0.11-pre.rlib, hash: aad93cea (want aad93cea)
matching -- libstd-aad93cea-0.11-pre.rlib, vers: 0.11-pre (want Some(0.11-pre))
matching -- libstd-aad93cea-0.11-pre.rlib, vers ok
matching -- libstd-aad93cea-0.11-pre.rlib, hash ok
rlib accepted, hash: aad93cea
dylib candidate: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-aad93cea-0.11-pre.so
matching -- libstd-aad93cea-0.11-pre.so, middle: aad93cea-0.11-pre
matching -- libstd-aad93cea-0.11-pre.so, hash: aad93cea (want aad93cea)
matching -- libstd-aad93cea-0.11-pre.so, vers: 0.11-pre (want Some(0.11-pre))
matching -- libstd-aad93cea-0.11-pre.so, vers ok
matching -- libstd-aad93cea-0.11-pre.so, hash ok
dylib accepted, hash: aad93cea
rlib reading metadata from: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-aad93cea-0.11-pre.rlib
reading libstd-aad93cea-0.11-pre.rlib => 0ms
dylib reading metadata from: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-aad93cea-0.11-pre.so
get_metadata_section: name 
get_metadata_section: name .note.gnu.build-id
get_metadata_section: name .gnu.hash
get_metadata_section: name .dynsym
get_metadata_section: name .dynstr
get_metadata_section: name .gnu.version
get_metadata_section: name .gnu.version_r
get_metadata_section: name .rela.dyn
get_metadata_section: name .rela.plt
get_metadata_section: name .init
get_metadata_section: name .plt
get_metadata_section: name .text
get_metadata_section: name .fini
get_metadata_section: name .rodata
get_metadata_section: name .eh_frame_hdr
get_metadata_section: name .eh_frame
get_metadata_section: name .gcc_except_table
get_metadata_section: name .tbss
get_metadata_section: name .ctors
get_metadata_section: name .dtors
get_metadata_section: name .jcr
get_metadata_section: name .data.rel.ro
get_metadata_section: name .dynamic
get_metadata_section: name .got
get_metadata_section: name .got.plt
get_metadata_section: name .data
get_metadata_section: name .note.rustc
checking 8 bytes of metadata-version stamp
inflating 4063178 bytes of compressed metadata
reading libstd-aad93cea-0.11-pre.so => 87ms
rlib candidate: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8f65d5a8-0.10-pre.rlib
matching -- liblibc-8f65d5a8-0.10-pre.rlib, middle: 8f65d5a8-0.10-pre
matching -- liblibc-8f65d5a8-0.10-pre.rlib, hash: 8f65d5a8 (want 8f65d5a8)
matching -- liblibc-8f65d5a8-0.10-pre.rlib, vers: 0.10-pre (want Some(0.10-pre))
matching -- liblibc-8f65d5a8-0.10-pre.rlib, vers ok
matching -- liblibc-8f65d5a8-0.10-pre.rlib, hash ok
rlib accepted, hash: 8f65d5a8
dylib candidate: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8f65d5a8-0.10-pre.so
matching -- liblibc-8f65d5a8-0.10-pre.so, middle: 8f65d5a8-0.10-pre
matching -- liblibc-8f65d5a8-0.10-pre.so, hash: 8f65d5a8 (want 8f65d5a8)
matching -- liblibc-8f65d5a8-0.10-pre.so, vers: 0.10-pre (want Some(0.10-pre))
matching -- liblibc-8f65d5a8-0.10-pre.so, vers ok
matching -- liblibc-8f65d5a8-0.10-pre.so, hash ok
dylib accepted, hash: 8f65d5a8
rlib reading metadata from: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8f65d5a8-0.10-pre.rlib
reading liblibc-8f65d5a8-0.10-pre.rlib => 0ms
dylib reading metadata from: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8f65d5a8-0.10-pre.so
get_metadata_section: name 
get_metadata_section: name .note.gnu.build-id
get_metadata_section: name .gnu.hash
get_metadata_section: name .dynsym
get_metadata_section: name .dynstr
get_metadata_section: name .gnu.version
get_metadata_section: name .gnu.version_r
get_metadata_section: name .rela.dyn
get_metadata_section: name .rela.plt
get_metadata_section: name .init
get_metadata_section: name .plt
get_metadata_section: name .text
get_metadata_section: name .fini
get_metadata_section: name .rodata
get_metadata_section: name .eh_frame_hdr
get_metadata_section: name .eh_frame
get_metadata_section: name .ctors
get_metadata_section: name .dtors
get_metadata_section: name .jcr
get_metadata_section: name .dynamic
get_metadata_section: name .got
get_metadata_section: name .got.plt
get_metadata_section: name .data
get_metadata_section: name .note.rustc
checking 8 bytes of metadata-version stamp
inflating 74061 bytes of compressed metadata
reading liblibc-8f65d5a8-0.10-pre.so => 1ms
rlib candidate: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-aad93cea-0.11-pre.rlib
matching -- libstd-aad93cea-0.11-pre.rlib, middle: aad93cea-0.11-pre
matching -- libstd-aad93cea-0.11-pre.rlib, hash: aad93cea (want aad93cea)
matching -- libstd-aad93cea-0.11-pre.rlib, vers: 0.11-pre (want Some(0.11-pre))
matching -- libstd-aad93cea-0.11-pre.rlib, vers ok
matching -- libstd-aad93cea-0.11-pre.rlib, hash ok
rlib accepted, hash: aad93cea
dylib candidate: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-aad93cea-0.11-pre.so
matching -- libstd-aad93cea-0.11-pre.so, middle: aad93cea-0.11-pre
matching -- libstd-aad93cea-0.11-pre.so, hash: aad93cea (want aad93cea)
matching -- libstd-aad93cea-0.11-pre.so, vers: 0.11-pre (want Some(0.11-pre))
matching -- libstd-aad93cea-0.11-pre.so, vers ok
matching -- libstd-aad93cea-0.11-pre.so, hash ok
dylib accepted, hash: aad93cea
rlib reading metadata from: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-aad93cea-0.11-pre.rlib
reading libstd-aad93cea-0.11-pre.rlib => 0ms
dylib reading metadata from: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-aad93cea-0.11-pre.so
get_metadata_section: name 
get_metadata_section: name .note.gnu.build-id
get_metadata_section: name .gnu.hash
get_metadata_section: name .dynsym
get_metadata_section: name .dynstr
get_metadata_section: name .gnu.version
get_metadata_section: name .gnu.version_r
get_metadata_section: name .rela.dyn
get_metadata_section: name .rela.plt
get_metadata_section: name .init
get_metadata_section: name .plt
get_metadata_section: name .text
get_metadata_section: name .fini
get_metadata_section: name .rodata
get_metadata_section: name .eh_frame_hdr
get_metadata_section: name .eh_frame
get_metadata_section: name .gcc_except_table
get_metadata_section: name .tbss
get_metadata_section: name .ctors
get_metadata_section: name .dtors
get_metadata_section: name .jcr
get_metadata_section: name .data.rel.ro
get_metadata_section: name .dynamic
get_metadata_section: name .got
get_metadata_section: name .got.plt
get_metadata_section: name .data
get_metadata_section: name .note.rustc
checking 8 bytes of metadata-version stamp
inflating 4063178 bytes of compressed metadata
reading libstd-aad93cea-0.11-pre.so => 79ms
rlib candidate: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8f65d5a8-0.10-pre.rlib
matching -- liblibc-8f65d5a8-0.10-pre.rlib, middle: 8f65d5a8-0.10-pre
matching -- liblibc-8f65d5a8-0.10-pre.rlib, hash: 8f65d5a8 (want 8f65d5a8)
matching -- liblibc-8f65d5a8-0.10-pre.rlib, vers: 0.10-pre (want Some(0.10-pre))
matching -- liblibc-8f65d5a8-0.10-pre.rlib, vers ok
matching -- liblibc-8f65d5a8-0.10-pre.rlib, hash ok
rlib accepted, hash: 8f65d5a8
dylib candidate: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8f65d5a8-0.10-pre.so
matching -- liblibc-8f65d5a8-0.10-pre.so, middle: 8f65d5a8-0.10-pre
matching -- liblibc-8f65d5a8-0.10-pre.so, hash: 8f65d5a8 (want 8f65d5a8)
matching -- liblibc-8f65d5a8-0.10-pre.so, vers: 0.10-pre (want Some(0.10-pre))
matching -- liblibc-8f65d5a8-0.10-pre.so, vers ok
matching -- liblibc-8f65d5a8-0.10-pre.so, hash ok
dylib accepted, hash: 8f65d5a8
rlib reading metadata from: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8f65d5a8-0.10-pre.rlib
reading liblibc-8f65d5a8-0.10-pre.rlib => 0ms
dylib reading metadata from: /usr/lib/rust/rust-nightly/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8f65d5a8-0.10-pre.so
get_metadata_section: name 
get_metadata_section: name .note.gnu.build-id
get_metadata_section: name .gnu.hash
get_metadata_section: name .dynsym
get_metadata_section: name .dynstr
get_metadata_section: name .gnu.version
get_metadata_section: name .gnu.version_r
get_metadata_section: name .rela.dyn
get_metadata_section: name .rela.plt
get_metadata_section: name .init
get_metadata_section: name .plt
get_metadata_section: name .text
get_metadata_section: name .fini
get_metadata_section: name .rodata
get_metadata_section: name .eh_frame_hdr
get_metadata_section: name .eh_frame
get_metadata_section: name .ctors
get_metadata_section: name .dtors
get_metadata_section: name .jcr
get_metadata_section: name .dynamic
get_metadata_section: name .got
get_metadata_section: name .got.plt
get_metadata_section: name .data
get_metadata_section: name .note.rustc
checking 8 bytes of metadata-version stamp
inflating 74061 bytes of compressed metadata
reading liblibc-8f65d5a8-0.10-pre.so => 1ms
rlib candidate: libtame-3d391d7b-0.0.rlib
matching -- libtame-3d391d7b-0.0.rlib, middle: 3d391d7b-0.0
matching -- libtame-3d391d7b-0.0.rlib, hash: 3d391d7b (want 3d391d7b)
matching -- libtame-3d391d7b-0.0.rlib, vers: 0.0 (want None)
rlib accepted, hash: 3d391d7b
rlib reading metadata from: /home/connolly/projects/fpscribe/libtame-3d391d7b-0.0.rlib
reading libtame-3d391d7b-0.0.rlib => 0ms
error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug.
note: we would appreciate a bug report: http://static.rust-lang.org/doc/master/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'lookup_item: id not found: 144328', /build/buildd/rust-nightly-201404070405~31e8f24~precise/src/librustc/metadata/decoder.rs:95

make: *** [libfootpedal-77ad9f83-0.0.rlib] Error 101

@huonw huonw added the I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ label Sep 10, 2014
@steveklabnik
Copy link
Member

Is this issue still relevant? We don't really have a reproduction...

@dckc
Copy link
Contributor Author

dckc commented Jan 17, 2015

no, I guess not. If I ever get back to working on this app, I can open issues for anything that arises.

@dckc dckc closed this as completed Jan 17, 2015
@ghost
Copy link

ghost commented Oct 19, 2015

I'm hitting this when compiling rust from git sources (latest commit tested was: 7aec917 )

...
"cc" "-Wl,--as-needed" "-m64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/rbml-bb943c5a.0.o" "-o" "x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librbml-bb943c5a.so" "x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/rbml-bb943c5a.metadata.o" "-Wl,-O1" "-nodefaultlibs" "-L" "x86_64-unknown-linux-gnu/rt" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/llvm/Release+Asserts/lib" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/.rust/lib/x86_64-unknown-linux-gnu" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/lib/x86_64-unknown-linux-gnu" "-Wl,-Bstatic" "-Wl,-Bdynamic" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "serialize-bb943c5a" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "log-bb943c5a" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "std-bb943c5a" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "rt" "-l" "pthread" "-l" "c" "-l" "m" "-shared" "-l" "compiler-rt"
  time: 0.170; rss: 118MB running linker
time: 0.214; rss: 118MB linking
rustc: x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_front
time: 0.103; rss: 41MB  parsing
time: 0.028; rss: 41MB  configuration 1
time: 0.000; rss: 41MB  recursion limit
time: 0.003; rss: 41MB  gated macro checking
time: 0.000; rss: 41MB  crate injection
time: 0.021; rss: 44MB  macro loading
time: 0.000; rss: 44MB  plugin loading
time: 0.000; rss: 44MB  plugin registration
time: 0.625; rss: 61MB  expansion
time: 0.017; rss: 61MB  complete gated feature checking 1
time: 0.128; rss: 61MB  configuration 2
time: 0.000; rss: 61MB  gated configuration checking
time: 0.068; rss: 61MB  maybe building test harness
time: 0.063; rss: 61MB  prelude injection
time: 0.011; rss: 61MB  checking that all macro invocations are gone
time: 0.000; rss: 61MB  checking for inline asm in case the target doesn't support it
time: 0.016; rss: 61MB  complete gated feature checking 2
time: 0.066; rss: 61MB  assigning node ids
time: 0.060; rss: 78MB  lowering ast -> hir
time: 0.067; rss: 82MB  indexing hir
time: 0.000; rss: 82MB  attribute checking
time: 0.030; rss: 82MB  early lint checks
time: 0.015; rss: 82MB  external crate/lib resolution
time: 0.015; rss: 82MB  language item collection
time: 0.310; rss: 110MB resolution
time: 0.011; rss: 108MB lifetime resolution
time: 0.000; rss: 108MB looking for entry point
time: 0.007; rss: 108MB looking for plugin registrar
time: 0.061; rss: 115MB region resolution
time: 0.007; rss: 115MB loop checking
time: 0.007; rss: 115MB static item recursion checking
time: 0.076; rss: 118MB type collecting
time: 0.016; rss: 118MB variance inference
time: 0.175; rss: 138MB coherence checking
time: 0.079; rss: 139MB wf checking (old)
time: 0.085; rss: 139MB item-types checking
time: 11.778; rss: 183MB  item-bodies checking
time: 0.000; rss: 183MB drop-impl checking
time: 0.374; rss: 183MB wf checking (new)
time: 1.133; rss: 184MB const checking
time: 0.061; rss: 184MB privacy checking
time: 0.002; rss: 184MB stability index
time: 0.028; rss: 184MB intrinsic checking
time: 0.018; rss: 184MB effect checking
time: 0.127; rss: 184MB match checking
time: 0.852; rss: 241MB MIR dump
time: 0.093; rss: 241MB liveness checking
time: 2.441; rss: 243MB borrow checking
time: 1.710; rss: 243MB rvalue checking
time: 0.020; rss: 243MB reachability checking
time: 0.060; rss: 243MB death checking
time: 0.055; rss: 243MB stability checking
time: 0.000; rss: 243MB unused lib feature checking
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
thread 'rustc' panicked at 'lookup_item: id not found: DefIndex(25591)', src/librustc/metadata/decoder.rs:70
stack backtrace:
   1:      0x39b677f0658 - sys::backtrace::tracing::imp::write::h6acdb16e3fcdc374Llt
   2:      0x39b677f8b7a - panicking::log_panic::h55d6d561c9b3f308kmx
   3:      0x39b677afc7a - sys_common::unwind::begin_unwind_inner::hc2221b23d3f472a3cds
   4:      0x39b677b0927 - sys_common::unwind::begin_unwind_fmt::h8cc8814c2d254de2ics
   5:      0x39b65414ddd - metadata::csearch::get_item_path::h73a9d92ce367e2eeSgs
   6:      0x39b653d38ce - middle::ty::ctxt<'tcx>::item_path_str::h70934397b62e3884oFh
   7:      0x39b65352414 - middle::def_id::DefId.fmt..Debug::fmt::h378dc8cac1e8dabfRfs
   8:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
   9:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  10:      0x39b65403938 - util::ppaux::ty..BoundRegion.fmt..Debug::fmt::h9a73f61881422f50h8B
  11:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  12:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  13:      0x39b65252ed4 - util::ppaux::ty..Region.fmt..Debug::fmt::h2d973de65f46263dpaC
  14:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  15:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  16:      0x39b65418430 - util::ppaux::ty..Region.fmt..Display::fmt::h76d64307e8508c70hkC
  17:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  18:      0x39b6565bea1 - util::ppaux::ty..TraitTy<'tcx>.fmt..Display::fmt::h4a63bd3cd220925aqKB
  19:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  20:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  21:      0x39b6565f765 - util::ppaux::ty..TypeVariants<'tcx>.fmt..Display::fmt::hd11a9bc66d0d7870pQC
  22:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  23:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  24:      0x39b65253457 - fmt::_&'a T.Display::fmt::h15942671037336040400
  25:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  26:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  27:      0x39b6565f765 - util::ppaux::ty..TypeVariants<'tcx>.fmt..Display::fmt::hd11a9bc66d0d7870pQC
  28:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  29:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  30:      0x39b65253457 - fmt::_&'a T.Display::fmt::h15942671037336040400
  31:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  32:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  33:      0x39b65658d3d - util::ppaux::fn_sig::h744c0e49457176224eB
  34:      0x39b6565d636 - util::ppaux::ty..FnSig<'tcx>.fmt..Display::fmt::h04329f5b5b3c4d45euC
  35:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  36:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  37:      0x39b65660b81 - util::ppaux::ty..TypeVariants<'tcx>.fmt..Display::fmt::hd11a9bc66d0d7870pQC
  38:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  39:      0x39b67816f43 - fmt::Formatter<'a>::write_fmt::h451c26e46516c241MsV
  40:      0x39b652534b4 - util::ppaux::ty..TyS<'tcx>.fmt..Display::fmt::h7a866d69a974fa3bTgD
  41:      0x39b67834ae5 - fmt::write::hfaf37fa4269e57f8W5U
  42:      0x39b677fa702 - fmt::format::h98eb201c6b81efd6b6d
  43:      0x39b6712ff73 - builtin::BoxPointers::check_heap_type::h3dfb3953def18b7fJIa
  44:      0x39b671302a9 - builtin::BoxPointers.LateLintPass::check_expr::h7497471b623af763XLa
  45:      0x39b65638f1f - lint::context::LateContext<'a, 'tcx>.hir_visit..Visitor<'v>::visit_expr::h3761231cad9d3c90COz
  46:      0x39b6563945d - lint::context::LateContext<'a, 'tcx>.hir_visit..Visitor<'v>::visit_expr::h3761231cad9d3c90COz
  47:      0x39b6563943e - lint::context::LateContext<'a, 'tcx>.hir_visit..Visitor<'v>::visit_expr::h3761231cad9d3c90COz
  48:      0x39b656397eb - lint::context::LateContext<'a, 'tcx>.hir_visit..Visitor<'v>::visit_fn::hb9a0e2f22e4abd73IQz
  49:      0x39b65634660 - lint::context::LintContext::with_lint_attrs::h15040779467197164097
  50:      0x39b65639ace - lint::context::LateContext<'a, 'tcx>.hir_visit..Visitor<'v>::visit_mod::h42023e6788fd95ffRZz
  51:      0x39b65634692 - lint::context::LintContext::with_lint_attrs::h15040779467197164097
  52:      0x39b65639ace - lint::context::LateContext<'a, 'tcx>.hir_visit..Visitor<'v>::visit_mod::h42023e6788fd95ffRZz
  53:      0x39b65634692 - lint::context::LintContext::with_lint_attrs::h15040779467197164097
  54:      0x39b65639ace - lint::context::LateContext<'a, 'tcx>.hir_visit..Visitor<'v>::visit_mod::h42023e6788fd95ffRZz
  55:      0x39b6565547a - lint::context::check_crate::hf5a4487b48adfac8wPA
  56:      0x39b67d0ae37 - driver::phase_3_run_analysis_passes::closure.21907
  57:      0x39b67d0443e - middle::ty::context::ctxt<'tcx>::create_and_enter::h7386103329418218730
  58:      0x39b67cff6dc - driver::phase_3_run_analysis_passes::h10954767262469787437
  59:      0x39b67ce18ac - driver::compile_input::heb3c55b612369f8e7ba
  60:      0x39b67dcda3f - run_compiler::ha54fbfbd0c9d87b2wtc
  61:      0x39b67dcb008 - sys_common::unwind::try::try_fn::h15489298796838710061
  62:      0x39b677edcf8 - __rust_try
  63:      0x39b677dd4bb - sys_common::unwind::try::inner_try::h73e0f0125bf34e00K9r
  64:      0x39b67dcb330 - boxed::F.FnBox<A>::call_box::h6336268132757882836
  65:      0x39b677f7303 - sys::thread::Thread::new::thread_start::h56869fc3a7ac2f95wEw
  66:      0x39b60d8150b - start_thread
                        at /usr/src/debug/sys-libs/glibc-2.21-r1/glibc-2.21/nptl/pthread_create.c:333
  67:      0x39b6747314c - clone
                        at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
  68:                0x0 - <unknown>

/home/zazdxscf/build/1nonpkgs/rust/rust/mk/target.mk:164: recipe for target 'x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.rustc_front' failed
make: *** [x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.rustc_front] Error 101

real  62m55.268s
user  54m44.073s
sys 7m14.430s

Here's my stage0 (compiled thus far) rustc --version

$ LD_LIBRARY_PATH='./x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib' ./x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin/rustc --version --verbose
rustc 1.5.0-dev (7aec91734 2015-10-19)
binary: rustc
commit-hash: 7aec91734e0c12b8e36158566ad512a663111c9f
commit-date: 2015-10-19
host: x86_64-unknown-linux-gnu
release: 1.5.0-dev

Commands used to configure/compile:

$ ./configure --prefix=/home/zazdxscf/build/1nonpkgs/rust/usr/local --disable-rpath --enable-manage-submodules --disable-clang --enable-ccache --enable-dist-host-only --disable-valgrind --disable-helgrind --disable-valgrind-rpass --python=/usr/bin/python2 --enable-optimize --enable-optimize-cxx --enable-optimize-llvm --enable-debug --enable-debuginfo --enable-debug-assertions --enable-debuginfo-tests --enable-llvm-assertions --enable-debug-jemalloc --disable-local-rust
...
$ make -j1 -- all NO_REBUILD=1 TIME_PASSES=1 TIME_LLVM_PASSES=1 'RUSTFLAGS=--verbose -Z verbose -Z print-link-args' RUST_BACKTRACE=1
....
<that error here, after 62min>

2 days later, latest commit: e7690e7
EDIT1:
$ ./configure --prefix=/home/zazdxscf/build/1nonpkgs/rust/usr/local --disable-rpath --enable-manage-submodules --disable-clang --enable-ccache --enable-dist-host-only --disable-valgrind --disable-helgrind --disable-valgrind-rpass --python=/usr/bin/python2 --enable-optimize --enable-optimize-cxx --enable-optimize-llvm --enable-debug --enable-debuginfo --enable-debug-assertions --enable-debuginfo-tests --enable-llvm-assertions --enable-debug-jemalloc --disable-local-rust

...
$ make -j1 -- all NO_REBUILD=1 TIME_PASSES=1 TIME_LLVM_PASSES=1 'RUSTFLAGS=--verbose -Z verbose -Z print-link-args -Z print-llvm-passes -Z no-landing-pads -Z verbose -C debug-assertions=y' RUST_BACKTRACE=1
cfg: version 1.5.0-dev (e7690e7 2015-10-21)
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu
cfg: enabling debug assertions (CFG_ENABLE_DEBUG_ASSERTIONS)
cfg: enabling debuginfo (CFG_ENABLE_DEBUGINFO)
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: good valgrind for x86_64-unknown-linux-gnu is 1
cfg: using CC=ccache gcc (CFG_CC)
cfg: disabling valgrind run-pass tests
rustc: x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_front
time: 0.100; rss: 41MB parsing
time: 0.027; rss: 41MB configuration 1
time: 0.000; rss: 41MB recursion limit
time: 0.002; rss: 41MB gated macro checking
time: 0.000; rss: 41MB crate injection
time: 0.021; rss: 43MB macro loading
time: 0.000; rss: 43MB plugin loading
time: 0.000; rss: 43MB plugin registration
time: 0.602; rss: 61MB expansion
time: 0.017; rss: 61MB complete gated feature checking 1
time: 0.127; rss: 61MB configuration 2
time: 0.000; rss: 61MB gated configuration checking
time: 0.066; rss: 61MB maybe building test harness
time: 0.061; rss: 61MB prelude injection
time: 0.010; rss: 61MB checking that all macro invocations are gone
time: 0.000; rss: 61MB checking for inline asm in case the target doesn't support it
time: 0.018; rss: 61MB complete gated feature checking 2
time: 0.062; rss: 61MB assigning node ids
time: 0.059; rss: 77MB lowering ast -> hir
time: 0.065; rss: 81MB indexing hir
time: 0.000; rss: 81MB attribute checking
time: 0.030; rss: 81MB early lint checks
time: 0.014; rss: 81MB external crate/lib resolution
time: 0.016; rss: 81MB language item collection
time: 0.306; rss: 109MB resolution
time: 0.011; rss: 109MB lifetime resolution
time: 0.000; rss: 109MB looking for entry point
time: 0.008; rss: 109MB looking for plugin registrar
time: 0.062; rss: 114MB region resolution
time: 0.008; rss: 114MB loop checking
time: 0.007; rss: 114MB static item recursion checking
time: 0.076; rss: 117MB type collecting
time: 0.016; rss: 117MB variance inference
time: 0.176; rss: 136MB coherence checking
time: 0.077; rss: 137MB wf checking (old)
time: 0.084; rss: 138MB item-types checking
time: 11.847; rss: 182MB item-bodies checking
time: 0.000; rss: 182MB drop-impl checking
time: 0.366; rss: 182MB wf checking (new)
time: 1.136; rss: 182MB const checking
time: 0.063; rss: 182MB privacy checking
time: 0.002; rss: 182MB stability index
time: 0.027; rss: 182MB intrinsic checking
time: 0.021; rss: 182MB effect checking
time: 0.126; rss: 182MB match checking
time: 0.836; rss: 239MB MIR dump
time: 0.088; rss: 244MB liveness checking
time: 2.420; rss: 244MB borrow checking
time: 1.702; rss: 244MB rvalue checking
time: 0.019; rss: 244MB reachability checking
time: 0.061; rss: 244MB death checking
time: 0.059; rss: 244MB stability checking
time: 0.000; rss: 244MB unused lib feature checking
fatal runtime error: Could not unwind stack, error = 5/home/zazdxscf/build/1nonpkgs/rust/rust/mk/target.mk:164: recipe for target 'x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.rustc_front' failed
make: *** [x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.rustc_front] Illegal instruction (core dumped)


bors added a commit to rust-lang-ci/rust that referenced this issue Sep 24, 2024
Visit struct fields recursively in uninit fallback check

This makes the fallback a bit more consistent with the other checks and rustc.

Fixes rust-lang#13364. When using a generic type as the `Vec` element type like the issue title says, rustc's uninit check fails and our fallback is used, which didn't look at struct fields when it could.

changelog: none
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

No branches or pull requests

4 participants