Looks good. Thanks for going through this.
/Erik
On 2018-09-14 00:58, Magnus Ihse Bursie wrote:
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