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