GNU bug report logs - #32193
Java packages are indeterministic (due to order in jar?)

Previous Next

Package: guix;

Reported by: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>

Date: Tue, 17 Jul 2018 21:10:01 UTC

Severity: normal

Done: Julien Lepiller <julien <at> lepiller.eu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 32193 in the body.
You can then email your comments to 32193 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#32193; Package guix. (Tue, 17 Jul 2018 21:10:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Tue, 17 Jul 2018 21:10:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
To: <bug-guix <at> gnu.org>
Subject: Java packages are indeterministic (due to order in jar?)
Date: Tue, 17 Jul 2018 23:09:29 +0200
[Message part 1 (text/plain, inline)]
/pre-inst-env  guix build --check java-eclipse-jdt-core -K
./pre-inst-env  guix build --check -K java-httpcomponents-httpcore-nio

both fail.

diffoscope /gnu/store/6r2x0fbsj9kwvljrdx2nc8nbrvd9d78m-java-eclipse-jdt-core-3.12.3 /gnu/store/6r2x0fbsj9kwvljrdx2nc8nbrvd9d78m-java-eclipse-jdt-core-3.12.3-check/  >java-eclipse-jdt-core-3.12.3_diffoscope.log

This looks like:

│ │ │ │ +org/eclipse/jdt/core/formatter
│ │ │ │  org/eclipse/jdt/core/eval
│ │ │ │ +org/eclipse/jdt/core/jdom
│ │ │ │  org/eclipse/jdt/core/dom
│ │ │ │  org/eclipse/jdt/core/dom/rewrite
│ │ │ │ -org/eclipse/jdt/core/formatter
│ │ │ │ -org/eclipse/jdt/core/jdom
│ │ │ │ -org/eclipse/jdt/core/search
│ │ │ │ -org/eclipse/jdt/core/compiler
│ │ │ │ -org/eclipse/jdt/core/compiler/batch
│ │ │ │  org/eclipse/jdt/core/index

i.e. order is wrong. Full diff attached.

In 'strip-jar-timestamps the jars are repacked the last time, with
find-files and zip.

I made some experiments: zip is sensitive to the order of inputs.

I tried some examples from a Guile-REPL with
find-files from guix/build/utils.scm, but they worked as expected,
returning files in order.

Björn
[java-eclipse-jdt-core-3.12.3_diffoscope.log (text/x-log, attachment)]
[Message part 3 (application/pgp-signature, inline)]

Reply sent to Julien Lepiller <julien <at> lepiller.eu>:
You have taken responsibility. (Thu, 19 Jul 2018 17:52:02 GMT) Full text and rfc822 format available.

Notification sent to Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>:
bug acknowledged by developer. (Thu, 19 Jul 2018 17:52:02 GMT) Full text and rfc822 format available.

Message #10 received at 32193-done <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 32193-done <at> debbugs.gnu.org
Subject: Re: bug#32193: Java packages are indeterministic (due to order in
 jar?)
Date: Thu, 19 Jul 2018 19:51:28 +0200
[Message part 1 (text/plain, inline)]
This was due to an ordering issue in META-INF/INDEX.LIST. The file is
generated before running strip-jar-timestamps, so the order of the
content is not deterministic when the file is generated. In
79d4d47b99591e4edd8cefee907fbb0d930f78aa I added a phase before that,
that runs strip-jar-timestamps before and after generating INDEX.LIST
(after because INDEX.LIST otherwise has a timestamp).

The fix was pushed to staging.
[Message part 2 (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 17 Aug 2018 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 4 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.