From: "Nicolò Balzarotti" <anothersms@gmail.com>
To: zimoun <zimon.toutoune@gmail.com>
Cc: "Ludovic Courtès" <ludo@gnu.org>, 38546@debbugs.gnu.org
Subject: [bug#38546] [00/11] Update Julia, Fix precompilation, add HTTP.jl
Date: Wed, 22 Jan 2020 10:59:49 +0100 [thread overview]
Message-ID: <877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <CAJ3okZ3p6dkJyiwBqjjaG0Vnn0s07+7YxUG_Mdc3Eq5ixC3qDA@mail.gmail.com>
Hi Simon,
zimoun <zimon.toutoune@gmail.com> writes:
> Hi Nicolò,
>
> Cool that you figured out a source of non-reproducibility.
>
>
> On Tue, 21 Jan 2020 at 14:45, Nicolò Balzarotti <anothersms@gmail.com> wrote:
>
>> Sorry, I forgot to send the dsfmt patch. Also, julia's
>> SOURCE_DATE_EPOCH patch was named differently. I've fixed this in theattached patches. You need to apply Add-dsfmt.patch, Update-to-1.3.1
>> and then julia-use-SOURCE_DATE_EPOCH.
>
> This patch 'julia-SOURCE_DATE_EPOCH-mtime.patch' is the one you
> mentioned here [#], right?
>
> Could you send it as an upstream PR?
>
> [#] https://github.com/JuliaLang/julia/issues/34115#issuecomment-568171025
>
>
>> About reproducibility: if I'm not wrong, sys.so contains Base library
>> precompiled ([1]). Precompilation is still non deterministic (here's
>> [2] an issue on github). Something I did to check precompilation:
>
> I am not sure to well understand the source of non-determinism.
>
> Does the patch about SOURCE_DATE_EPOCH fix the issue of [1] and [2]?
> Or is it something else?
>
The first patch (the one I mention in [#]) fixes _one source of_
non-determinism (the stored mtime inside the precompile cache). But
others are present (precompiling the same file 2 times lead to
differences even in file size, something I reported on [2]). What I'm
working on is trying to find out what other sources are and patch them,
too. I patched some c code (src/support/timefuncs.c) so that it follows
SOURCE_DATE_EPOCH too. This finally lead to same-size files. I'm now
working on parsing binary (.ji) files directly with julia built in
function to have a textual representation of the differences.
I can't send SOURCE_DATE_EPOCH patches upstream until [3] is merged, as
patching timefuncts leads to an endless test suite (as they were using
time() to check for passed time. If time() always returns 1, tests
sleeps forever). Yesterday evening I completed that patch (and has been
approved). My plans are on finding the hopefully last source of
non-determinism, patch it and send everything upstream (hoping they
care).
>
>> I could not get the same results twice (also, size differs). I'll work
>> on this on some spare time (for example, there are other places where
>> SOURCE_DATE_EPOCH can be used, but this [3] is a problem I need to
>> solve first).
>
> Is the problem [3] not solved by 'julia-SOURCE_DATE_EPOCH-mtime.patch'?
>
>
>
>> Maybe 1.3.1 (when reviewed) can be merged, since we have
>> the same problem with julia 1.1, but we can wait for the
>> source-date-epoch and julia-xyz patches until we solve this.
>
> My opinion is: if a patch is floating around to fix the
> source-date-epoch issue, let try to push it upstream. If it is
> rejected, let talk later if Guix will include it or not. And in the
> meantime, I will try to review the 1.3.1 because yes I agree that it
> should be included even if we know it is not reproducible -- the
> package Guitarix [@] is updated and not reproducible neither.
>
Thanks! I hope in a 1.4 release where everything is fixed ;)
Nicolò
> [@] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=21803
>
>
> Thank you for working on this.
>
>
> All the best,
> simon
>
>
>> [1] https://docs.julialang.org/en/v1/devdocs/sysimg/
>> [2] https://github.com/JuliaLang/julia/issues/25900
>> [3] https://github.com/JuliaLang/julia/issues/34115
next prev parent reply other threads:[~2020-01-22 10:00 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87pnfgvqgt.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me>
2019-12-09 13:36 ` [bug#38546] [PATCH 0/3] Julia: fix package build and add julia-xyz nixo
2019-10-10 15:49 ` [bug#38546] [PATCH 2/3] gnu: julia-build-system: Enable tests Nicolò Balzarotti
2019-12-15 21:45 ` Ludovic Courtès
2019-10-10 15:49 ` [bug#38546] [PATCH 3/3] gnu: julia-xyz: Add julia-compat Nicolò Balzarotti
2019-12-15 21:46 ` Ludovic Courtès
2019-10-10 15:49 ` [bug#38546] [PATCH 1/3] gnu: julia: Set to JULIA_LOAD_PATH and JULIA_DEPOT_PATH variables Nicolò Balzarotti
2019-12-15 21:43 ` Ludovic Courtès
2019-12-12 8:43 ` [bug#38546] [PATCH 01/11] gnu: julia: Update to 1.3.1 nixo
2019-12-15 21:40 ` [bug#38546] [PATCH 0/3] Julia: fix package build and add julia-xyz Ludovic Courtès
2020-01-10 9:25 ` [bug#38546] [PATCH 03/11] gnu: julia: Adjust indentation nixo
2020-01-17 18:40 ` [bug#38546] [PATCH 05/11] gnu: build: julia-build-system: fix package nixo
2020-01-18 12:58 ` [bug#38546] [PATCH 02/11] gnu: julia: use SOURCE_DATE_EPOCH for precompilation timestamp nixo
2020-01-18 13:05 ` [bug#38546] [PATCH 06/11] gnu: Add julia-compat nixo
2020-01-18 13:06 ` [bug#38546] [PATCH 07/11] gnu: Add julia-inifile nixo
2020-01-18 13:07 ` [bug#38546] [PATCH 08/11] gnu: Add julia-sha nixo
2020-01-18 13:07 ` [bug#38546] [PATCH 09/11] gnu: Add julia-binaryprovider nixo
2020-01-18 13:11 ` [bug#38546] [PATCH 10/11] gnu: Add julia-mbedtls nixo
2020-01-18 13:11 ` [bug#38546] [PATCH 11/11] gnu: Add julia-http nixo
2020-01-18 13:23 ` [bug#38546] [PATCH 04/11] use wrapper to set JULIA_LOAD_PATH and JULIA_DEPOT_PATH nixo
2020-01-18 13:32 ` [bug#38546] [Nicolò Balzarotti] [PATCH 00/11] Update julia to 1.3.1, fix precompilation, add HTTP.jl Nicolò Balzarotti
2020-01-18 13:36 ` [bug#38546] [nixo] [PATCH 01/11] gnu: julia: Update to 1.3.1 Nicolò Balzarotti
2020-01-18 13:42 ` [bug#38546] [Nicolò Balzarotti] [PATCH 00/10] Update julia to 1.3.1, fix precompilation, add HTTP.jl Nicolò Balzarotti
2020-01-18 13:59 ` [bug#38546] [00/11] Update Julia, Fix " Nicolò Balzarotti
2020-01-20 18:49 ` zimoun
2020-01-21 13:45 ` Nicolò Balzarotti
2020-01-22 9:22 ` zimoun
2020-01-22 9:59 ` Nicolò Balzarotti [this message]
2020-01-24 17:26 ` zimoun
2020-02-04 18:03 ` zimoun
2020-02-07 12:06 ` zimoun
2020-02-11 14:51 ` zimoun
2020-02-11 15:10 ` Nicolò Balzarotti
2020-02-11 15:19 ` zimoun
2020-02-11 15:24 ` Nicolò Balzarotti
2020-01-18 14:35 ` [bug#38546] Julia patches v3 Nicolò Balzarotti
2020-02-11 17:58 ` [bug#38546] [PATCH v4] Update Julia 1.3.1: almost done zimoun
2020-02-24 12:50 ` zimoun
2020-02-24 20:59 ` Nicolò Balzarotti
2020-02-25 16:12 ` zimoun
2020-02-25 18:08 ` Nicolò Balzarotti
2020-02-26 12:32 ` [bug#38546] [PATCH v5] Julia: Update to 1.3.1 Nicolò Balzarotti
2020-03-16 10:06 ` Efraim Flashner
2020-03-17 7:51 ` Nicolò Balzarotti
2020-03-17 8:12 ` Efraim Flashner
2020-03-17 12:21 ` Marius Bakke
2020-03-17 13:37 ` Nicolò Balzarotti
2020-03-19 12:28 ` Marius Bakke
2020-04-06 6:09 ` Efraim Flashner
2020-04-06 8:18 ` Nicolò Balzarotti
2020-04-06 8:37 ` Efraim Flashner
2020-04-06 23:18 ` Nicolò Balzarotti
2020-04-07 5:41 ` Efraim Flashner
2020-04-07 6:05 ` Efraim Flashner
2020-04-07 14:35 ` bug#38546: " Efraim Flashner
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877e1jdd62.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me \
--to=anothersms@gmail.com \
--cc=38546@debbugs.gnu.org \
--cc=ludo@gnu.org \
--cc=zimon.toutoune@gmail.com \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.