RFR(S): 8185803: JdbExprTest.sh fails in JDK10-hs nightly due to "Name unknown: java.lang.Long.MAX_VALUE "

Chris Plummer chris.plummer at oracle.com
Fri May 11 00:01:03 UTC 2018


Hello,

Please review the following simple fix for 8185803:

https://bugs.openjdk.java.net/browse/JDK-8185803
http://cr.openjdk.java.net/~cjplummer/8185803/webrev.00/

Although this bug has been around for nearly a year, it used to only 
fail on Windows. After the push for JDK-8198426 last month, it started 
to fail on every run. The test runs jdb, stops at a breakpoint in the 
debugee, and the issues the following command:

    print java.lang.Long.MAX_VALUE

And the response back is:

com.sun.tools.example.debug.expr.ParseException: Name unknown: 
java.lang.Long.MAX_VALUE
    java.lang.Long.MAX_VALUE = null

The issue is that Long has not been initialized (it has been loaded), so 
the java.lang.Long.MAX_VALUE symbol is not valid. This became the case 
on every run after JDK-8198426 because it removed a bunch of java code 
that executed at startup, and this code must have been causing Long to 
get initialized. I'm not sure why it used to only fail on Windows before 
JDK-8198426, but it passes now on all platforms with my fix, which is to 
add a reference to java.lang.Long in the debugee so the Long will always 
be initialized.

thanks,

Chris



More information about the serviceability-dev mailing list