From unknown Tue Jun 17 20:09:57 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#42009 <42009@debbugs.gnu.org> To: bug#42009 <42009@debbugs.gnu.org> Subject: Status: package cache build is not deterministic Reply-To: bug#42009 <42009@debbugs.gnu.org> Date: Wed, 18 Jun 2025 03:09:57 +0000 retitle 42009 package cache build is not deterministic reassign 42009 guix submitter 42009 Marinus severity 42009 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 22 13:25:15 2020 Received: (at submit) by debbugs.gnu.org; 22 Jun 2020 17:25:15 +0000 Received: from localhost ([127.0.0.1]:34467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jnQC3-0005Fu-8u for submit@debbugs.gnu.org; Mon, 22 Jun 2020 13:25:15 -0400 Received: from lists.gnu.org ([209.51.188.17]:52096) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jnPvF-0004qc-7C for submit@debbugs.gnu.org; Mon, 22 Jun 2020 13:07:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53894) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jnPvF-00088Q-1Z for bug-guix@gnu.org; Mon, 22 Jun 2020 13:07:53 -0400 Received: from knopi.disroot.org ([178.21.23.139]:47350) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jnPvC-0003Sk-DT for bug-guix@gnu.org; Mon, 22 Jun 2020 13:07:52 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id D9FE346A10 for ; Mon, 22 Jun 2020 19:07:46 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id h9toMca_5guv for ; Mon, 22 Jun 2020 19:07:45 +0200 (CEST) Date: Mon, 22 Jun 2020 19:07:42 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1592845665; bh=iH4cb5MxllYL56Y4UIjZ6+ovj9c2SjqVF6w0TGGF5s4=; h=Date:From:To:Subject; b=Imvhrg6d4955Fha2wvsmk0ZNuDn6yUH+gHujWwMMCU3xeumJmHvXOHBHrT5gAztas C99QMRPhXxlv31wEhUPGqSTMZFI6WceaOzPUHuZFWkAmJWFDol3Ak5N/GJHcB0bykV /9ePhnS5yBHBaW5ha0WEtOJOON0g7tMJ5hUsz9z1CTh3APKnBTFV0BRDyP/o02JCD0 r024HobpCc+2EBrnBSHHjl7eydGJe79DlMzcQQJ9j0xJmoaieKaH69599v+TylBY1G ZZBH+xxnrsBysxIi/52m3ISpnlINhT8LatSbaWjsPmmafezjWTeDSB7b/22k4vi7qv RF328iZXaU6DA== From: Marinus To: bug-guix@gnu.org Subject: Determinism problem with guix pull Message-ID: <20200622190742.04a62732@disroot.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=178.21.23.139; envelope-from=marinus.savoritias@disroot.org; helo=knopi.disroot.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/22 13:07:47 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 22 Jun 2020 13:25:12 -0400 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: -2.4 (--) Hi, Run into a determinism problem today with guix pull. I run guix pull --rounds=3D3 but guix ended in error that the result wasn't the same. The error was this: building package cache... |output =E2=80=98/gnu/store/277s1r2kxw9pfw1g6wg3vf6wrkksj57y-guix-package-cache=E2= =80=99 of =E2=80=98/gnu/store/m64b2g2h75xbbnrxxn3g1h4833i58yj4-guix-package-cache.drv= =E2=80=99 differs from previous round build of /gnu/store/m64b2g2h75xbbnrxxn3g1h4833i58yj4-guix-package-cache.drv failed View build log at '/var/log/guix/drvs/m6/4b2g2h75xbbnrxxn3g1h4833i58yj4-guix-package-cache.dr= v.bz2'. cannot build derivation `/gnu/store/bcpjm4yvslpf4858lx4pj89xj279z5nv-profile.drv': 1 dependencies couldn't be built guix pull: error: build of `/gnu/store/bcpjm4yvslpf4858lx4pj89xj279z5nv-profile.drv' failed The files are indeed different size with one being larger than the other. My system is this: guix describe Generation 7 Jun 18 2020 13:55:17 (current) guix e418c3d repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: e418c3d076ec301a2deda42568035d75f5ed174d Marinus From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 23 18:46:15 2020 Received: (at 42009) by debbugs.gnu.org; 23 Jun 2020 22:46:15 +0000 Received: from localhost ([127.0.0.1]:37383 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jnrgF-0000Nf-GS for submit@debbugs.gnu.org; Tue, 23 Jun 2020 18:46:15 -0400 Received: from mail-wm1-f52.google.com ([209.85.128.52]:33832) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jnrgC-0000NP-8L for 42009@debbugs.gnu.org; Tue, 23 Jun 2020 18:46:14 -0400 Received: by mail-wm1-f52.google.com with SMTP id u26so3190310wmn.1 for <42009@debbugs.gnu.org>; Tue, 23 Jun 2020 15:46:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:in-reply-to:references:date:message-id:mime-version :content-transfer-encoding; bh=h8yBNrNO/0f0dTWJdR5ohlgjUPiuxZNhS8rMClnmIFI=; b=DeM52RfYpZyvGqsjJurbHChVgWBG34S0YEAMrPMaE+T61Dug95YHe/MVi/VORqm9Pa fRBpHZw9epYGkq+g4XTjpllYWOb/G7lheI4UT8n/AJOJTlDEIT4qftbgYn5kP4VhRKAu MFAKz6tRJIVXzGx357u29kePr7jfRGN5FV9fI4i9o8WMwsmYAQGtT8EjdWt0tXcGjkTS 9Izp2FWDmf+XNpM1YomBnehIFxb7XQCteWi468TGYHj6mS5Dnf65lrvwilCol82hOcOD 345QZ3r5zWqiR1eU6abGhUQdG5wp371lIdY4K/tKvNrPouSU+MeqZmMSkan8biljz4ta wSGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=h8yBNrNO/0f0dTWJdR5ohlgjUPiuxZNhS8rMClnmIFI=; b=AKCJloQ7UM3lK1ik6c2EfyrfL6X9ElXVbK0Ooie4LSqeAXMbbq7/7LD8rZZTWjctpx g0OB59qhNKO7H94ylqCn2vGJuRMjx1HrC1BpCkgFCcyU3H3V3jMgYO0vqzYJggbLeU9B FKyg0XNtBg1H4n+4dktJx+h2zIjNq8D6PcDO6BhbsSkphpsci5+CUWfZ+bfU60dKQvB3 MRzEwN4oxDYrAsxDisBS+0O86OZQWfF1m7z66TfxB5cU8B8KYyJBkEX/B/BkJMOGbdQQ XGNoEi5eJCtuvm6GOumXDycX8D0lal5/37TSUxanVTtaSNVIvEyt5Eyu7g1wP1XerEpS awAQ== X-Gm-Message-State: AOAM5302G0ZkwVaMoi/vhwp+heK5ZSnArRAe+glmCbg6CBEDLmx6ED8U wPS9jv57Rb9IgIDuUfyblHuQ6SpP+MY= X-Google-Smtp-Source: ABdhPJx4SKSqhWCTBKt71c9mUyCbwOzW/Dhxvut5uxQjNprBZQEElLl4SwezqH8s23ZuWZ+/ZzYIBQ== X-Received: by 2002:a7b:cd83:: with SMTP id y3mr25972544wmj.5.1592952365662; Tue, 23 Jun 2020 15:46:05 -0700 (PDT) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id s5sm5581226wmj.18.2020.06.23.15.46.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jun 2020 15:46:05 -0700 (PDT) From: zimoun To: Marinus , 42009@debbugs.gnu.org Subject: Re: bug#42009: package.cache not deterministic In-Reply-To: <20200622190742.04a62732@disroot.org> References: <20200622190742.04a62732@disroot.org> Date: Wed, 24 Jun 2020 00:46:04 +0200 Message-ID: <86ftalqu37.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42009 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.0 (-) Dear, Thank you for the bug report. It is something already noticed [1] but without a clean bug report to track it. :-) 1: http://issues.guix.gnu.org/issue/39258#86 On Mon, 22 Jun 2020 at 19:07, Marinus wrot= e: > Run into a determinism problem today with guix pull. > I run guix pull --rounds=3D3 but guix ended in error that the result > wasn't the same. For reproducing, the simplest is: --8<---------------cut here---------------start------------->8--- $ guix build --check --no-grafts -K \ $(guix gc --derivers \ $(readlink -f ~/.config/guix/current/lib/guix/package.cache)) The following profile hooks will be built: /gnu/store/l50sinckbl1y0fz2y4yk4vvfdvay9c8l-guix-package-cache.drv /gnu/store/h69hdf14c11q7dip0gssfd4cv0qw8j7k-guix-package-cache.drv building package cache... (repl-version 0 1 1) Generating package cache for '/gnu/store/67zi87xwv2d90kx8pzxsbw2q7qkh11ns-p= rofile'... (values (value "/gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-ca= che/lib/guix/package.cache")) guix build: error: derivation `/gnu/store/h69hdf14c11q7dip0gssfd4cv0qw8j7k-= guix-package-cache.drv' may not be deterministic: output `/gnu/store/0009wh= xhfz00lm027wbars8q4wb3rvia-guix-package-cache' differs --8<---------------cut here---------------end--------------->8--- Then the usual "diffoscope": --8<---------------cut here---------------start------------->8--- diffoscope \ /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache/lib/guix/pac= kage.cache \ /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache-check/lib/gu= ix/package.cache\ | head -n50 --8<---------------cut here---------------end--------------->8--- outputs something like: --8<---------------cut here---------------start------------->8--- --- /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache/lib/guix= /package.cache +++ /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache-check/li= b/guix/package.cache =E2=94=9C=E2=94=80=E2=94=80 readelf --wide --file-header {} =E2=94=82 @@ -6,15 +6,15 @@ =E2=94=82 OS/ABI: =E2=94=82 ABI Version: 0 =E2=94=82 Type: DYN (Shared object file) =E2=94=82 Machine: None =E2=94=82 Version: 0x1 =E2=94=82 Entry point address: 0x0 =E2=94=82 Start of program headers: 64 (bytes into file) =E2=94=82 - Start of section headers: 4900296 (bytes into file) =E2=94=82 + Start of section headers: 4900456 (bytes into file) =E2=94=82 Flags: 0x0 =E2=94=82 Size of this header: 64 (bytes) =E2=94=82 Size of program headers: 56 (bytes) =E2=94=82 Number of program headers: 3 =E2=94=82 Size of section headers: 64 (bytes) =E2=94=82 Number of section headers: 20 =E2=94=82 Section header string table index: 17 =E2=94=9C=E2=94=80=E2=94=80 readelf --wide --program-header {} =E2=94=82 @@ -1,16 +1,16 @@ =E2=94=82=20=20 =E2=94=82 Elf file type is DYN (Shared object file) =E2=94=82 Entry point 0x0 =E2=94=82 There are 3 program headers, starting at offset 64 =E2=94=82=20=20 =E2=94=82 Program Headers: =E2=94=82 Type Offset VirtAddr PhysAddr = FileSiz MemSiz Flg Align =E2=94=82 - LOAD 0x000000 0x0000000000000000 0x0000000000000000 = 0x286a68 0x286a68 R 0x10000 =E2=94=82 - LOAD 0x290000 0x0000000000290000 0x0000000000290000 = 0x21c5c8 0x21c5c8 RW 0x10000 =E2=94=82 - DYNAMIC 0x286a08 0x0000000000286a08 0x0000000000286a08 = 0x000060 0x000060 R 0x8 =E2=94=82 + LOAD 0x000000 0x0000000000000000 0x0000000000000000 = 0x286b78 0x286b78 R 0x10000 =E2=94=82 + LOAD 0x290000 0x0000000000290000 0x0000000000290000 = 0x21c668 0x21c668 RW 0x10000 =E2=94=82 + DYNAMIC 0x286b18 0x0000000000286b18 0x0000000000286b18 = 0x000060 0x000060 R 0x8 =E2=94=82=20=20 =E2=94=82 Section to Segment mapping: =E2=94=82 Segment Sections... =E2=94=82 00 .rodata .rtl-text .dynamic=20=20 =E2=94=82 01 .data=20 =E2=94=82 02 .dynamic =E2=94=9C=E2=94=80=E2=94=80 readelf --wide --sections {} =E2=94=82=E2=94=84 stderr from `readelf --wide --sections {}`: =E2=94=82=E2=94=84 readelf: Warning: [ 5]: Link field (0) should index a st= ring section. =E2=94=82 @@ -1,29 +1,29 @@ =E2=94=82 -There are 20 section headers, starting at offset 0x4ac5c8: =E2=94=82 +There are 20 section headers, starting at offset 0x4ac668: --8<---------------cut here---------------end--------------->8--- Well, I do not know what should the next step. I mean this "package.cache" file is created by the function gnu/packages.scm:(generate-package-cache) which reads: --8<---------------cut here---------------start------------->8--- ;; Store the cache as a '.go' file. This makes loading fast and redu= ces ;; heap usage since some of the static data is directly mmapped. (put-bytevector port (compile `'(,@exp) #:to 'bytecode #:opts '(#:to-file? #t))))) --8<---------------cut here---------------end--------------->8--- Then it is on the Guile side, isn't it?=20 All the best, simon From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 24 17:40:07 2020 Received: (at 42009) by debbugs.gnu.org; 24 Jun 2020 21:40:07 +0000 Received: from localhost ([127.0.0.1]:39246 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1joD7m-0006bI-Ib for submit@debbugs.gnu.org; Wed, 24 Jun 2020 17:40:07 -0400 Received: from knopi.disroot.org ([178.21.23.139]:53440) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1joAcE-0002cr-CT for 42009@debbugs.gnu.org; Wed, 24 Jun 2020 14:59:23 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id C006D4821E; Wed, 24 Jun 2020 20:59:20 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ij0kQxSFptUB; Wed, 24 Jun 2020 20:59:18 +0200 (CEST) Date: Wed, 24 Jun 2020 20:59:17 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1593025158; bh=4ykDRo8JuCrHkzsD8hytWsiXonF1DwFlr2n7YE0R7eQ=; h=Date:From:Subject:To:Cc:In-Reply-To:References; b=UPIR/9kjHtDYBHtiMQRt/s0ycfACKHr0sf1mPOgrkNFClYN82UEU/HupawTWEfFI5 s8ZtenonxI5x1eFfkMeYoODmhg5oxqipy+gcNCIfZJ/TuPJFtlmtC6lP1TZhU1cj5L Kgsuhly4kQ5T7hMs0tQEZKC4d2ZseEgp4w5TuqB2HHFPZ+XUzxSiAxr00obZM/tlDn 9oqyETIBdYthYjS1zQJyJKinTPK+ebGg5MptiGNt3KqI7HW9cYfpNh1K/Zlcbm2Vob mrRrJvfTgtMIQ7Wupy5qebxEEhySG44p9oL0j7kesAdCdE6Onty/0PkxvuRV6pvshT 8Vc3zSnfALa0w== From: Msavoritias Subject: Re: bug#42009: package.cache not deterministic To: zimoun Message-Id: <1593025157.3861.2@disroot.org> In-Reply-To: <86ftalqu37.fsf@gmail.com> References: <20200622190742.04a62732@disroot.org> <86ftalqu37.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="=-8jj3MTje5Ex8fXeBTM41" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42009 X-Mailman-Approved-At: Wed, 24 Jun 2020 17:40:05 -0400 Cc: 42009@debbugs.gnu.org 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.0 (-) --=-8jj3MTje5Ex8fXeBTM41 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi, Yeah seems like it. Although I have to admit I'm pretty newbie in a lot=20 of this stuff. Do you suggest this bug should be filed against Guile? Marinus On Wed, Jun 24, 2020 at 00:46, zimoun wrote: > Dear, >=20 > Thank you for the bug report. It is something already noticed [1] but > without a clean bug report to track it. :-) >=20 > 1: >=20 >=20 > On Mon, 22 Jun 2020 at 19:07, Marinus > wrote: >=20 >> Run into a determinism problem today with guix pull. >> I run guix pull --rounds=3D3 but guix ended in error that the result >> wasn't the same. >=20 > For reproducing, the simplest is: >=20 > --8<---------------cut here---------------start------------->8--- > $ guix build --check --no-grafts -K \ > $(guix gc --derivers \ > $(readlink -f ~/.config/guix/current/lib/guix/package.cache)) > The following profile hooks will be built: > /gnu/store/l50sinckbl1y0fz2y4yk4vvfdvay9c8l-guix-package-cache.drv > /gnu/store/h69hdf14c11q7dip0gssfd4cv0qw8j7k-guix-package-cache.drv > building package cache... > (repl-version 0 1 1) > Generating package cache for=20 > '/gnu/store/67zi87xwv2d90kx8pzxsbw2q7qkh11ns-profile'... > (values (value=20 > "/gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache/lib/guix/= package.cache")) > guix build: error: derivation=20 > `/gnu/store/h69hdf14c11q7dip0gssfd4cv0qw8j7k-guix-package-cache.drv'=20 > may not be deterministic: output=20 > `/gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache'=20 > differs > --8<---------------cut here---------------end--------------->8--- >=20 > Then the usual "diffoscope": >=20 > --8<---------------cut here---------------start------------->8--- > diffoscope \ > /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache/lib/guix/p= ackage.cache=20 > \ > /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache-check/lib/= guix/package.cache\ > | head -n50 > --8<---------------cut here---------------end--------------->8--- >=20 > outputs something like: >=20 > --8<---------------cut here---------------start------------->8--- > ---=20 > /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache/lib/guix/p= ackage.cache > +++=20 > /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache-check/lib/= guix/package.cache > =E2=94=9C=E2=94=80=E2=94=80 readelf --wide --file-header {} > =E2=94=82 @@ -6,15 +6,15 @@ > =E2=94=82 OS/ABI: > =E2=94=82 ABI Version: 0 > =E2=94=82 Type: DYN (Shared object file) > =E2=94=82 Machine: None > =E2=94=82 Version: 0x1 > =E2=94=82 Entry point address: 0x0 > =E2=94=82 Start of program headers: 64 (bytes into file) > =E2=94=82 - Start of section headers: 4900296 (bytes into file) > =E2=94=82 + Start of section headers: 4900456 (bytes into file) > =E2=94=82 Flags: 0x0 > =E2=94=82 Size of this header: 64 (bytes) > =E2=94=82 Size of program headers: 56 (bytes) > =E2=94=82 Number of program headers: 3 > =E2=94=82 Size of section headers: 64 (bytes) > =E2=94=82 Number of section headers: 20 > =E2=94=82 Section header string table index: 17 > =E2=94=9C=E2=94=80=E2=94=80 readelf --wide --program-header {} > =E2=94=82 @@ -1,16 +1,16 @@ > =E2=94=82 > =E2=94=82 Elf file type is DYN (Shared object file) > =E2=94=82 Entry point 0x0 > =E2=94=82 There are 3 program headers, starting at offset 64 > =E2=94=82 > =E2=94=82 Program Headers: > =E2=94=82 Type Offset VirtAddr PhysAddr = =20 > FileSiz MemSiz Flg Align > =E2=94=82 - LOAD 0x000000 0x0000000000000000 0x000000000000000= 0=20 > 0x286a68 0x286a68 R 0x10000 > =E2=94=82 - LOAD 0x290000 0x0000000000290000 0x000000000029000= 0=20 > 0x21c5c8 0x21c5c8 RW 0x10000 > =E2=94=82 - DYNAMIC 0x286a08 0x0000000000286a08 0x0000000000286a0= 8=20 > 0x000060 0x000060 R 0x8 > =E2=94=82 + LOAD 0x000000 0x0000000000000000 0x000000000000000= 0=20 > 0x286b78 0x286b78 R 0x10000 > =E2=94=82 + LOAD 0x290000 0x0000000000290000 0x000000000029000= 0=20 > 0x21c668 0x21c668 RW 0x10000 > =E2=94=82 + DYNAMIC 0x286b18 0x0000000000286b18 0x0000000000286b1= 8=20 > 0x000060 0x000060 R 0x8 > =E2=94=82 > =E2=94=82 Section to Segment mapping: > =E2=94=82 Segment Sections... > =E2=94=82 00 .rodata .rtl-text .dynamic > =E2=94=82 01 .data > =E2=94=82 02 .dynamic > =E2=94=9C=E2=94=80=E2=94=80 readelf --wide --sections {} > =E2=94=82=E2=94=84 stderr from `readelf --wide --sections {}`: > =E2=94=82=E2=94=84 readelf: Warning: [ 5]: Link field (0) should index a = string=20 > section. > =E2=94=82 @@ -1,29 +1,29 @@ > =E2=94=82 -There are 20 section headers, starting at offset 0x4ac5c8: > =E2=94=82 +There are 20 section headers, starting at offset 0x4ac668: > --8<---------------cut here---------------end--------------->8--- >=20 > Well, I do not know what should the next step. I mean this > "package.cache" file is created by the function > gnu/packages.scm:(generate-package-cache) which reads: >=20 > --8<---------------cut here---------------start------------->8--- > ;; Store the cache as a '.go' file. This makes loading fast=20 > and reduces > ;; heap usage since some of the static data is directly mmapped. > (put-bytevector port > (compile `'(,@exp) > #:to 'bytecode > #:opts '(#:to-file? #t))))) > --8<---------------cut here---------------end--------------->8--- >=20 > Then it is on the Guile side, isn't it? >=20 >=20 > All the best, > simon = --=-8jj3MTje5Ex8fXeBTM41 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

Yeah seems like = it. Although I have to admit I'm pretty newbie in a lot of this stuff.
Do you suggest this bug should be filed against Guile?

=
Marinus

On W= ed, Jun 24, 2020 at 00:46, zimoun <zimon.toutoune@gmail.com> wrote:
Dear, Thank you for the bug report. It is something already noticed [1] but without a clean bug report to track it. :-) 1: http://issues.guix= .gnu.org/issue/39258#86 On Mon, 22 Jun 2020 at 19:07, Marinus <marinus.savoritias@disroot.org> wrote:
Run into a determinism problem today with guix pull. I run guix pull --rounds=3D3 but guix ended in error that the result wasn't the same.
For reproducing, the simplest is: --8<---------------cut here---------------start------------->8--- $ guix build --check --no-grafts -K \ $(guix gc --derivers \ $(readlink -f ~/.config/guix/current/lib/guix/package.cache)) The following profile hooks will be built: /gnu/store/l50sinckbl1y0fz2y4yk4vvfdvay9c8l-guix-package-cache.drv /gnu/store/h69hdf14c11q7dip0gssfd4cv0qw8j7k-guix-package-cache.drv building package cache... (repl-version 0 1 1) Generating package cache for '/gnu/store/67zi87xwv2d90kx8pzxsbw2q7qkh11ns-p= rofile'... (values (value "/gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-ca= che/lib/guix/package.cache")) guix build: error: derivation `/gnu/store/h69hdf14c11q7dip0gssfd4cv0qw8j7k-= guix-package-cache.drv' may not be deterministic: output `/gnu/store/0009wh= xhfz00lm027wbars8q4wb3rvia-guix-package-cache' differs --8<---------------cut here---------------end--------------->8--- Then the usual "diffoscope": --8<---------------cut here---------------start------------->8--- diffoscope \ /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache/lib/guix/pac= kage.cache \ /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache-check/lib/gu= ix/package.cache\ | head -n50 --8<---------------cut here---------------end--------------->8--- outputs something like: --8<---------------cut here---------------start------------->8--- --- /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache/lib/guix= /package.cache +++ /gnu/store/0009whxhfz00lm027wbars8q4wb3rvia-guix-package-cache-check/li= b/guix/package.cache =E2=94=9C=E2=94=80=E2=94=80 readelf --wide --file-header {} =E2=94=82 @@ -6,15 +6,15 @@ =E2=94=82 OS/ABI: <unknown: ff> =E2=94=82 ABI Version: 0 =E2=94=82 Type: DYN (Shared object file) =E2=94=82 Machine: None =E2=94=82 Version: 0x1 =E2=94=82 Entry point address: 0x0 =E2=94=82 Start of program headers: 64 (bytes into file) =E2=94=82 - Start of section headers: 4900296 (bytes into file) =E2=94=82 + Start of section headers: 4900456 (bytes into file) =E2=94=82 Flags: 0x0 =E2=94=82 Size of this header: 64 (bytes) =E2=94=82 Size of program headers: 56 (bytes) =E2=94=82 Number of program headers: 3 =E2=94=82 Size of section headers: 64 (bytes) =E2=94=82 Number of section headers: 20 =E2=94=82 Section header string table index: 17 =E2=94=9C=E2=94=80=E2=94=80 readelf --wide --program-header {} =E2=94=82 @@ -1,16 +1,16 @@ =E2=94=82 =20 =E2=94=82 Elf file type is DYN (Shared object file) =E2=94=82 Entry point 0x0 =E2=94=82 There are 3 program headers, starting at offset 64 =E2=94=82 =20 =E2=94=82 Program Headers: =E2=94=82 Type Offset VirtAddr PhysAddr = FileSiz MemSiz Flg Align =E2=94=82 - LOAD 0x000000 0x0000000000000000 0x0000000000000000 = 0x286a68 0x286a68 R 0x10000 =E2=94=82 - LOAD 0x290000 0x0000000000290000 0x0000000000290000 = 0x21c5c8 0x21c5c8 RW 0x10000 =E2=94=82 - DYNAMIC 0x286a08 0x0000000000286a08 0x0000000000286a08 = 0x000060 0x000060 R 0x8 =E2=94=82 + LOAD 0x000000 0x0000000000000000 0x0000000000000000 = 0x286b78 0x286b78 R 0x10000 =E2=94=82 + LOAD 0x290000 0x0000000000290000 0x0000000000290000 = 0x21c668 0x21c668 RW 0x10000 =E2=94=82 + DYNAMIC 0x286b18 0x0000000000286b18 0x0000000000286b18 = 0x000060 0x000060 R 0x8 =E2=94=82 =20 =E2=94=82 Section to Segment mapping: =E2=94=82 Segment Sections... =E2=94=82 00 .rodata .rtl-text .dynamic =20 =E2=94=82 01 .data=20 =E2=94=82 02 .dynamic =E2=94=9C=E2=94=80=E2=94=80 readelf --wide --sections {} =E2=94=82=E2=94=84 stderr from `readelf --wide --sections {}`: =E2=94=82=E2=94=84 readelf: Warning: [ 5]: Link field (0) should index a st= ring section. =E2=94=82 @@ -1,29 +1,29 @@ =E2=94=82 -There are 20 section headers, starting at offset 0x4ac5c8: =E2=94=82 +There are 20 section headers, starting at offset 0x4ac668: --8<---------------cut here---------------end--------------->8--- Well, I do not know what should the next step. I mean this "package.cache" file is created by the function gnu/packages.scm:(generate-package-cache) which reads: --8<---------------cut here---------------start------------->8--- ;; Store the cache as a '.go' file. This makes loading fast and redu= ces ;; heap usage since some of the static data is directly mmapped. (put-bytevector port (compile `'(,@exp) #:to 'bytecode #:opts '(#:to-file? #t))))) --8<---------------cut here---------------end--------------->8--- Then it is on the Guile side, isn't it?=20 All the best, simon
= --=-8jj3MTje5Ex8fXeBTM41-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 05:04:59 2020 Received: (at 42009) by debbugs.gnu.org; 25 Jun 2020 09:04:59 +0000 Received: from localhost ([127.0.0.1]:39692 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1joNoZ-0000DA-C3 for submit@debbugs.gnu.org; Thu, 25 Jun 2020 05:04:59 -0400 Received: from mail-wm1-f51.google.com ([209.85.128.51]:51757) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1joNoX-0000Cx-Co for 42009@debbugs.gnu.org; Thu, 25 Jun 2020 05:04:58 -0400 Received: by mail-wm1-f51.google.com with SMTP id 22so4787134wmg.1 for <42009@debbugs.gnu.org>; Thu, 25 Jun 2020 02:04:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=nilnfnvtZFJYIo/kGddXq66bL4FcbWWTE5yM7cTXGmg=; b=sW8Jcw/7n9kbeEgHhRznUWibVwkrXiaTtDhtiGzl1VoG+20gIf/duOcgr9kEMhK37F Yk79LjZMvxo5c8Uoj36Rn3GcR1dK8oCz0EppMDxEVTUjQcLWub/q5aVGO+ab17XbBIdJ p/UWO36QIfJwfLrtSLYwTd32F8ghVprZoApMND3YLhIZOBtjup418Rw9EbpKnpVDKaaR vnbABRpRoDK74c3ffqkwcOQWUktVg5TqdihRiBvFSJ5DDhW+ql96MNwBgkunjzEYFcvX S8rBbZuBND2gvm+fzHGbE1IW1Y4dlrlIv5rel9QERQrivQ1bA1uWtva40FbqjfUx28QQ p1Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=nilnfnvtZFJYIo/kGddXq66bL4FcbWWTE5yM7cTXGmg=; b=cci3aPqkpKJIh0veK09BifwVg+t6hFAUlsv7hZ8gUvNc1bkBVARe7Ef8C4uhOUpiv8 90vKY4Lh5qoITPJ7ujgEon81ASTDs0qx7GL89odeIEzN3K1TYofg5Nw+iwdt6RkRQ7RL RIAOJIw9wBL39WXG4VvAEoAXEWzYs3uaEcFsU2m1QhlSlTqdm37Kl0fwxlZTm1koyrN6 mgiDLdwiATkX4pKe0YUlGok6fq2fkMKMgoOE7ka9BI+jUTBni396HFkfLBXUGAU1PSOl X6zkXX7YDOOUj0CONj/Xbc+HmsPntw4w2El2lxizSsW9tWGA+RPzZH6fDEA2qarsPO9y mbsw== X-Gm-Message-State: AOAM531lmTVoWC6gdtoLK7vK9wLwJsckFZWOuNNfZlYSUuiFOtRg1X17 pgBD9kR2Ry/ueMDGEeKtnGe6WT59iic= X-Google-Smtp-Source: ABdhPJyiNHJhEPJgIuvi3WlHsYlqU8hZ8ZoMA+DvyqyyErO35ntSM2Fpg6DUHpQOCpuwJrW0Shk9mg== X-Received: by 2002:a1c:e910:: with SMTP id q16mr2222184wmc.188.1593075891106; Thu, 25 Jun 2020 02:04:51 -0700 (PDT) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id 104sm31475344wrl.25.2020.06.25.02.04.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jun 2020 02:04:50 -0700 (PDT) From: zimoun To: Msavoritias Subject: Re: bug#42009: package.cache not deterministic In-Reply-To: <1593025157.3861.2@disroot.org> References: <20200622190742.04a62732@disroot.org> <86ftalqu37.fsf@gmail.com> <1593025157.3861.2@disroot.org> Date: Thu, 25 Jun 2020 11:04:48 +0200 Message-ID: <86zh8rbjnz.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42009 Cc: 42009@debbugs.gnu.org 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.0 (-) Dear, On Wed, 24 Jun 2020 at 20:59, Msavoritias wrote: > Do you suggest this bug should be filed against Guile? Well, first the origin of the bug should be confirmed. :-) And maybe there is an option for 'compile'. I do not know. All the best, simon From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 10:54:00 2020 Received: (at 42009) by debbugs.gnu.org; 25 Jun 2020 14:54:00 +0000 Received: from localhost ([127.0.0.1]:40897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1joTGK-0007AS-66 for submit@debbugs.gnu.org; Thu, 25 Jun 2020 10:54:00 -0400 Received: from knopi.disroot.org ([178.21.23.139]:54252) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1joTGI-0007AJ-34 for 42009@debbugs.gnu.org; Thu, 25 Jun 2020 10:53:59 -0400 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 5E98D5524F; Thu, 25 Jun 2020 16:53:57 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zNrt5eF5fdn7; Thu, 25 Jun 2020 16:53:56 +0200 (CEST) Date: Thu, 25 Jun 2020 16:53:54 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1593096835; bh=6d5nOdrU2GhZuz/OuRxvTVijKDkrjbR0H3LfeJGs22Q=; h=Date:From:Subject:To:Cc:In-Reply-To:References; b=WK7sBHTKBqyFJYo4YQMbI/61j+28g0M/Y3bABPEuxcTEWsAH6F9LFxa36sQX+1YPU GlCmuHErXPumXYpGSEnuFrCHegKNnNmLobCrLKH7DJbM9AP/yAiHkgUK+OUXGLqgXw AW1OlmbC9Ytm3oB2hZ0VkZJkLkZIsMem/OVB6Y+L7z3eaBOnyiTZFRlAJ/pdWkiSTy pYvZ1H5nJDL3BNB3Mi6ZnYJfS647Xm1MF8tVQS06YjfMMrdTj4WLd74xBGfKigCImp M4ILMCBtOLeSSCCcFymvvvwpd8t7bRQHRp3leDdX5B5WXsFrmuExRw89VyaOKFPZl1 qICOxeDkZrCrQ== From: Msavoritias Subject: Re: bug#42009: package.cache not deterministic To: zimoun Message-Id: <1593096834.1154.5@disroot.org> In-Reply-To: <86zh8rbjnz.fsf@gmail.com> References: <20200622190742.04a62732@disroot.org> <86ftalqu37.fsf@gmail.com> <1593025157.3861.2@disroot.org> <86zh8rbjnz.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="=-4Jw+pJy7EpxPjfE8h1Ut" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42009 Cc: 42009@debbugs.gnu.org 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.0 (-) --=-4Jw+pJy7EpxPjfE8h1Ut Content-Type: text/plain; charset=us-ascii; format=flowed Is there any tests or any more information I can do on my side? Marinus On Thu, Jun 25, 2020 at 11:04, zimoun wrote: > Dear, > > On Wed, 24 Jun 2020 at 20:59, Msavoritias > > wrote: > >> Do you suggest this bug should be filed against Guile? > > Well, first the origin of the bug should be confirmed. :-) > And maybe there is an option for 'compile'. I do not know. > > All the best, > simon --=-4Jw+pJy7EpxPjfE8h1Ut Content-Type: text/html; charset=us-ascii
Is there any tests or any more information I can do on my side?

Marinus

On Thu, Jun 25, 2020 at 11:04, zimoun <zimon.toutoune@gmail.com> wrote:
Dear, On Wed, 24 Jun 2020 at 20:59, Msavoritias <marinus.savoritias@disroot.org> wrote:
Do you suggest this bug should be filed against Guile?
Well, first the origin of the bug should be confirmed. :-) And maybe there is an option for 'compile'. I do not know. All the best, simon
--=-4Jw+pJy7EpxPjfE8h1Ut-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 18:33:15 2020 Received: (at 42009) by debbugs.gnu.org; 25 Jun 2020 22:33:15 +0000 Received: from localhost ([127.0.0.1]:41460 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1joaQl-0006es-28 for submit@debbugs.gnu.org; Thu, 25 Jun 2020 18:33:15 -0400 Received: from tobias.gr ([80.241.217.52]:58364) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1joaQi-0006ej-1q for 42009@debbugs.gnu.org; Thu, 25 Jun 2020 18:33:13 -0400 Received: by tobias.gr (OpenSMTPD) with ESMTP id ef19fe0c; Thu, 25 Jun 2020 22:33:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=tobias.gr; h=from:to:cc :subject:references:in-reply-to:date:message-id:mime-version :content-type; s=2018; i=me@tobias.gr; bh=bLRQjsCsdMTr9EFWJRA73K rxIpZsXMPINQsowIA+xmI=; b=hJBokYdvluvPa4SbcGX7fvAo6w3pP3nQixUmI9 pSBKkWK0Z6OewUjwNwrZ+z0Iq7pQZKeL7xAu6ZhXGQaPjNewBZ8WJZFeZ9GnA4vK iyUJh81Ci1v4HhsyD937USs9omAtVMIno6JZdaHr7ZH3aVJ1twwLwx+M8uQN8azS 5bisGVeIH5DI9FNGLesaffirMDG3CAVKZpMgcnVmibop9mSUbnK6ZEfP90Z00uif 0ZJIYv9eQdTCbhj+3d49pSxvze02CNr4guzQKzF3gjjQYwJl4M3ysqfXMLbzWeYr OqJYZp0NW1jtSrkWy6Nw+nzAeox1CnDrroyQ2OZlvlaYz7sQ== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 0bf55551 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Thu, 25 Jun 2020 22:33:07 +0000 (UTC) BIMI-Selector: v=BIMI1; s=default; From: Tobias Geerinckx-Rice To: Marinus Subject: Re: bug#42009: package.cache not deterministic References: <1593096834.1154.5@disroot.org> In-reply-to: <86ftalqu37.fsf@gmail.com> Date: Fri, 26 Jun 2020 00:33:00 +0200 Message-ID: <87h7uysrmr.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42009 Cc: 42009@debbugs.gnu.org, zimoun 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 (---) --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Quick and lazy reply before the sleep comes, Seems like a =E2=80=98simple=E2=80=99 case of the packages not being ordere= d=20 (enough):=20 https://www.tobias.gr/guix-package.cache.diffoscope.html/#lib---guix---pack= age.cache---strings---all--- (Sorry for the ad-hoc URL, I'll keep it up until this bug report=20 is closed!) Kind regards, T G-R --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXvUmHAAKCRANsP+IT1Vt eROyAP9a+GfV3vB/T5kwqyymDb+rsyRauI4tfaHKPK/WmxVU6wD/bH0XaRN85fMA w+3V8AiWHAREz3a1UqR6FCYmqzLXfA0= =as+f -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 19:19:12 2020 Received: (at 42009) by debbugs.gnu.org; 25 Jun 2020 23:19:12 +0000 Received: from localhost ([127.0.0.1]:41471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1job9E-0007il-CF for submit@debbugs.gnu.org; Thu, 25 Jun 2020 19:19:12 -0400 Received: from mail-wr1-f46.google.com ([209.85.221.46]:39575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1job9A-0007iV-OZ for 42009@debbugs.gnu.org; Thu, 25 Jun 2020 19:19:10 -0400 Received: by mail-wr1-f46.google.com with SMTP id q5so7621082wru.6 for <42009@debbugs.gnu.org>; Thu, 25 Jun 2020 16:19:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=lJ8qkvJ5JCsVyOh7xyonvMRrdhsBY5AfiL45fE1BWmg=; b=d3E+IVQXWow3+GoxQ2Ogwu27ZdD18bQI9NLD+KnpmazBsOxOuSVByqOan/9ZCQiFyS VTB0y8fIzxBQvXfv7RfICxYb2k04bsiDAq9CK5vJX/Tfgtma3B1L2jr7qB43IsDgPjTH w/mb6tLS7JmcYCaMGBCjNPZatDX7bYFH/7qwlDViFK3b2UvXzxk9+lgpFBuwfHD+XguZ RTfww/pb31MBG21MHYmZvT/tvHqkyZXpX8ZSfgRYPkn8saNk1JzCnPhkFE9esgea4Guv QhViurvW9MfvvqjObM1mQWGFsevSOTX7pjx+t83U1lkJkNiwvAfA/hoDprp+scsCgET+ AxkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=lJ8qkvJ5JCsVyOh7xyonvMRrdhsBY5AfiL45fE1BWmg=; b=Onj+UJ8e1HzYX2BOSq/qPV62XZXZwGyadT6+28zEHFc75sXZM+/cy2sSftO6SEIWpn cQ9fO6lYcNzSFj95GHFJ0HWmhvckJKaAvgWEIvNq8w5hwwH/BEiWtLEBKSZiR0SNWi4s tways+HA84cZWmg0J8/i1w/RBnpgyLz01dcTBbwVSUTb1vA8VekKetcyvqtEGorejHVQ BVX5+rsJYYG969EaX11Vb8bYDL8MNSnCS88Hw0kimGb9TXfkZpr0MqpAKlPuGshQCMMS D72LD00nEQVhvFWOMqI3oCSULotK/9d24i/UbVotEe2yahu7PAO+tERCkKnduxUTMZMG nuQw== X-Gm-Message-State: AOAM530/ns7To1EiHPGNf78Vpu2sw6q5yVvuaQKlyAOANXAQGDe0JmcP xzqLK5H0VDQatiOai6LHeLqpthfN2Nk= X-Google-Smtp-Source: ABdhPJybBcsJQagAvEoTnqM3wuxaSRiISDfYqGbeHvKCf4KcGSnD8sutgs6DYwfABBYCtLbhbFkmZA== X-Received: by 2002:adf:df10:: with SMTP id y16mr583820wrl.225.1593127142561; Thu, 25 Jun 2020 16:19:02 -0700 (PDT) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id r10sm16764240wrm.17.2020.06.25.16.19.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jun 2020 16:19:01 -0700 (PDT) From: zimoun To: Tobias Geerinckx-Rice , Marinus Subject: Re: bug#42009: package.cache not deterministic In-Reply-To: <87h7uysrmr.fsf@nckx> References: <1593096834.1154.5@disroot.org> <87h7uysrmr.fsf@nckx> Date: Fri, 26 Jun 2020 01:19:00 +0200 Message-ID: <86366ibuor.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42009 Cc: 42009@debbugs.gnu.org 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.0 (-) Hi Tobias, On Fri, 26 Jun 2020 at 00:33, Tobias Geerinckx-Rice wrote: > Seems like a =E2=80=98simple=E2=80=99 case of the packages not being orde= red=20 > (enough): So one culprit would be 'scandir*' from 'scheme-files' used by 'scheme-modules' used by 'all-modules' used by 'generate-package-cache'. The docstring says: "The returned list is sorted in alphabetical order." Well, I will try to investigate more. > https://www.tobias.gr/guix-package.cache.diffoscope.html/#lib---guix---pa= ckage.cache---strings---all--- Interesting... Good night, simon From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 28 16:30:01 2020 Received: (at 42009) by debbugs.gnu.org; 28 Jun 2020 20:30:01 +0000 Received: from localhost ([127.0.0.1]:47051 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpdw9-0007Wh-GD for submit@debbugs.gnu.org; Sun, 28 Jun 2020 16:30:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpdw7-0007WU-Au for 42009@debbugs.gnu.org; Sun, 28 Jun 2020 16:30:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47367) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jpdw0-0005Do-Kr; Sun, 28 Jun 2020 16:29:52 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=42192 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jpdvy-0007Aj-PL; Sun, 28 Jun 2020 16:29:52 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: zimoun Subject: Re: bug#42009: package.cache not deterministic References: <1593096834.1154.5@disroot.org> <87h7uysrmr.fsf@nckx> <86366ibuor.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 11 Messidor an 228 de la =?utf-8?Q?R=C3=A9volution?= 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: Sun, 28 Jun 2020 22:29:49 +0200 In-Reply-To: <86366ibuor.fsf@gmail.com> (zimoun's message of "Fri, 26 Jun 2020 01:19:00 +0200") Message-ID: <874kqvgchu.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42009 Cc: 42009@debbugs.gnu.org, Tobias Geerinckx-Rice , Marinus 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 (---) Hi, Most likely the problem with non-reproducible .go files is that the fix for was incomplete. In particular, I think that gensyms are not reproducible when building things in parallel, because the gensym depends on what=E2=80=99s loaded vs. interpreted. Example of a simpler discrepancy: --8<---------------cut here---------------start------------->8--- $ guix challenge guile-gcrypt /gnu/store/i6zzgsjjlqyfn9zmanb55hqdackhc0mf-guile-gcrypt-0.3.0 contents dif= fer: local hash: 0bkxim5532bd234iqxvxd31ybp6v7rmbrvyj3jrgpmgxbsw7hmxj https://ci.guix.gnu.org/nar/lzip/i6zzgsjjlqyfn9zmanb55hqdackhc0mf-guile-g= crypt-0.3.0: 00zsccxn1485bnvxvssgq50i2w69i38m9hnrk8z1sji9qcmmaxcs differing files: /lib/guile/3.0/site-ccache/gcrypt/pk-crypto.go /lib/guile/3.0/site-ccache/gcrypt/mac.go --8<---------------cut here---------------end--------------->8--- HTH! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 29 06:03:33 2020 Received: (at 42009) by debbugs.gnu.org; 29 Jun 2020 10:03:34 +0000 Received: from localhost ([127.0.0.1]:48013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpqdR-0000zX-I8 for submit@debbugs.gnu.org; Mon, 29 Jun 2020 06:03:33 -0400 Received: from mail-wr1-f54.google.com ([209.85.221.54]:39823) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpqdO-0000zJ-RN for 42009@debbugs.gnu.org; Mon, 29 Jun 2020 06:03:32 -0400 Received: by mail-wr1-f54.google.com with SMTP id q5so15900251wru.6 for <42009@debbugs.gnu.org>; Mon, 29 Jun 2020 03:03:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=vpFrYE6ZX8flXGGiCKE6e7O7wGcGTp947n9Q+t4HoWQ=; b=Ok7FREbMIcaORQD8+STOlD916iw23q9a2vVJSJRO8yo5AKWL45PfWaN8IkUbcCO4/4 F3+8wgzpWLLwHxWXWcckUPgDVyfocOMCYjx4adUFerhmtZ1iZsiX8kNGCACuBYeXf4W6 N+Hmaf4ukur8dzXh40pfLJto2Bq/BoQHcAU6/sY7a4SIf1oQhQPQb80SjONkcmBcVA9o v0WU5NhLyWpBm9hClVG/w3GLr9DagTko1izUNEOtI9N1TrBNkPpcJXeCgZEJ507ih6ce dNZDVq6gBBmxfdn525VYgYJmvDW9Vjq51JM6oTIfCB4OeWODwAhTpx7gv/L4O03V9L4y hDvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=vpFrYE6ZX8flXGGiCKE6e7O7wGcGTp947n9Q+t4HoWQ=; b=R5faTF2vVdxy2VQfaXvQYaIuRKsTdJ38aJkC0NHydb74yOF1mm7GAopl/AauNyQDI0 800NO5aqFdWs4kyhLILftmhGbkmySAIAT/5mFohUDYoO+r73Ipnvzj1mxicKSc2ZGm2w BpOGcS6xGNN5wTEor/uuL9tGxpOjdCKfyZ85vaZSqSIoeFLyTcWTB3lZcUuH4V/WdOSA /AwoSGaFLe47LwD+McIiCTkXn4s1LC6clnfF2y/cH4hC2MhFX1Ox98ouCghhvzoyx6VH pygW2NIora+a522RAv+PjP2dgp36Q18WMbxiHrj/7ddTApY4g6S6Uf1jgK35qRjzMJ62 8TSA== X-Gm-Message-State: AOAM5329rhvFx1Lof2VpF+NRxcHcH3ltrUTDBPG7k78DkvgOaLzRc5jy HQBtMnqcM/SNd80OlSBaiQfaAWfCxxM= X-Google-Smtp-Source: ABdhPJyArT6oKn3mObUDvDETtZj2uuNPYvzjvHfK6QhKBlnepHh+f6+WMMsWCHb2ZrtOkDVYyF8CJw== X-Received: by 2002:adf:81c8:: with SMTP id 66mr16357699wra.348.1593425004446; Mon, 29 Jun 2020 03:03:24 -0700 (PDT) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id r1sm14710460wrw.24.2020.06.29.03.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2020 03:03:23 -0700 (PDT) From: zimoun To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#42009: package.cache not deterministic In-Reply-To: <874kqvgchu.fsf@gnu.org> References: <1593096834.1154.5@disroot.org> <87h7uysrmr.fsf@nckx> <86366ibuor.fsf@gmail.com> <874kqvgchu.fsf@gnu.org> Date: Mon, 29 Jun 2020 12:03:22 +0200 Message-ID: <86o8p2b34l.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42009 Cc: 42009@debbugs.gnu.org, Tobias Geerinckx-Rice , Marinus 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.0 (-) Hi Ludo, On Sun, 28 Jun 2020 at 22:29, Ludovic Court=C3=A8s wrote: > Most likely the problem with non-reproducible .go files is that the fix > for was incomplete. In particular, I think > that gensyms are not reproducible when building things in parallel, > because the gensym depends on what=E2=80=99s loaded vs. interpreted. Thank you for the pointer. How can I test the "hypothesis" of "building things in parallel"? --8<---------------cut here---------------start------------->8--- guix describe -f channels > /tmp/chan.scm guix pull -C /tmp/chan.scm --cores=3D1 -p /tmp/repull1 guix build --check --no-grafts --cores=3D1 \ $(guix gc --derivers \ $(readlink -f /tmp/repull1/lib/guix/package.cache)) The following profile hook will be built: /gnu/store/qbrgxbnx0hi13xm36a6a0zijzc1rcz22-guix-package-cache.drv building package cache... (repl-version 0 1 1) Generating package cache for '/gnu/store/bgqy3mfpzbpyz3pysqxzkpch39q98yv3-p= rofile'... (values (value "/gnu/store/15nnwjqrmh5w9hqy9yp4ycxsyfbsr0wi-guix-package-ca= che/lib/guix/package.cache")) guix build: error: derivation `/gnu/store/qbrgxbnx0hi13xm36a6a0zijzc1rcz22-= guix-package-cache.drv' may not be deterministic: output `/gnu/store/15nnwj= qrmh5w9hqy9yp4ycxsyfbsr0wi-guix-package-cache' differs --8<---------------cut here---------------end--------------->8--- BTW, I do not understand why the derivations have different hashes, containing derivations with different hashes and more importantly, why it is not the same order. --8<---------------cut here---------------start------------->8--- guix gc --derivers $(readlink -f ~/.config/guix/current/lib/guix/package.ca= che) /gnu/store/0pmc85ni7zsd5jrflb0prrj7bhvn1m1y-guix-package-cache.drv cat $(guix gc --derivers $(readlink -f ~/.config/guix/current/lib/guix/pack= age.cache)) Derive ([("out","/gnu/store/pfpbh4v1m2dgn9dwiz6rsbqgx8lmd3ms-guix-package-cache","= ","")] ,[("/gnu/store/3pkfaqkdkaqy8khsfbsl0si3r9mydygl-profile.drv",["out"]) ,("/gnu/store/nih4g42d2da8p2b5dmxqb081bbpv9ax4-inferior-script.scm.drv",= ["out"]) ,("/gnu/store/x32cnfkd50fnxs10xp1jdn24h7ai2gxr-guile-3.0.2.drv",["out"])] ,["/gnu/store/50h7d8cx9k28gdbdzc9y615d1564m8ia-guix-package-cache-builder"] ,"x86_64-linux","/gnu/store/0m0vd873jp61lcm4xa3ljdgx381qa782-guile-3.0.2/b= in/guile",["--no-auto-compile","/gnu/store/50h7d8cx9k28gdbdzc9y615d1564m8ia= -guix-package-cache-builder"] ,[("guix properties","((type . profile-hook) (hook . package-cache))") ,("out","/gnu/store/pfpbh4v1m2dgn9dwiz6rsbqgx8lmd3ms-guix-package-cache") ,("preferLocalBuild","1")]) --8<---------------cut here---------------end--------------->8--- --8<---------------cut here---------------start------------->8--- guix gc --derivers $(readlink -f /tmp/repull1/lib/guix/package.cache) /gnu/store/qbrgxbnx0hi13xm36a6a0zijzc1rcz22-guix-package-cache.drv cat $(guix gc --derivers $(readlink -f /tmp/repull1/lib/guix/package.cache)) Derive ([("out","/gnu/store/15nnwjqrmh5w9hqy9yp4ycxsyfbsr0wi-guix-package-cache","= ","")] ,[("/gnu/store/b4dcaccqli2zdfalrn0lc0cz94gd80sk-inferior-script.scm.drv",[= "out"]) ,("/gnu/store/hm03mwl234lw43ivx33nsap0j4pjwqjp-profile.drv",["out"]) ,("/gnu/store/x32cnfkd50fnxs10xp1jdn24h7ai2gxr-guile-3.0.2.drv",["out"])] ,["/gnu/store/251jkjnw9zza2zwr1k45x1049d1axl5q-guix-package-cache-builder"] ,"x86_64-linux","/gnu/store/0m0vd873jp61lcm4xa3ljdgx381qa782-guile-3.0.2/b= in/guile",["--no-auto-compile","/gnu/store/251jkjnw9zza2zwr1k45x1049d1axl5q= -guix-package-cache-builder"] ,[("guix properties","((type . profile-hook) (hook . package-cache))") ,("out","/gnu/store/15nnwjqrmh5w9hqy9yp4ycxsyfbsr0wi-guix-package-cache") ,("preferLocalBuild","1")]) --8<---------------cut here---------------end--------------->8--- And I am confused because if I repull again with '--cores=3D2', then, --8<---------------cut here---------------start------------->8--- /tmp/repull1/bin/guix pull -C /tmp/chan.scm --cores=3D2 -p /tmp/repull2 md5sum \ $(readlink -f /tmp/repull2/lib/guix/package.cache) \ $(readlink -f /tmp/repull2/lib/guix/package.cache) 75f6feb9f52c312cc9cc8f73534926ba /gnu/store/15nnwjqrmh5w9hqy9yp4ycxsyfbsr0= wi-guix-package-cache/lib/guix/package.cache 75f6feb9f52c312cc9cc8f73534926ba /gnu/store/15nnwjqrmh5w9hqy9yp4ycxsyfbsr0= wi-guix-package-cache/lib/guix/package.cache --8<---------------cut here---------------end--------------->8--- But '--check' fails in all cases. What do I miss? All the best, simon From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 29 08:18:14 2020 Received: (at control) by debbugs.gnu.org; 29 Jun 2020 12:18:14 +0000 Received: from localhost ([127.0.0.1]:48207 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpsjm-0007e8-Cy for submit@debbugs.gnu.org; Mon, 29 Jun 2020 08:18:14 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:9192) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpsjk-0007dr-Tx for control@debbugs.gnu.org; Mon, 29 Jun 2020 08:18:13 -0400 X-IronPort-AV: E=Sophos;i="5.75,294,1589234400"; d="scan'208";a="353034290" Received: from unknown (HELO ribbon) ([193.50.110.119]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Jun 2020 14:18:06 +0200 Date: Mon, 29 Jun 2020 14:18:06 +0200 Message-Id: <877dvqcbgh.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #42009 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: control 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: -5.0 (-----) retitle 42009 package cache build is not deterministic quit From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 29 08:35:02 2020 Received: (at 42009) by debbugs.gnu.org; 29 Jun 2020 12:35:02 +0000 Received: from localhost ([127.0.0.1]:48222 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpt02-0001xf-0W for submit@debbugs.gnu.org; Mon, 29 Jun 2020 08:35:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55610) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpszx-0001x7-Ng for 42009@debbugs.gnu.org; Mon, 29 Jun 2020 08:35:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58816) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jpszr-0006Kk-8C; Mon, 29 Jun 2020 08:34:51 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=37738 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jpszq-0006YK-86; Mon, 29 Jun 2020 08:34:51 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: zimoun Subject: Re: bug#42009: package.cache not deterministic References: <1593096834.1154.5@disroot.org> <87h7uysrmr.fsf@nckx> <86366ibuor.fsf@gmail.com> <874kqvgchu.fsf@gnu.org> <86o8p2b34l.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 12 Messidor an 228 de la =?utf-8?Q?R=C3=A9volution?= 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, 29 Jun 2020 14:34:40 +0200 In-Reply-To: <86o8p2b34l.fsf@gmail.com> (zimoun's message of "Mon, 29 Jun 2020 12:03:22 +0200") Message-ID: <875zbacaov.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42009 Cc: 42009@debbugs.gnu.org, Tobias Geerinckx-Rice , Marinus 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 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Simon, zimoun skribis: > On Sun, 28 Jun 2020 at 22:29, Ludovic Court=C3=A8s wrote: > >> Most likely the problem with non-reproducible .go files is that the fix >> for was incomplete. In particular, I think >> that gensyms are not reproducible when building things in parallel, >> because the gensym depends on what=E2=80=99s loaded vs. interpreted. > > Thank you for the pointer. > > How can I test the "hypothesis" of "building things in parallel"? > > guix describe -f channels > /tmp/chan.scm > guix pull -C /tmp/chan.scm --cores=3D1 -p /tmp/repull1 > > guix build --check --no-grafts --cores=3D1 \ > $(guix gc --derivers \ > $(readlink -f /tmp/repull1/lib/guix/package.cache)) > The following profile hook will be built: > /gnu/store/qbrgxbnx0hi13xm36a6a0zijzc1rcz22-guix-package-cache.drv I realize I was a bit off-topic: I was commenting on the more general issue of .go non-reproducibility. The problem with the package cache seems to be different. Sorry for the confusion! After --check, we can compare both caches like this: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> (define a (load-compiled "/gnu/store/0yd3kaar87zyxhbrj= qjypp5rar3zj4gb-guix-package-cache/lib/guix/package.cache")) scheme@(guile-user)> (define b (load-compiled "/gnu/store/0yd3kaar87zyxhbrj= qjypp5rar3zj4gb-guix-package-cache-check/lib/guix/package.cache")) scheme@(guile-user)> (length a) $2 =3D 13949 scheme@(guile-user)> (length b) $3 =3D 13949 scheme@(guile-user)> ,use(srfi srfi-1) scheme@(guile-user)> (lset=3D equal? a b) $4 =3D #f scheme@(guile-user)> (car (lset-difference equal? a b)) $5 =3D #("python2" "2.7.17" (gnu packages python) python-2 ("out" "tk") #t = #f "gnu/packages/python.scm" 107 2) --8<---------------cut here---------------end--------------->8--- So, surprisingly, it=E2=80=99s not just an ordering issue: the caches do co= ntain different pieces of information. This patch solves the ordering issue: --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/packages.scm b/gnu/packages.scm index d22c992bb1..5154d73deb 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -407,13 +407,25 @@ reducing the memory footprint." (_ result+seen))) + (define entry-key + (match-lambda + (#(name version module symbol outputs supported? deprecated? + file line column) + (string-append name version (or file "") + (if line (number->string line) ""))))) + + (define (entry) id 1jpvt5-00088N-PW for submit@debbugs.gnu.org; Mon, 29 Jun 2020 11:40:04 -0400 Received: from mail-qk1-f181.google.com ([209.85.222.181]:44595) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jpvt1-00087b-Gz for 42009@debbugs.gnu.org; Mon, 29 Jun 2020 11:40:02 -0400 Received: by mail-qk1-f181.google.com with SMTP id b4so15606171qkn.11 for <42009@debbugs.gnu.org>; Mon, 29 Jun 2020 08:39:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=Cd8NQoBYRNHOMbl4zT3ofSWfZaaZJU4awi6F6l63rfQ=; b=V4O+/CdXnTQJ52ov/JchmQq2mh+l9vZNi56H8KQQ46KJruTfC3dYr4nNsl+pcNiA5D nhnXXWyk3G8NBlQomSArSOU3ASRrTuTcvPJcAhq2jQ3J2KvczAlW9MA3P3TPeGJ/t49i N82MK45eHOeMYjpZnqa7dRmy0pNy0KKpujc+vZUEAv14hZEFvVXATKLqLj0njqTKWZk9 P6IE+asgtWw872suY2dHtJtqOjbVdZL3nS92Hn0Dw05blzXuiFi3w1uHsaz4talwLb9z qabFHyudLb1kBY15VduvTep2SDZg+2MmJg2wZ/Q1oLkgGLBZ3GUGUknUIeWFp2U7wMtd 8LHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=Cd8NQoBYRNHOMbl4zT3ofSWfZaaZJU4awi6F6l63rfQ=; b=nXIleE0NrkGtcc2I5aJ7qt+jNqqieXFFrf5PS+2b9cVBRdJYEyKCngp5RlWuwn90IG 7MZ/SJssx1uF3Umj5GfxdeDWgz7CLWaXXz3Sgzka4xK45xgluav8vAaLY9dG3VdWot/s Qg53MKy2+FIHGykUfnwh0R43FvJowrpvjTIERIvM1OX63YeDN+aWI9ItiyavpJNKKRKR fnNWebrG7X24w0OdWYHssoNpF6vBnhvRRzP8BTLpyOgy+AkDiL7NRee2/pImPqMGQ399 yytHxjQME9R4jl0E7XOVV7esEVjZFgik2MoxQWkmQRznI5v+fmXy/L3Lsnj3w/RzIYoA iypQ== X-Gm-Message-State: AOAM533HYnqRoAxcwGergVEsSk5eWMJHXXNaRe03AGWqBM5xtZVRvahb M/HKDurghSDi1N12AS+4VEaZpeCfXYjGfNnWk1A= X-Google-Smtp-Source: ABdhPJz8RJBjvtLka0mCJWGYVy2TjThC6Pdh09VXvt5qoznQOyMCsqJ98KYBEdSeCnKCciBwIG5Icam8RRPQ2+svPjo= X-Received: by 2002:a37:b141:: with SMTP id a62mr13126653qkf.201.1593445193987; Mon, 29 Jun 2020 08:39:53 -0700 (PDT) MIME-Version: 1.0 References: <1593096834.1154.5@disroot.org> <87h7uysrmr.fsf@nckx> <86366ibuor.fsf@gmail.com> <874kqvgchu.fsf@gnu.org> <86o8p2b34l.fsf@gmail.com> <875zbacaov.fsf@gnu.org> In-Reply-To: <875zbacaov.fsf@gnu.org> From: zimoun Date: Mon, 29 Jun 2020 17:39:42 +0200 Message-ID: Subject: Re: bug#42009: package.cache not deterministic To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42009 Cc: 42009@debbugs.gnu.org, Tobias Geerinckx-Rice , Marinus 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.0 (-) Hi Ludo, On Mon, 29 Jun 2020 at 14:34, Ludovic Court=C3=A8s wrote: > I realize I was a bit off-topic: I was commenting on the more general > issue of .go non-reproducibility. > > The problem with the package cache seems to be different. Sorry for the > confusion! Well, the .go non-reproducibility is nonetheless interesting. :-) > So, surprisingly, it=E2=80=99s not just an ordering issue: the caches do = contain > different pieces of information. Interestingly, on my machine with 8ea91d0, I have 12 differences but none of them is Python. Instead, I have: "rust", "ocaml", "mingw-w64-i686", "clang-toolchain", "clang-runtime", "linux-libre", "icedtea", "gcc-objc++", "gcc-objc", "bdb", "rust-lazy-static", "gcc-toolchain". All are aliases and python-2 is too but does not appear... On the other hand, these 2 aliases do not appear either in your list. --8<---------------cut here---------------start------------->8--- (define-public clang clang-9) (define-public clang-toolchain clang-toolchain-9) --8<---------------cut here---------------end--------------->8--- The question is: do we need to declare public e.g. clang-9? Declare clang is it not enough already? For example, ocaml-4.09 is not used outside gnu/packages/ocalm.scm. Idem for ghc-8.6, etc.. > This patch solves the ordering issue The 'sort' will not help for improving the speed of "guix pull". ;-) > But it=E2=80=99s not quite right because the order in which variables are > traversed is still non-deterministic, so between two runs of > =E2=80=98generate-package-cache=E2=80=99, caches differ like this: It depends on the eddy current in the upper atmosphere. :-) https://xkcd.com/378/ Well, it finds one or the other first and 'expand-cache' stores the first considering the second as "seen", isn't it? > The problem has to do with aliases: we don=E2=80=99t always see the same > variable first. So we have to sort before calling =E2=80=98expand-cache= =E2=80=99. The question is why it is not always the same variable first. Well, IMHO, it could comes from: - either 'scandir*' in 'scheme-files' because all the other functions seem "pure" and this one not; - either 'fold-module-public-variables*' where 'seen' is one or the other. Or if the .go files are not deterministic, especially about 'gensym', it should explain why one symbol appears sometimes first. Cheers, simon From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 30 13:23:06 2020 Received: (at 42009-done) by debbugs.gnu.org; 30 Jul 2020 17:23:06 +0000 Received: from localhost ([127.0.0.1]:36656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k1CGo-0004jX-0r for submit@debbugs.gnu.org; Thu, 30 Jul 2020 13:23:06 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40866) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k1CGl-0004iq-Iy for 42009-done@debbugs.gnu.org; Thu, 30 Jul 2020 13:23:03 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:41914) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k1CGg-0002gp-0b; Thu, 30 Jul 2020 13:22:58 -0400 Received: from [2a01:e35:2ffd:930:68c2:32f7:f96f:b343] (port=48040 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1k1CGf-0007AZ-H8; Thu, 30 Jul 2020 13:22:57 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: zimoun Subject: Re: bug#42009: package.cache not deterministic References: <1593096834.1154.5@disroot.org> <87h7uysrmr.fsf@nckx> <86366ibuor.fsf@gmail.com> <874kqvgchu.fsf@gnu.org> <86o8p2b34l.fsf@gmail.com> <875zbacaov.fsf@gnu.org> Date: Thu, 30 Jul 2020 19:22:47 +0200 In-Reply-To: <875zbacaov.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 29 Jun 2020 14:34:40 +0200") Message-ID: <877dukx6hk.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42009-done Cc: Marinus , Tobias Geerinckx-Rice , 42009-done@debbugs.gnu.org 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 (---) Hi, Ludovic Court=C3=A8s skribis: > But it=E2=80=99s not quite right because the order in which variables are > traversed is still non-deterministic, so between two runs of > =E2=80=98generate-package-cache=E2=80=99, caches differ like this: > > --- a 2020-06-29 14:27:32.291028456 +0200 > +++ b 2020-06-29 14:27:37.930993059 +0200 > @@ -8581,7 +8581,7 @@ > #("clang-runtime" > "9.0.1" > (gnu packages llvm) > - clang-runtime > + clang-runtime-9 > ("out") > #t > #f > @@ -26511,7 +26511,7 @@ > #("gcc-objc++" > "7.5.0" > (gnu packages gcc) > - gcc-objc++-7 > + gcc-objc++ > ("out" "lib" "debug") > #t > #f > @@ -26641,7 +26641,7 @@ > #("gcc-toolchain" > "7.5.0" > (gnu packages commencement) > - gcc-toolchain > + gcc-toolchain-7 > ("out" "debug" "static") > #t > #f > @@ -33311,7 +33311,7 @@ > #("ghc" > "8.6.5" > (gnu packages haskell) > - ghc-8.6 > + ghc-8 > ("out" "doc") > #t > #f > @@ -41876,7 +41876,7 @@ > #("icedtea" > "3.7.0" > (gnu packages java) > - icedtea-8 > + icedtea > ("out" "jdk" "doc") > #t > #f > @@ -54376,7 +54376,7 @@ > #("linux-libre-headers" > "5.4.20" > (gnu packages linux) > - linux-libre-headers-5.4.20 > + linux-libre-headers > ("out") > #t > #f > @@ -54636,7 +54636,7 @@ > #("llvm" > "9.0.1" > (gnu packages llvm) > - llvm-9 > + llvm > ("out" "opt-viewer") > #t > #f > @@ -61826,7 +61826,7 @@ > #("ocaml" > "4.09.0" > (gnu packages ocaml) > - ocaml > + ocaml-4.09 > ("out") > #t > #f > @@ -62256,7 +62256,7 @@ > #("opencl-headers" > "2.2.0-0.e986688" > (gnu packages opencl) > - opencl-headers > + opencl-headers-2.2 > ("out") > #t > #f > @@ -92636,7 +92636,7 @@ > #("python2" > "2.7.17" > (gnu packages python) > - python-2 > + python-2.7 > ("out" "tk") > #t > #f > @@ -92646,7 +92646,7 @@ > #("python" > "3.8.2" > (gnu packages python) > - python-3 > + python > ("out" "tk") > #t > #f > @@ -123676,7 +123676,7 @@ > #("rust" > "1.39.0" > (gnu packages rust) > - rust-1.39 > + rust > ("out" "doc" "cargo") > #t > #f > > > The problem has to do with aliases: we don=E2=80=99t always see the same > variable first. So we have to sort before calling =E2=80=98expand-cache= =E2=80=99. Fixed in a127e52f601ee73f675d5d28eac2388bb1ad11b0! Ludo=E2=80=99. From unknown Tue Jun 17 20:09:57 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 28 Aug 2020 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator