From unknown Sun Jun 22 00:56:01 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57593: Racket 8.6 is not reproducible Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: philip@philipmcgrath.com, bug-guix@gnu.org Resent-Date: Mon, 05 Sep 2022 10:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 57593 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 57593@debbugs.gnu.org Cc: Philip McGrath X-Debbugs-Original-To: bug-guix@gnu.org X-Debbugs-Original-Xcc: Philip McGrath Received: via spool by submit@debbugs.gnu.org id=B.166237224829861 (code B ref -1); Mon, 05 Sep 2022 10:05:02 +0000 Received: (at submit) by debbugs.gnu.org; 5 Sep 2022 10:04:08 +0000 Received: from localhost ([127.0.0.1]:46493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oV8xc-0007lZ-5j for submit@debbugs.gnu.org; Mon, 05 Sep 2022 06:04:08 -0400 Received: from lists.gnu.org ([209.51.188.17]:51138) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oV8xZ-0007lR-Tw for submit@debbugs.gnu.org; Mon, 05 Sep 2022 06:04:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46654) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oV8xZ-0006c1-KU for bug-guix@gnu.org; Mon, 05 Sep 2022 06:04:05 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40924) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oV8xZ-0002pC-9r for bug-guix@gnu.org; Mon, 05 Sep 2022 06:04:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=1JiyzECsh4tY24LvNY7nVsLSzDs4XxgREetcisj81nM=; b=OudHKPIKuYHDXm dDWquBWfpTUcqrRVdzg+k484ZWhnUyat/60c+9gJD6zQpaFa9D0IpIJ2vFD5TftqrFpNObiHuZ7Iq 7Mo8XZdJlIrIaqr1g6ssQ6c/8COfI7VWbGjqfk4kkSau9Zepn7/7IEV9bQqcyCLlqh3UCmQE36XWi kP0Jp/X/n7zgOXsDpM2NXPYpvIF8j7Qm2eoGKhKkkC7B60VpNKk+22Dxn2e7w1s1JIDZdBWztNp4h +1UFqmaO316HJTUxLKwaNHQ2PI3hxCQ4SS7llGRQFJs6Nohp6ByVJF+/TaVje3JIN0+E8iTT1G+9M uItQt32AYa19Yk51Mf3A==; Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=36726 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oV8xY-000723-LS for bug-guix@gnu.org; Mon, 05 Sep 2022 06:04:04 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Nonidi 19 Fructidor an 230 de la =?UTF-8?Q?R=C3=A9volution,?= jour du Tagette X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 05 Sep 2022 12:04:02 +0200 Message-ID: <87pmga3zot.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hey, Just noticed that Racket does not build in a reproducible fashion: --8<---------------cut here---------------start------------->8--- $ guix describe Generation 227 Sep 04 2022 23:39:52 (current) guix aae98c2 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: aae98c297214f87eb45302863adb021078c41a6f $ guix challenge racket | head -40 /gnu/store/av255rh362283i1zaiq9rz4rpli69j59-racket-8.6 contents differ: local hash: 1w4dnkvpbbrgfasyq8x1cbqw58jzqsny17ms5l1fb1h6iid38bs1 https://ci.guix.gnu.org/nar/lzip/av255rh362283i1zaiq9rz4rpli69j59-racket-= 8.6: 1lnxklizpnc599w7n2svb1jaw595wranm9aagd2928fcbiaavbr6 differing files: /lib/racket/pkgs/2d-doc/scribblings/compiled/2d_scrbl.dep /lib/racket/pkgs/2d-doc/scribblings/compiled/2d_scrbl.zo /lib/racket/pkgs/algol60/compiled/algol60_rkt.dep /lib/racket/pkgs/algol60/compiled/algol60_scrbl.dep /lib/racket/pkgs/algol60/compiled/algol60_scrbl.zo /lib/racket/pkgs/algol60/compiled/cfg-parser_rkt.dep /lib/racket/pkgs/algol60/compiled/compile_rkt.dep /lib/racket/pkgs/algol60/compiled/parse_rkt.dep /lib/racket/pkgs/algol60/compiled/parse_rkt.zo /lib/racket/pkgs/algol60/compiled/simplify_rkt.dep /lib/racket/pkgs/algol60/compiled/tool_rkt.dep /lib/racket/pkgs/algol60/lang/compiled/reader_rkt.dep /lib/racket/pkgs/algol60/tests/compiled/export_rkt.dep /lib/racket/pkgs/algol60/tests/compiled/export_rkt.zo /lib/racket/pkgs/algol60/tests/compiled/syncheck-test_rkt.dep /lib/racket/pkgs/algol60/tests/compiled/test_rkt.dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/awk_scrbl= .dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/awk_scrbl= .zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/cmdline_s= crbl.dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/cmdline_s= crbl.zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/cml_scrbl= .dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/cml_scrbl= .zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/common_rk= t.dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/common_rk= t.zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/compat_sc= rbl.dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/compat_sc= rbl.zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/compile_s= crbl.dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/compile_s= crbl.zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/contract-= label_rkt.dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/contract_= scrbl.dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/contract_= scrbl.zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/etc_scrbl= .dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/etc_scrbl= .zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/file_scrb= l.dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/file_scrb= l.zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/for_scrbl= .dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/for_scrbl= .zo /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/include_s= crbl.dep /lib/racket/pkgs/compatibility-doc/mzlib/scribblings/compiled/include_s= crbl.zo --8<---------------cut here---------------end--------------->8--- Ludo=E2=80=99. From unknown Sun Jun 22 00:56:01 2025 X-Loop: help-debbugs@gnu.org Subject: bug#57593: Racket 8.6 is not reproducible Resent-From: "Philip McGrath" Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 07 Sep 2022 17:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57593 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= , 57593@debbugs.gnu.org Received: via spool by 57593-submit@debbugs.gnu.org id=B57593.166257230825024 (code B ref 57593); Wed, 07 Sep 2022 17:39:02 +0000 Received: (at 57593) by debbugs.gnu.org; 7 Sep 2022 17:38:28 +0000 Received: from localhost ([127.0.0.1]:56102 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oVz0O-0006VX-5o for submit@debbugs.gnu.org; Wed, 07 Sep 2022 13:38:28 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:43087) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oVz0L-0006VJ-HE for 57593@debbugs.gnu.org; Wed, 07 Sep 2022 13:38:26 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id B5D663200919; Wed, 7 Sep 2022 13:38:19 -0400 (EDT) Received: from imap52 ([10.202.2.102]) by compute4.internal (MEProxy); Wed, 07 Sep 2022 13:38:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:content-transfer-encoding:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to; s=fm2; t=1662572299; x=1662658699; bh=9CKC3g+qHVLR26uKq67bKYq5W Q3ON7QIhOU0lQX8kQE=; b=Y/PYGsFrV6Y47oQZ1xafOQ+m7dYr8/jImFvbS9t7y 2XLgMbXZLh+osn2lgr2UWgG3iXxSMZy8JRwZLWvOcojGPx/m0K3DQtEiWfP+arm8 lmJWSoljXGGbTwYnQw+k1EOWyMwKiK4wOkHl4sC4juhRHNOzHvBcTP8EiFe75QyR jfTGhPFVS9qQKFMrTjPEgra6vrKWhVXM5rQhfJ7qc7L5sfnJ+BO5bwEZSlS9ZNFJ Az9eC3Wr6nM4F194BZaOGrWB5R6mlkOc6S9I5ZjGT44kuIqB58oR6Ayp2LQDSGo5 nxb5TjVLGv/8iAPrB96xSsAQv2wKKZZtAQfDg5A9Z2Nwg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:date:feedback-id:feedback-id:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1662572299; x=1662658699; bh=9 CKC3g+qHVLR26uKq67bKYq5WQ3ON7QIhOU0lQX8kQE=; b=UME6kDjUjNma/zU2w 2zrJRua3Dx7DKYfjWoqznetZ8SQQdXTyx/x6z3SJofkUTI+rUfH6kWnsmE6XQxJw LVMuDHDMZ3G+KFiEAjHOA6xa090d3vGG4xrUqEtV0hKDYq17txrJc92gF+a3fr5e ghkqJsn0Iy7tJY0z71TTkkvKHfVkWggTTuWpLODZlQjB4oyhv/Jw6396Tih8xaRt /vVtarQ5hrU+TvTYXtelZ24yKwpWRPLtPGZO72pIWCBdvU2vWRWc2k4ZWsZp2esz nN6JDDcjLNelAbpFdOXge3ISjOlBplRJCo/c2AHAGt9k38a1VEhFQgUQQ+g1qEky tbnbA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfedttddgudduiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvufgtgfesthhqredtreerjeenucfhrhhomhepfdfr hhhilhhiphcuofgtifhrrghthhdfuceophhhihhlihhpsehphhhilhhiphhmtghgrhgrth hhrdgtohhmqeenucggtffrrghtthgvrhhnpeefuedtgeffvdffgeeuveejgfejkedvieej jeffvdelkefhtdeiudelieegkeegkeenucffohhmrghinhepghhnuhdrohhrghdpghhith hhuhgsrdgtohhmpdhrvghprhhoughutghisghlvgdqsghuihhlughsrdhorhhgnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphhhihhlihhpse hphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id EE83AC60091; Wed, 7 Sep 2022 13:38:18 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.7.0-alpha0-927-gf4c98c8499-fm-20220826.002-gf4c98c84 Mime-Version: 1.0 Message-Id: <5f6e754e-1a0e-4f23-866d-08dcd7a111a3@www.fastmail.com> In-Reply-To: <87pmga3zot.fsf@inria.fr> References: <87pmga3zot.fsf@inria.fr> Date: Wed, 07 Sep 2022 13:36:33 -0400 From: "Philip McGrath" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, On Mon, Sep 5, 2022, at 6:04 AM, Ludovic Court=C3=A8s wrote: > Hey, > > Just noticed that Racket does not build in a reproducible fashion: > > --8<---------------cut here---------------start------------->8--- > $ guix describe > Generation 227 Sep 04 2022 23:39:52 (current) > guix aae98c2 > repository URL: https://git.savannah.gnu.org/git/guix.git > branch: master > commit: aae98c297214f87eb45302863adb021078c41a6f > $ guix challenge racket | head -40 > /gnu/store/av255rh362283i1zaiq9rz4rpli69j59-racket-8.6 contents differ: > local hash: 1w4dnkvpbbrgfasyq8x1cbqw58jzqsny17ms5l1fb1h6iid38bs1 > =20 > https://ci.guix.gnu.org/nar/lzip/av255rh362283i1zaiq9rz4rpli69j59-rack= et-8.6:=20 > 1lnxklizpnc599w7n2svb1jaw595wranm9aagd2928fcbiaavbr6 > differing files: > /lib/racket/pkgs/2d-doc/scribblings/compiled/2d_scrbl.dep > /lib/racket/pkgs/2d-doc/scribblings/compiled/2d_scrbl.zo Unfortunately, this is a known issue upstream. One part of the problem is the way that Chez Scheme uses "type 4" (rando= m) UUIDs to implement 'gensym'. There's some upstream discussion at , including an idea from me = about "type 5" UUIDs as part of a possible solution. That may well be the only issue with the core compiler for Racket CS. I = know effort has been taken to make Racket's front-end deterministic, and= Kent Dybvig says that: > Chez Scheme compiles are reproducible modulo the globally unique > names of generated symbols (gensyms), assuming macros don't do > things like introduce time stamps or random expressions into their out= put. > Because of differences in gensym names, the files produced by multiple > runs are not byte-by-byte identical but should compare equal via > the system primitive $fasl-file-equal? See, for example, the use > of $fasl-file-equal? in the s/Mf-base checkboot target. In the output you sent, the ".zo" files contain Chez machine code with a= Racket-specific wrapper, and the ".dep" files contain hashes of depende= ncies (so they differ when the ".zo" files they track differ). Debian reports at , discussing Racket 8.2+dfsg1-2: > Build path captured in html documentation. docindex.sqlite > contains content in arbitrary order. strings in binaries in > arbitrary order. Those issues don't appear to affect Guix: some might be caused by Debian= conflating "build" and "install" for Racket packages, and, in any case,= they seem related to the "scribble" and/or "racket-index" packages, not= the core compiler. IIRC, there were some reproducibility issues with the Racket BC bytecode= compiler. If we can build reproducibly with CS but not BC, it might wor= k out to disable compilation for the bootstrapping BC compilers, or mayb= e to configure them to use the machine-independent format (basically, a = serialized form of what the front-end would hand off to the back-end), a= t the cost of some performance. I hope to work on these issues, but I plan to work on a 'racket-build-sy= stem' first. Among other things, I hope it will be easier to investigate= issues when Racket packages can be built independently. -Philip