-
-
Notifications
You must be signed in to change notification settings - Fork 155
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
generated.rs is not deterministic #1632
Comments
That's strange. We didn't make a lot of changes in 0.18.1: The issue likely stems from the markup5ever crate's code generation process. The non-deterministic behavior seems to arise from a hash table or similar data structure being used during code generation, and the implementation isn't providing stable ordering or values across builds. Looking at their version history, I can't see anything out of the ordinary right away: https://github.com/servo/html5ever/commits/main/markup5ever But I think this part is the non-deterministic part: https://github.com/servo/html5ever/blob/0e4e125b8672abad4ff14d1e0043d3be9305af6a/markup5ever/build.rs#L32 You might want to file an issue with the markup5ever project about the non-deterministic builds. |
There was an update to servo/html5ever / string_cache_codegen that fixed the issue. Will this change appear here automatically or do some Cargo.lock files need updating? |
We can check. Do you know if servo cut a new release of html5ever already? We merged some dependency updates yesterday. |
Seems like the last dependency updates didn't contain html5ever 0.29.2. |
They did not tag anything since 9 months :-( |
@bmwiedemann, the latest batch of updates now contains html5ever 0.30.0. |
While working on reproducible builds for openSUSE, I found that
our
lychee-0.18.1
package does produce different build results in every clean build becausegenerated.rs
varies randomly.https://rb.zq1.de/other/lychee-compare.out
Here is an extract of the '7u8' part of the diff:
Version 0.18.0 was still marked as fully deterministic in my tests, so this might be a recent regression. But it might also be that I tested it less thoroughly (without debuginfo enabled)
The text was updated successfully, but these errors were encountered: