Openjdk11 not reproducilbe

  • Open
  • quality assurance status badge
Details
One participant
  • Gábor Boskovits
Owner
unassigned
Submitted by
Gábor Boskovits
Severity
normal
G
G
Gábor Boskovits wrote on 28 Jan 2019 09:26
(address . bug-guix@gnu.org)
CAE4v=pj9J33VkRb+h4GWVpj7v=uuG88iiXZhZFt5_YERjTkYLg@mail.gmail.com
The openjdk package, as submitted on the tracker as #34230 is not reproducible.

doc output passes rounds=2
jdk output does not, differing files:

jmods/java.base.jmod:
this is a jmod file.
You can use diffoscope on it, after strippeing of the 4 bytes binary
header, as it becomes a
standard zip archive then.
the only differing file inside the archive is:
classes/module-info.class, and only the module hashes differ.
This also causes the zip CRC to mismatch.
In summary these seems to be the syndrome of modules differing.

lib/classList:
this file has non-deterministic ordering issues. I could just sort it,
but I believe it causes problems in other files. If it turns out to be
not related to other problems, this is trivial to fix.

lib/modules:
This is a jimage file.
Most differences are from metadata.
You can extract the content using the jimage tool, which is available
from any openjdk package.
There are two problems:
1. We can't regenerate the file from the extracted content, as it
needs additional information. We will have to find the spot in the
build system where this file is created to regenerate it, or patch the
jimage tool to create deteministic metadata.
2. unfortunately there are some real differences in the content:
java.base/jdk/internal/module/SystemModules$all.class:
integer differences
also bytecode differences

module-info.class:
hash differences
(this seems to be a sympthom)

I have no info on the out output, as the daemon only reports the first
differing output.

Thanks for Julien in helping me out in collecting these informations.
G
G
Gábor Boskovits wrote on 1 Feb 2019 13:09
Openjdk11 not reproducible
(address . 34231@debbugs.gnu.org)
CAE4v=phQ2mGrcJ65mhPRqPg9ar19HhWMRQLxxCCKpMFWLkerXw@mail.gmail.com
See comments in make/scripts/compare.sh.

It might make sense to add a build system flag to enable reproducible
build, for most people building openjdk should not pay the performance
penalty involved.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 34231@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 34231
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch