RFR: JDK-8210750 Clean up compare.sh exceptions

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Fri Sep 14 07:58:31 UTC 2018


The file compare_exceptions.sh.incl contains a lot of "known exceptions" 
to files that we have ignored various aspects of when comparing two 
builds using compare.sh.

Most of them should be removed. There are several reasons for this:

1) The script was developed when we compared two completely different 
build systems (old and new), and some leeway was needed in that 
comparison. Now we only make incremental changes to an existing system, 
and we need to sharpen the tool.

2) We now have continuous testing on build reproducability, where we 
build twice in a row and compare the two builds. Essentially, I believe 
only changes that are triggered under these circumstances should be 
allowed to be on this list. All other changes could not be just deemed 
as spurious anymore.

3) We have addressed multiple issues of non-reproducability in the 
build, but we have been bad at clearing out this file.

Finally, I believe the DIS_DIFF_FILTER does not belong in the exceptions 
file, since it's more about the core behavior of the compare script.

I have tested this patch by repeatedly running the comparison test. 
While some of the issues are indeed intermittent, I believe they have at 
least been absent far enough on my testing to warrant removal at this 
point. (The only failure I've noticed is due to JDK-8209880. While I 
could have added a temporary exclude for tzdb.dat, I hope that 
JDK-8209880 get fixed soon enough that it's not worth a temporary 
workaround.)

In the fullness of time, it would be interesting to hunt down the 
remaining unexplained arbitrary changes in the build. But it's not 
really high priority.

Bug: https://bugs.openjdk.java.net/browse/JDK-8210750
WebRev: 
http://cr.openjdk.java.net/~ihse/JDK-8210750-cleanup-compare-exceptions/webrev.01

/Magnus




More information about the build-dev mailing list