unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
From: "Thompson, David" <dthompson2@worcester.edu>
To: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Cc: 20272@debbugs.gnu.org
Subject: bug#20272: Support reproducible builds
Date: Mon, 8 Apr 2024 13:27:40 -0400	[thread overview]
Message-ID: <CAJ=Rwfbf98_4hvYQ6nFdRc4dpUK_UwmGe4FVjfx_BF4=yxnf4w@mail.gmail.com> (raw)
In-Reply-To: <87twws88hr.fsf@gnu.org>

On Fri, Nov 17, 2023 at 3:29 PM Bernhard M. Wiedemann
<bwiedemann@suse.de> wrote:
>
> Parallel builds with guile-3.0.9 still introduce non-determinism

I recently learned that the cross-module inlining optimization pass is
a source of nondeterminism. If module A imports module B, inlining of
procedures from B into A may occur *if* B has already been compiled.
Depending on the value of n in `make -j $n` you will likely get a
different build.

While working on Guile Hoot, I encountered a bug on my machine that
Andy Wingo couldn't reproduce on his. Turns out it was because my
`make -j6` build was different from his `make -j32` build. I don't
recall the details but apparently Guile's bootstrap process takes
great care to avoid sequencing issues like this.

I don't know what the solution might be, though. I want parallel *and*
reproducible builds!

- Dave





  parent reply	other threads:[~2024-04-08 17:27 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-07 11:48 bug#20272: Support reproducible builds Ludovic Courtès
2016-02-04  2:41 ` Mark H Weaver
2016-02-04  9:35   ` Ludovic Courtès
2016-06-20 15:46   ` Andy Wingo
2016-02-11  7:09 ` Mark H Weaver
2016-02-12 16:29   ` Mark H Weaver
2016-06-20 15:48     ` Andy Wingo
2016-06-23 19:22       ` Andy Wingo
2016-11-03  6:54 ` Jan Nieuwenhuizen
2016-11-14 21:44   ` Jan Nieuwenhuizen
2016-12-14 16:25     ` Ludovic Courtès
2016-12-14 23:32       ` Ludovic Courtès
2016-12-14 23:42         ` Ludovic Courtès
2016-12-20 23:00           ` Ludovic Courtès
2016-12-21 23:53             ` Ludovic Courtès
2016-12-30 21:00               ` Ludovic Courtès
2017-03-07 19:55                 ` Ludovic Courtès
2017-02-28 13:26               ` Andy Wingo
2017-03-05 20:49                 ` Ludovic Courtès
2017-03-06 20:13                   ` Andy Wingo
2020-06-01 20:45 ` Andreas Rammhold
2020-06-02 12:25 ` Andreas Rammhold
     [not found] ` <87o8lcu1v8.fsf@gmail.com>
2020-11-24  4:44   ` Vagrant Cascadian
2023-11-17 20:28 ` Bernhard M. Wiedemann
2024-04-08 17:27 ` Thompson, David [this message]
2024-04-09  4:02   ` Bernhard M. Wiedemann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ=Rwfbf98_4hvYQ6nFdRc4dpUK_UwmGe4FVjfx_BF4=yxnf4w@mail.gmail.com' \
    --to=dthompson2@worcester.edu \
    --cc=20272@debbugs.gnu.org \
    --cc=bwiedemann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).