JDK builds are currently not reproducible, and can't be diff'ed without special handling for some files. One of the issues is the javac symbol database ct.sym. This is a zip file and the time stamps on each entry means the file is different in each build. Furthermore, the hash of packaged module that are tied to java.base are stored in the ModuleHashes attribute of java.base's module-info.class which leads it java.base being non-reproducible too. We need to re-examine ct.sym creation to see if there are alternatives for the per entry time stamp.