RFR(S): 8240734: ModuleHashes attribute not reproducible between builds

Martin Buchholz martinrb at google.com
Tue Mar 10 15:10:33 UTC 2020


Aside: if all you want to do is make a use of HashMap more reproducible,
the standard reaction is s/HashMap/LinkedHashMap/g

On Tue, Mar 10, 2020 at 12:53 AM Alan Bateman <Alan.Bateman at oracle.com>
wrote:

> On 10/03/2020 02:54, Yangfei (Felix) wrote:
> > Hi,
> >
> >    We found module-info.class in java.base.jmod is not always consistent
> across different builds.
> >    The ModuleHashes attribute in this module-info.class is not
> reproducible between builds.
> >    Patch fixes the issue by using TreeMap instead of HashMap when
> computing ModuleHashes.
> >
> >    Bug: https://bugs.openjdk.java.net/browse/JDK-8240734
> >    Webrev: http://cr.openjdk.java.net/~fyang/8240734/webrev.00/
> >
> This looks okay (and to Bernd question, this is used at link time). I
> think we need to extend the test coverage for reproducible builds, the
> existing JLinkReproducibleTest.java would ideally have caught the
> difference due to the random ordering of hashes.
>
> -Alan.
>
>


More information about the core-libs-dev mailing list