The entropy in there seems to only be 1 bit, so in 50% of the cases, 2 builds randomly have identical results.
However, it should be easy to do 10 force-compiles of the relevant source like this:
I am surprised because for the offset to be so far in the file it would mean marshal is not deterministic. The code generating the cache is rather straightforward (see here https://github.com/nucleic/enaml/blob/master/enaml/core/import_hooks.py#L297). Alternatively the code could be unstable but that is weird too.
While working on reproducible builds for openSUSE, I found that
our
python-enaml0.10.4 package varies from nondeterministic bits in .enamlc files.The entropy in there seems to only be 1 bit, so in 50% of the cases, 2 builds randomly have identical results.
However, it should be easy to do 10 force-compiles of the relevant source like this:
If everything was good, there should just be 1 line with 10 counts of the same md5.
See also https://reproducible-builds.org/ for why deterministic program behaviour is good.
The text was updated successfully, but these errors were encountered: