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 in recent rustc version #33436

Closed
dhardy opened this issue May 5, 2016 · 5 comments · Fixed by #33478
Closed

ICE in recent rustc version #33436

dhardy opened this issue May 5, 2016 · 5 comments · Fixed by #33478
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-beta Performance or correctness regression from stable to beta.

Comments

@dhardy
Copy link
Contributor

dhardy commented May 5, 2016

I don't know whether this was already reported. I get an ICE when running cargo test on this Pippin version (also the previous commit, didn't test others).

Compiler output

dhardy@localhost:~/other/pippin$ cargo --version && rustc --version
cargo 0.11.0-nightly (afac7fc 2016-04-27)
rustc 1.10.0-nightly (8da2bcac5 2016-04-28)

An older version works fine:

dhardy@localhost:~/other/pippin$ cargo --version && rustc --version
cargo 0.10.0-nightly (4576ae2 2016-03-16)
rustc 1.9.0-nightly (6e0f2f2f0 2016-03-16)
@nagisa
Copy link
Member

nagisa commented May 5, 2016

cc @eddyb has Callee in trace.

@nagisa nagisa added the I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ label May 5, 2016
@eddyb
Copy link
Member

eddyb commented May 5, 2016

My guess is Callee::trait_method or meth::get_impl_method needs to normalize the substitutions/TraitRef.

@vwim
Copy link

vwim commented May 6, 2016

Getting the same ICE with rustc 1.10.0-nightly (b5ba5923f 2016-04-21) but also on rustc 1.9.0-beta while running https://github.com/sebcrozet/ncollide examples (works fine on 1.8.0).

@nagisa nagisa added the regression-from-stable-to-beta Performance or correctness regression from stable to beta. label May 6, 2016
@xen0n
Copy link
Contributor

xen0n commented May 6, 2016

Just bisected this and got

There are only 'skip'ped commits left to test.
The first bad commit could be any of:
7011e30352583b5965c4a9118ca2c14b8ab24454
55b5a365ef64c6c1a53e348a5a5a5ff1cac1d958
9221b9118b96d668e2cf5d701b10c0566aa072e9
5af3c12cfc07887b66ed1d8cd9e59e1c77cc8790
c6d214bdeb1bfc9664ad14085c94bf2cbc5af6ee
b122d1636ac502dad51c827c16dc95d80d96c838
c3f856e7e24be568902a38c6a488aee6098f94cc
89766a81ef6270595cb8e51f100ed44be4bb9929
e0970498c79de1a1381d697b3c27895ef798e288
16201d45f16845cb5dc2fc0b48bcf34a6715ea14
d6e72c48dd7dacebe08b44e7ee6ce0f052797f55
062a05dde8c3ea5386fa358d882e1eaca99a9ff0
b05556e06da7c79f9db746728c2557114a94b3b1
b918e37eb3e393c5a5b0408430e146c0b66ec7ed
cdfad40735745252ad42519df8a6c8ecc3739b58
da66431d06b961efd323f25978964df54d44d3c4
We cannot bisect more!

Surely it regressed during the trans refactoring, but as none of the intermediate commits is building it's not exactly sure which change is to blame though. Will help investigating further.

@xen0n
Copy link
Contributor

xen0n commented May 7, 2016

I would try to fix this, already did one-liner fix in trans/callee.rs according to @eddyb , both pippin and the minimal testcase in #33461 passed without ICE. Will prepare the PR later ;-)

(EDIT: It's with stage1. Currently building stage2 and seeing if it can pass all tests. New to compiler writing and maintenance so kindly point out anything you feel like, thanks.)

xen0n added a commit to xen0n/rust that referenced this issue May 7, 2016
Manishearth added a commit to Manishearth/rust that referenced this issue May 8, 2016
…=eddyb

trans: callee: normalize trait_ref before use

This fixes rust-lang#33436 and rust-lang#33461. Ran the tests and nothing else seems to be affected.

P.S. How to write the regression test for this fix? Does this qualify as run-pass or run-make, as the test only needs to be successfully compiled to be considered passed? Will add the testcase (the minimal example in rust-lang#33461 seems fit) after clarifying this.
bors added a commit that referenced this issue May 9, 2016
trans: callee: normalize trait_ref before use

This fixes #33436 and #33461. Ran the tests and nothing else seems to be affected.

P.S. How to write the regression test for this fix? Does this qualify as run-pass or run-make, as the test only needs to be successfully compiled to be considered passed? Will add the testcase (the minimal example in #33461 seems fit) after clarifying this.
alexcrichton pushed a commit to alexcrichton/rust that referenced this issue May 18, 2016
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) ❄️ regression-from-stable-to-beta Performance or correctness regression from stable to beta.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants