The tool/test in test/jdk/tools/jimage/VerifyJimage.java can be run in two modes. By default (no command line arguments) it attempts to load all the classes in the current runtime image. When given a directory path, is attempts to verify that the contents of resources in the jimage match those in the given directory. It is this 2nd mode which is broken.
Essentially the tool silently reports no differences without testing a single file. This happens because of a logic error which causes incorrect jimage entry names to be generated along with code which silently ignores "missing" entries. Of course, when incorrect names are systematically generated, all entries appear to be "missing".
A fix to this should include additional unit testing to ensure this tool cannot fail silently in future.
Essentially the tool silently reports no differences without testing a single file. This happens because of a logic error which causes incorrect jimage entry names to be generated along with code which silently ignores "missing" entries. Of course, when incorrect names are systematically generated, all entries appear to be "missing".
A fix to this should include additional unit testing to ensure this tool cannot fail silently in future.
- links to
-
Review(master)
openjdk/jdk/28265