Skip to content

ICE: when no library name is given #5425

New issue

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

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

Already on GitHub? # to your account

Closed
klutzy opened this issue Mar 18, 2013 · 6 comments
Closed

ICE: when no library name is given #5425

klutzy opened this issue Mar 18, 2013 · 6 comments
Labels
A-metadata Area: Crate metadata I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@klutzy
Copy link
Contributor

klutzy commented Mar 18, 2013

$ rustc --version
rustc 0.6 (ebba8b4 2013-03-15 22:39:42 -0700)
host: x86_64-unknown-linux-gnu

$ rm -f test.rs && touch test.rs && RUST_LOG=rustc=1,::rt::backtrace rustc test.rs --lib -o ""
warning: missing crate link meta name, using ``as default
warning: missing crate link metavers, using`0.0` as default
rust: task failed at 'assertion failed: !ecx.link_meta.name.is_empty()', /home/lime/src/rust/src/librustc/metadata/encoder.rs:1148
/home/lime/usr/rust/bin/../lib/librustrt.so(_ZN9rust_task13begin_failureEPKcS1_m+0x4b)[0x7f569710b75b]
/home/lime/usr/rust/bin/../lib/librustrt.so(+0x2c039)[0x7f569711c039]
/home/lime/usr/rust/bin/../lib/librustrt.so(upcall_fail+0x190)[0x7f569710d550]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x1064db)[0x7f569a42f4db]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x106482)[0x7f569a42f482]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(_ZN3sys12begin_unwind17_7cd364c41f10422f3_06E+0x71)[0x7f569a37afa1]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(_ZN3sys11fail_assert15_7ab993b54e9a433_06E+0x230)[0x7f569a384550]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(+0x82ebc6)[0x7f569937fbc6]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(+0x8ac164)[0x7f56993fd164]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(_ZN8metadata7encoder15encode_metadata17_eac9ebefd2dd983c3_06E+0x759)[0x7f5698dfad89]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base14write_metadata17_9473cd474ecf143d3_06E+0x8a)[0x7f5698dfa10a]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(_ZN6middle5trans4base11trans_crate17_cad9f57a7299f4c43_06E+0x12cc)[0x7f5698dfff9c]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(+0x86ca10)[0x7f56993bda10]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(_ZN6driver6driver12compile_rest17_4f584da1f267ffac3_06E+0x417a)[0x7f56993ba8fa]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(+0x8ac164)[0x7f56993fd164]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(_ZN6driver6driver12compile_upto17_b3a99447756d7d313_06E+0x108)[0x7f56993bdbc8]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(+0x8ac164)[0x7f56993fd164]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(_ZN6driver6driver13compile_input17_894c3210c26b27423_06E+0xca)[0x7f56993be00a]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(_ZN12run_compiler17_3e88db675ebe9e253_06E+0x214a)[0x7f56993edc1a]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(+0x8a9aa1)[0x7f56993faaa1]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(+0x8a5edb)[0x7f56993f6edb]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(+0x8ac164)[0x7f56993fd164]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(+0xd015e)[0x7f569a3f915e]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x14ffa4)[0x7f569a478fa4]
/home/lime/usr/rust/bin/../lib/librustrt.so(_Z18task_start_wrapperP10spawn_args+0x24)[0x7f569710bfa4]
error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug
note: try running with RUST_LOG=rustc=1,::rt::backtrace to get further details and report the results to github.com/mozilla/rust/issues
rust: task failed at 'explicit failure', /home/lime/src/rust/src/librustc/rustc.rc:359
/home/lime/usr/rust/bin/../lib/librustrt.so(_ZN9rust_task13begin_failureEPKcS1_m+0x4b)[0x7f569710b75b]
/home/lime/usr/rust/bin/../lib/librustrt.so(+0x2c039)[0x7f569711c039]
/home/lime/usr/rust/bin/../lib/librustrt.so(upcall_fail+0x190)[0x7f569710d550]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x1064db)[0x7f569a42f4db]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x106482)[0x7f569a42f482]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(_ZN3sys12begin_unwind17_7cd364c41f10422f3_06E+0x71)[0x7f569a37afa1]
/home/lime/usr/rust/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so(+0x14ffa4)[0x7f569a478fa4]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(_ZN7monitor17_c8b32a4d18d0ac153_06E+0x1645)[0x7f56993f02d5]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(+0x8ac164)[0x7f56993fd164]
/home/lime/usr/rust/bin/../lib/librustc-c84825241471686d-0.6.so(_ZN4main16_706f4ee7413ae583_06E+0x7e)[0x7f56993fcd7e]
/home/lime/usr/rust/bin/../lib/librustrt.so(_Z18task_start_wrapperP10spawn_args+0x24)[0x7f569710bfa4]
rust: domain main @0x15cf3c0 root task failed

It fails because no library name is given anywhere. There should be some user-friendly error message instead of fail_unless!.
(What I actually tried at first is -o . which gives same error.)

@ghost ghost assigned catamorphism Apr 25, 2013
@catamorphism
Copy link
Contributor

Reproduced with 7b7a0fc

@catamorphism
Copy link
Contributor

I have a fix, but only for the case where the file name given with -o is actually empty. I realized that we don't validate the argument to -o at all, and should... but I don't want to write the code to do this right now. Not sure if it's still worth it to check in the fix for the empty case.

@catamorphism
Copy link
Contributor

On second thought, I'm going to de-milestone it and nominate for maturity milestone 5. That is, not just fixing the empty-filename case, but more generally, validating any output filenames that rustc takes as arguments.

@graydon
Copy link
Contributor

graydon commented May 2, 2013

accepted for production ready

@msullivan
Copy link
Contributor

Confirmed as still a bug.

@klutzy
Copy link
Contributor Author

klutzy commented Sep 3, 2013

Still relevant with fc9fa2c

oli-obk pushed a commit to oli-obk/rust that referenced this issue May 2, 2020
Ehance opt_as_ref_deref lint.

- [x] Added passing UI tests (including committed `.stderr` file)
- [x] `cargo test` passes locally
- [x] Run `cargo dev fmt`

Lint on opt.as_ref().map(|x| &**x). Fixes rust-lang#5367.

changelog: lint on opt.as_ref().map(|x| &**x)
oli-obk pushed a commit to oli-obk/rust that referenced this issue May 2, 2020
Rollup of 11 pull requests

Successful merges:

 - rust-lang#5406 (Fix update_lints)
 - rust-lang#5409 (Downgrade let_unit_value to pedantic)
 - rust-lang#5410 (Downgrade trivially_copy_pass_by_ref to pedantic)
 - rust-lang#5412 (Downgrade inefficient_to_string to pedantic)
 - rust-lang#5415 (Add new lint for `Result<T, E>.map_or(None, Some(T))`)
 - rust-lang#5417 (Update doc links and mentioned names in docs)
 - rust-lang#5419 (Downgrade unreadable_literal to pedantic)
 - rust-lang#5420 (Downgrade new_ret_no_self to pedantic)
 - rust-lang#5422 (CONTRIBUTING.md: fix broken triage link)
 - rust-lang#5424 (Incorrect suspicious_op_assign_impl)
 - rust-lang#5425 (Ehance opt_as_ref_deref lint.)

Failed merges:

 - rust-lang#5345 (Add lint for float in array comparison)
 - rust-lang#5411 (Downgrade implicit_hasher to pedantic)
 - rust-lang#5428 (Move cognitive_complexity to nursery)

r? @ghost

changelog: rollup
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-metadata Area: Crate metadata I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants