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 02:59:31 UTC 2018
Hello,
I'm withdrawing this RFR. I noticed with repeated runs it was sometimes
failing on Solaris. It looks like for the most part the test ran ok, but
then at the end of the log you see:
--Finish execution with sending "quit" command to JDB
--Sending cmd: quit
--Quit cmd was sent
--waitForFinish: Waiting for mydojdbCmds() to finish
And it never returns from this. It looks to be the same issue as
JDK-8171483 <https://bugs.openjdk.java.net/browse/JDK-8171483>, but with
a different test. Since the shell script stability issues will be
resolved when the scripts are converted to pure java tests by
JDK-8179318 <https://bugs.openjdk.java.net/browse/JDK-8179318>, I think
it's best to just let this bug be fixed at the same time as JDK-8179318
<https://bugs.openjdk.java.net/browse/JDK-8179318>. I was hoping to get
the test stable and off the problemlist with this fix, but since that's
not 100% attainable, it's not really worth pushing the fix at this time.
thanks,
Chris
On 5/10/18 5:01 PM, Chris Plummer wrote:
> 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