Hi Taras,
see my comments in-lined.
On 11/06/2013 03:04 PM, taras ledkov wrote:
Hi Everyone
I am working on bug https://bugs.openjdk.java.net/browse/JDK-7195249.
Based on my colleagues' research,
Root cause:
hotspot/test/runtime/6294277/SourceDebugExtension.java
jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.java
jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java
jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh
jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java
fails intermittently because of use of fixed ports. These ports could
be busy at some configurations.
Suggested fix:
1. My recommendation would be to convert the only shell test
(SSLConfigFilePermissionTest.sh) into
Java based test and re-use the dynamic port allocation
solutionjdk/test/lib/testlibrary/jdk/testlibrary/Utils.getFreePort()
to address the issue for JDK tests. Staffan Larsen recommends to use
this solution instead of
java/rmi/testlibrary/TestLibrary.getUnusedRandomPort().
2. For hotspot tests I cannot find appropriate test utils (witch
provide getFreePort() functionality). There are several options:
- copy whole library jdk/test/lib/testlibrary/jdk/testlibrary/ to
hotspot repository;
There is already testlibrary in the hotspot part:
hotspot/test/testlibrary. The most classes from jdk/test/lib/testlibrary
are already in there (package com.oracle.java.testlibrary).
I've added Utils, TestThread, ProcessThread and XRun a while ago but has
not yet port them to the hotspot part.
- copy one class jdk/test/lib/testlibrary/jdk/testlibrary/Utils.java
to hotspot repository;
Sounds like a good solution right now. I'll try to port the rest in the
nearest future.
- copy one method from class
jdk/test/lib/testlibrary/jdk/testlibrary/Utils.java
(Utils.getFreePort()) to hotspot repository;
- move the library jdk/test/lib/testlibrary/jdk/testlibrary/ to a
place that can be shared between hotspot & jdk tests (if such place
exists).
Sounds like an even better solution but there is no such place as far as
I know. But discussions are ongoing on how it can be achieved.
3. SourceDebugExtension test uses jtreg tag @run with hard coded port
in jvm options. The test must be converted to test with java based
test launcher and test application (e.g. like the test
LocalManagementTest.java).
Please let me know any comments or suggestions.
Thank you
Thanks,
Katja