Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upSpurious rebuilds of paths-overrides #2041
Comments
This comment has been minimized.
This comment has been minimized.
|
With some output from the newer cargo fingerprinting stuff: |
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
|
To recap, my belief is that this is the following bug:
There's a few possible solutions to this that I can think of:
The question of overriding a dependency with a whole new set of transitive dependencies has always been a little sketchy to me, so it's unclear how robust this can be made in the long-term. @larsbergstrom for now I'd recommend not using path overrides for large scale refactors but instead using normal git and path dependencies which should always be reliable. |
This comment has been minimized.
This comment has been minimized.
|
I'm having a lot of success right now just removing the I'm not really sure what you mean by |
This comment has been minimized.
This comment has been minimized.
|
Ah yeah I meant editing Cargo.toml to point to the new dependency (in a first class, not overridden fashion). But if that's too painful then ah well, worth a shot! |
This was referenced Oct 14, 2015
This was referenced Nov 11, 2015
This comment has been minimized.
This comment has been minimized.
cyplo
commented
Aug 17, 2016
|
Hi ! |
This comment has been minimized.
This comment has been minimized.
|
@cyplo Yes, but we can now use |
alexcrichton
referenced this issue
Aug 26, 2016
Closed
Unstable dependency selection and rebuilding #3043
alexcrichton
added a commit
to alexcrichton/cargo
that referenced
this issue
Sep 29, 2016
alexcrichton
referenced this issue
Sep 29, 2016
Merged
Warn about path overrides that won't work #3136
bors
added a commit
that referenced
this issue
Oct 6, 2016
bors
closed this
in
#3136
Oct 6, 2016
This comment has been minimized.
This comment has been minimized.
|
Another case #3136 has exposed that wasn't handled correctly before: If you've got a |
larsbergstrom commentedOct 8, 2015
I think I've noticed something related to Servo's "spurious rebuilds" issue! They seem to be triggered by Cargo deciding that one of the
paths-overrided dependencies needs to be rebuilt. So, we see it a LOT when working on a rustup (or things like my android changes touching a lot of stuff), but still see it a bit on Servo itself because we have apathsoverride even in our default build (https://github.com/servo/servo/blob/master/components/servo/.cargo/config#L1 ).Basically, without touching my machine I can just re-reun a build and it will seemingly randomly occasionally have a "good rebuild" log, but much more often have a "bad rebuild" log. The bad ones always start with things that are being overridden - in this case, I'm overriding skia, angle, gleam, rust-offscreen-rendering-context, and glutin.
Fingerprint log of a good rebuild:
https://drive.google.com/file/d/0B9-EBhw4XiWEZlVRZUpGcjFqYVU/view?usp=sharing
Fingerprint log of a bad rebuild:
https://drive.google.com/file/d/0B9-EBhw4XiWEWU1TRGFaZVJfR2s/view?usp=sharing
Hope this is enough info to debug it!