Closed bmwiedemann closed 1 year ago
Since mu4e-message.elc
is mentioned in the diff, I checked the build-log diff and saw that the relative position varied:
- [137/154] /usr/bin/emacs --no-init-file --batch --directory /home/abuild/rpmbuild/BUILD/mu-1.10.7/x86_64-suse-linux/mu4e --directory /home/abuild/rpmbuild/BUILD/mu-1.10.7/mu4e --eval '(setq load-prefer-newer t)' --eval '(setq byte-compile-warnings '"'"'(not obsolete))' --eval '(setq byte-compile-dest-file-function(lambda(_) "/home/abuild/rpmbuild/BUILD/mu-1.10.7/x86_64-suse-linux/mu4e/mu4e-icalendar.elc"))' --funcall batch-byte-compile ../mu4e/mu4e-icalendar.el
[141/154] /usr/bin/emacs --no-init-file --batch --directory /home/abuild/rpmbuild/BUILD/mu-1.10.7/x86_64-suse-linux/mu4e --directory /home/abuild/rpmbuild/BUILD/mu-1.10.7/mu4e --eval '(setq load-prefer-newer t)' --eval '(setq byte-compile-warnings '"'"'(not obsolete))' --eval '(setq byte-compile-dest-file-function(lambda(_) "/home/abuild/rpmbuild/BUILD/mu-1.10.7/x86_64-suse-linux/mu4e/mu4e-message.elc"))' --funcall batch-byte-compile ../mu4e/mu4e-message.el
+ [142/154] /usr/bin/emacs --no-init-file --batch --directory /home/abuild/rpmbuild/BUILD/mu-1.10.7/x86_64-suse-linux/mu4e --directory /home/abuild/rpmbuild/BUILD/mu-1.10.7/mu4e --eval '(setq load-prefer-newer t)' --eval '(setq byte-compile-warnings '"'"'(not obsolete))' --eval '(setq byte-compile-dest-file-function(lambda(_) "/home/abuild/rpmbuild/BUILD/mu-1.10.7/x86_64-suse-linux/mu4e/mu4e-icalendar.elc"))' --funcall batch-byte-compile ../mu4e/mu4e-icalendar.el
So it could be a race in the parallel compilation, because some dependency is not specified.
Now I saw that there is a todo in the meson.build
that says, it should use depfile
there - that is a file listing output: dep1 dep2
. It can be autocreated as in
https://github.com/mesonbuild/meson/tree/master/test%20cases/common/49%20custom%20target/depfile
I guess, that can help to always have the mu4e-icalendar.elc
created after mu4e-message.elc
Can you reproduce with the master
branch? A non-intrusive PR would be welcome.
I could not reproduce it with master
in 20 tries (it produced 2 identical results each time). So maybe some change between 1.10.7 and master fixed it?
Yeah, the build setup changed a bit in master
. Thanks, closing this.
Describe the bug While working on reproducible builds for openSUSE, I found that our
maildir-utils
(mu-1.10.7) package sometimes varied in itsmu4e/mu4e-icalendar.elc
file.How to Reproduce I run my test script to do two fresh builds with
meson
in a 1-core and 4-core VM with clocks set to different date+time. For some reason it produced identical results in 6 tries and then produced variations twice. It may be a low-entropy or rare race that might be hard to reproduce. Maybe the diff below can give a hint to the source.Environment openSUSE Tumbleweed with emacs-29.1
Checklist
master
(otherwise please upgrade)You can find the differing files in https://rb.zq1.de/temp/maildir-utils-elc.tar.gz
Here is the output of filterdiff strings $FILES