Subject: bug#63288: 30.0.50; Emacs 30 packages fail to build with native comp on some machines

From: Mattias Engdegård <[email-masked]>
Date: Fri, 5 May 2023 16:12:14 +0200

>> In https://github.com/nix-community/emacs-overlay/issues/318, we
>> received a report about failed external-package builds when using
>> Nix, which has some additional plumbing including
>> https://github.com/nixos/nixpkgs/blob/abcc3146aeb06b8d2ded75bddac3a63544a6be7e/pkgs/build-support/emacs/melpa2nix.el#L26-L32.
>> 
>> It was observed that reverting
>> https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=ea9831bb3cb4878273f6f848051c9b8c3c76d5f1
>> would resolve our issue.
>> 
>> On my own machine, I don't always encounter the build failure (happened
>> to me once a few weeks ago, and then again today).

That's remarkable -- not only is it difficult to see anything wrong with that change (ea9831bb3c), it actually reverts byte-code generation for `ignore` forms in general so that the bytecode generated for `package-read-from-string` on master is again identical to that on emacs-29.

Andrea, does the native compiler somehow miscompile package-read-from-string?

Since the failure appears to be nondeterministic, perhaps there is a native-comp build race involved?