internal compiler error: encountered incremental compilation error with predicates #4
-
|
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 2 replies
-
|
Beta Was this translation helpful? Give feedback.
-
Great to hear from you. You're fast 🙂 Attached is the project that generated the bug. Most of it is hello_world-level stuff- and disconnected tinkering. The workflow was to run a test, write some code, run a test. By about the second or third test-change the defect was consistent to get. Hope that helps, and let me know if you have any questions. Cheers! Rana Ian |
Beta Was this translation helpful? Give feedback.
-
Unfortunately, I'm not able to reproduce your crash locally. Could you elaborate on the kinds if changes you were making to the tests before the crash started occuring? |
Beta Was this translation helpful? Give feedback.
-
I've managed to create a predicates_of ICE locally by changing a file in a dependency, without modifying the timestamp. When Rust tries to read in an 'external src file' from the dependency during the second compilation session, the src_hash will no longer match. This causes span_to_snippet to fail, causing us to generate a different span in predicates_of. However, I'm not sure if this is the same ICE that you've reported. EDIT: On further investigation, it appears that modifying files in ~/.cargo/registry does not trigger a rebuild of the dependency, even though the modification time changes. I think a modification of bitpacking-0.8.4/src/lib.rs, combined with certain modifications to the tsr crate, would be enough to cause an ICE similar to the one that you're seeing. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
That's interesting. The fact that you were getting the ICE consistently would seem to rule out any kind of transient I/O issue - Rust would need to fail to open /home/rana/.cargo/registry/src/github.com-1ecc6299db9ec823/bitpacking-0.8.4/src/lib.rs each time you got the ICE. I've opened rust-lang/rust#86480 to track an issue that I've discovered from investigation this. It's possible that these two issues are actually the same, but I'm not certain. |
Beta Was this translation helpful? Give feedback.
I've managed to create a predicates_of ICE locally by changing a file in a dependency, without modifying the timestamp. When Rust tries to read in an 'external src file' from the dependency during the second compilation session, the src_hash will no longer match. This causes span_to_snippet to fail, causing us to generate a different span in predicates_of.
However, I'm not sure if this is the same ICE that you've reported.
@rana: Is there any change that /home/rana/.cargo/registry/src/github.com-1ecc6299db9ec823/bitpacking-0.8.4/src/lib.rs somehow got modified between compilation sessions? Is /home/rana/.cargo on an atypical partition (e.g. NFS)?
EDIT: On further investigation, it appears…