RFR: 8146435: [TESTBUG] Logging tests are failing intermittently on windows when executed by JPRT

Ioi Lam ioi.lam at oracle.com
Wed Jan 13 01:50:10 UTC 2016


Rachel,

I don't think adding "-Xshare:off" is the correct fix. For example, 
ItablesTest.java just runs "java -version", and depends on the fact that 
at least one of the JDK classes that are implicitly loaded has an itable 
(or whatever contents that produces the "vtable index " output).

This behavior depends on internal JDK implementation and there's no 
guarantee that it will always be true. There's also no guarantee that 
the behavior will be the same across all the OS ports.

In the future, some changes of "java -version" may cause this test to 
fail only on a particular platform. I don't want someone to spend a day 
to track down some imaginative windows issues again just to find out 
that it's a test bug.

So, as I mentioned in the bug report, the tests should be written to 
load a class that *you have written* to ensure that the output will be 
there regardless of JDK implementation.

Here are other cases where the tests are dependent on unspecified behaviors:

      out.shouldContain("[Initialized").shouldContain("without side 
effects]");

      All of the output in DefaultMethodsTest.java

In fact, I think you should remove "-Xshare:off" from the tests. Adding 
-Xshare:off will also force the tests to be executed with CDS disabled, 
and would cover up problems that only show up when CDS is enabled.

Thanks
- Ioi

On 1/12/16 10:27 AM, Rachel Protacio wrote:
> Hello!
>
> Please review this fix which adds "-Xshare:off" to all UL tests' 
> ProcessBuilders to prevent windows failures. Extreme thanks to Ioi for 
> debugging and finding the source of the problem.
>
> Open webrev: http://cr.openjdk.java.net/~rprotacio/8146435/
> Bug: https://bugs.openjdk.java.net/browse/JDK-8146435
>
> Tests sent to JPRT, pass on all platforms.
>
> Thank you!
> Rachel



More information about the hotspot-runtime-dev mailing list