Skip to content

guix: Windows build is non-deterministic across build architectures #32923

@fanquake

Description

@fanquake

This has been the case since 8578fab.

Guix build on x86_64 & aarch64 @ 01f9081 (prior merge):

0324606fdfc525e2acf6ffc5b5327021df6b47de107dbeb51f54162a3dead570  guix-build-01f908195589/output/dist-archive/bitcoin-01f908195589.tar.gz
e9be0c0c6ab0d856c2176ff0da9c4fb3599f8bd0d578138262fde7307691c28b  guix-build-01f908195589/output/x86_64-w64-mingw32/SHA256SUMS.part
b27afe43704fa3045f1acebd967f282781f5d1907b48fbc1455c69a7f148ab1a  guix-build-01f908195589/output/x86_64-w64-mingw32/bitcoin-01f908195589-win64-codesigning.tar.gz
b445befd6dbe5668d9e6f1f2722fba0ed9b01c33c12271b790befb4856b988a9  guix-build-01f908195589/output/x86_64-w64-mingw32/bitcoin-01f908195589-win64-debug.zip
addb8b7c4ebefeeef5ece568cdc021bc98f5c5e8a57bfac7dd12fc41df487bda  guix-build-01f908195589/output/x86_64-w64-mingw32/bitcoin-01f908195589-win64-setup-unsigned.exe
472d798ca94c12331b4a0c5f3d7160b11d7b7a7f18776a2edb8220fffe9f9fa9  guix-build-01f908195589/output/x86_64-w64-mingw32/bitcoin-01f908195589-win64-unsigned.zip

Guix Build @ 8578fab:

# x86_64
a993b92027df5cc5ff6ee2355fb4214fe566769917abcedd91b2c4c01814891f  guix-build-8578fabb95fa/output/dist-archive/bitcoin-8578fabb95fa.tar.gz
26912d42f5228c146ee27a533daf4d111f164a34e77b6ab68a15b25c3f89d37d  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/SHA256SUMS.part
756656f917c0025b5b921f3fbd20f0f0815867b85c692c0bdaf6ec139adb88a3  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/bitcoin-8578fabb95fa-win64-codesigning.tar.gz
9c0b6af68e716767a3ab83c3c22aae4074c26afa0ca01ad9d16ccbe90d219148  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/bitcoin-8578fabb95fa-win64-debug.zip
a103dba4ba354ed2f3ca73dfa19e86a525ba40d9d6c7baf67f663623e02449a1  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/bitcoin-8578fabb95fa-win64-setup-unsigned.exe
f77d0ef89287a5233c2904e266d3e93f779665cfa3d10586339df053bebdab84  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/bitcoin-8578fabb95fa-win64-unsigned.zip

# aarch64
a993b92027df5cc5ff6ee2355fb4214fe566769917abcedd91b2c4c01814891f  guix-build-8578fabb95fa/output/dist-archive/bitcoin-8578fabb95fa.tar.gz
f3bb452cb21520cd31c962a2c54866f0a0176ac2f6e6848ac6926b5c0a7b4131  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/SHA256SUMS.part
19c98f753129ef55c920ab5dbb93b23de5164d43bd2654533c0cce8783b1406d  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/bitcoin-8578fabb95fa-win64-codesigning.tar.gz
9c0b6af68e716767a3ab83c3c22aae4074c26afa0ca01ad9d16ccbe90d219148  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/bitcoin-8578fabb95fa-win64-debug.zip
78ace262a902030421b0748252701d4c948f72458ec7f1dddd84492ef620b53d  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/bitcoin-8578fabb95fa-win64-setup-unsigned.exe
8262620ed8029972b991e79e65c446cc0bae7d15f6db8c4f78dc7e0aff173900  guix-build-8578fabb95fa/output/x86_64-w64-mingw32/bitcoin-8578fabb95fa-win64-unsigned.zip

I originally thought this was somehow introduced in #32837. However this was the difference in the binaries:

--- a.txt
+++ b.txt
@@ -1,9 +1,9 @@
 
-bitcoin-qt.exe_built_on_x86_64_unstripped:	file format coff-x86-64
+bitcoin-qt.exe_built_on_aarch64_unstripped:	file format coff-x86-64
 
 Disassembly of section .text:
 
 0000000140b1b070 <_ZN11WalletModel18prepareTransactionER22WalletModelTransactionRKN6wallet12CCoinControlE>:
 140b1b070: f3 0f 1e fa                 	endbr64
 140b1b074: 41 57                       	pushq	%r15
 140b1b076: 41 56                       	pushq	%r14
@@ -607,15 +607,15 @@
 140b1bb7d: b8 ff ff ff ff              	movl	$0xffffffff, %eax       # imm = 0xFFFFFFFF
 140b1bb82: e9 1f fb ff ff              	jmp	0x140b1b6a6 <_ZN11WalletModel18prepareTransactionER22WalletModelTransactionRKN6wallet12CCoinControlE+0x636>
 140b1bb87: 89 56 1c                    	movl	%edx, 0x1c(%rsi)
 140b1bb8a: 4c 01 fa                    	addq	%r15, %rdx
 140b1bb8d: 49 89 d0                    	movq	%rdx, %r8
 140b1bb90: 31 c0                       	xorl	%eax, %eax
 140b1bb92: 4d 29 f8                    	subq	%r15, %r8
-140b1bb95: 4c 39 fa                    	cmpq	%r15, %rdx
+140b1bb95: 49 39 d7                    	cmpq	%rdx, %r15
 140b1bb98: 0f 84 68 fc ff ff           	je	0x140b1b806 <_ZN11WalletModel18prepareTransactionER22WalletModelTransactionRKN6wallet12CCoinControlE+0x796>
 140b1bb9e: 66 90                       	nop
 140b1bba0: 41 0f b6 14 07              	movzbl	(%r15,%rax), %edx
 140b1bba5: 88 14 01                    	movb	%dl, (%rcx,%rax)
 140b1bba8: 48 83 c0 01                 	addq	$0x1, %rax
 140b1bbac: 49 39 c0                    	cmpq	%rax, %r8
 140b1bbaf: 75 ef                       	jne	0x140b1bba0 <_ZN11WalletModel18prepareTransactionER22WalletModelTransactionRKN6wallet12CCoinControlE+0xb30>

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions