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 no library name is given #5425

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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