From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id mIHjL6EL+l74dgAA0tVLHw (envelope-from ) for ; Mon, 29 Jun 2020 15:41:21 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id iNPSK6EL+l54JQAA1q6Kng (envelope-from ) for ; Mon, 29 Jun 2020 15:41:21 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 557BB94005D for ; Mon, 29 Jun 2020 15:41:21 +0000 (UTC) Received: from localhost ([::1]:51586 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jpvuJ-0003Cu-5C for larch@yhetil.org; Mon, 29 Jun 2020 11:41:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37402) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpvu2-00039u-KJ for bug-guix@gnu.org; Mon, 29 Jun 2020 11:41:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:37592) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jpvu2-0004g6-9k for bug-guix@gnu.org; Mon, 29 Jun 2020 11:41:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jpvu2-00089y-7M for bug-guix@gnu.org; Mon, 29 Jun 2020 11:41:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#42009: package.cache not deterministic Resent-From: zimoun Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 29 Jun 2020 15:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42009 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 42009-submit@debbugs.gnu.org id=B42009.159344520431275 (code B ref 42009); Mon, 29 Jun 2020 15:41:02 +0000 Received: (at 42009) by debbugs.gnu.org; 29 Jun 2020 15:40:04 +0000 Received: from localhost ([127.0.0.1]:49138 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) 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: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 42009@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=V4O+/CdX; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: ky4b4qYoUH3w 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