RFR(XS): 8160457: VersionProps.versionNumbers() is broken

Volker Simonis volker.simonis at gmail.com
Tue Jun 28 14:57:39 UTC 2016


Hi,

can somebody please review this trivial fix:

http://cr.openjdk.java.net/~simonis/webrevs/2016/8160457/
https://bugs.openjdk.java.net/browse/JDK-8160457

The problem is that VersionProps.versionNumbers() incorrectly parses a
Java version string because it doesn't skip the separating dots. The
current version only works for one digit versions like "9" but will
fail for any longer version string like for example "9.0.0.1" with:

        at java.lang.NumberFormatException.forInputString(java.base at 9.0.0.1-internal/NumberFormatException.java:65)
        at java.lang.Integer.parseInt(java.base at 9.0.0.1-internal/Integer.java:791)
        at java.lang.VersionProps.versionNumbers(java.base at 9.0.0.1-internal/VersionProps.java:76)
        at java.lang.Runtime.version(java.base at 9.0.0.1-internal/Runtime.java:940)

This also breaks the build which uses a newly built jdk for
bootstrapping if we set '--with-version-patch=1' for example.

An can you PLEASE, PLEASE finally do your internal/early access builds
with '--with-version-patch=1'. It seems really careless to me that you
introduce a new, up to four digit versioning schema but only test the
shortcut version with one digit. I wouldn't be surprised if a version
like "9.0.0.1" breaks more Java applications than the sun.misc.Unsafe
removal :)

Thank you and best regards,
Volker


More information about the core-libs-dev mailing list