JDK-6221549 : TCK-jnlp 1.5: jnlp_file/resources/j2se/index.html#vmArgs hang in some cases.
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 5.0u2,6
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux_suse_sles_8.2,solaris_10
  • CPU: x86
  • Submitted: 2005-01-25
  • Updated: 2012-03-23
  • Resolved: 2005-10-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6
5.0u3Fixed 6 b56Fixed
Related Reports
Duplicate :  
Relates :  
Description
JDK            : 6.0 and 5.0u2
JCK            : tck-jnlp 1.5
Platform[s]    : Suse 9.1 
switch/Mode    : Default
JCK test owner : http://javaweb.eng/jck/usr/owners.jto
Failing Test   : 

jnlp_file/resources/j2se/index.html#vmArgs

Test source location:
=====================

/net/jtgb4u4c.sfbay/export/sail1/testarea/tck-jnlp-1.5/tests/jnlp_file/resources/j2se/vmArgs.jnlp vmArgsTests.java

jtr file location:
==================
/net/cady/export5/results/mustang/b19/jck/jck-tck_runtime-suse9-2005-01-19-15-56-23-0611/workDir/jnlp_file/resources/j2se/index_vmArgs.jtr

It may get moved to

/net/jsqalab/export/results/6.0/b19/jck/jck-tck_runtime-suse9-2005-01-19-15-56-23-0611/workDir/jnlp_file/resources/j2se/index_vmArgs.jtr


How to reproduce:
====================
1) Install jdk1.6.0
2) Run jnlp_file/resources/j2se/index.html#vmArgs using JavaTest harness for the TCK-JNLP test suite.
3) It will hang unless stop from JavaTest is press.
4) Open a javaws and set the java console as "Show console".
5) Remove all the class from javaws had be loaded.
6) Rerun the test again.



Test output:
=============

Specific Machine Info:
=====================
For Linux ->
Hostname: jck-win5
Os: Suse 9.1





###@###.### 2005-1-25 22:43:41 GMT

This varies from machine to machine.  Test will hang on some amd64 based linux machines with or without console on. 

###@###.### 2005-2-10 15:46:42 GMT

Comments
EVALUATION In this new instance (Solaris 10 3/05 s10_74L2a X86 on amd-64) The same symptom seems to be caused by a test exiting w/o flushing the trace output. As a result the harness dosn't see that the text succeeded. We can fix this just by adding Trace.flush() statement.
23-09-2005

SUGGESTED FIX http://web-east.east/www/webrevs/andy/1.6.0/6221549/ ###@###.### 2005-2-12 16:43:07 GMT
12-02-2005

EVALUATION I did a bit of investigation and this should not be a 5.0 U2 showstopper. The problem only exists when running the specific test inside the TCK test harness. I extracted the test out and run as a normal jnlp application and the test passed: http://javaweb.sfbay.sun.com/~ngthomas/6221549/test.jnlp Also when running the same tests on solaris (both standalone and inside TCK), everything works. I tried 5.0 FCS build and I see the same behaviour. So this is not a new problem or regression. This is not a common scenario, as it only happens inside the TCK harness on linux platform. I don't know what's the root cause of the hang inside the test harness yet. Here is a log of the webstart trace when running inside the harness: basic: Java part started basic: jnlpx.jvm: /tmp/ng/jre1.5.0/bin/java basic: jnlpx.splashport: 34534 basic: jnlpx.remove: false basic: jnlpx.heapsize: NULL,NULL ##TCKHarnesRun##:1106856061003:14074220:Thread[main,5,main]:Java Started basic: new Launcher: <jnlp spec="0.2+" codebase="http://dnm-dtf-026:34531/jnlp_file/resources/j2se/"> <information> <title>java-vm-args test</title> <vendor>Sun Microsystems, Inc.</vendor> <homepage href="http://dnm-dtf-026:34531/jnlp_file/resources/j2se/index.html "/> <description>Test for java-vm-args attribute of j2se</description> </information> <resources> <property name="jnlp.JVMArgsPropName" value="java.vm.name"/> <property name="jnlp.JVMArgsPropValue" value="Java HotSpot(TM) Client VM"/> <j2se java-vm-args="-client" version="1.5"> <resources> <jar href="http://dnm-dtf-026:34531/jnlp_file/resources/j2se/passed.jar" download="eager" main="false"/> </resources> </j2se> <j2se initial-heap-size="30720000" max-heap-size="41943040" version="1.0+"> <resources> <jar href="http://dnm-dtf-026:34531/jnlp_file/resources/j2se/failed.jar" download="eager" main="false"/> </resources> </j2se> <jar href="http://dnm-dtf-026:34531/jnlp_file/resources/j2se/test.jar" downl oad="eager" main="true"/> <jar href="http://dnm-dtf-026:34531/jnlp_file/resources/j2se/classes.jar" do wnload="eager" main="false"/> </resources> <application-desc main-class="javasoft.sqe.tests.jnlp.file.resources.j2se.vmAr gsTests"> <argument>-statusServer</argument> <argument>dnm-dtf-026:34530</argument> </application-desc> </jnlp> basic: Loaded descriptor from cache at: http://dnm-dtf-026:34531/jnlp_file/resou rces/j2se/test.jar basic: LaunchDesc location: http://dnm-dtf-026:34531/jnlp_file/resources/j2se/te st.jar, version: null basic: isCurrentRunningJREHeap: passed args: -1, -1 basic: JnlpxArgs is -1, -1 basic: LaunchSelection: findJRE: Match on current JRE basic: Offline mode: false IsInCache: false forceUpdate: true Installed JRE: JREInfo for index 0: platform is: 1.5 product is: 1.5.0 location is: http://java.sun.com/products/autodl/j2se path is: /tmp/ng/jre1.5.0/bin/java osname is: Linux osarch is: i386 enabled is: true registered is: true system is: false IsInstaller: false basic: isCurrentRunningJREHeap: passed args: -1, -1 basic: JnlpxArgs is -1, -1 basic: Launching new JRE version: JREInfo for index 0: platform is: 1.5 product is: 1.5.0 location is: http://java.sun.com/products/autodl/j2se path is: /tmp/ng/jre1.5.0/bin/java osname is: Linux osarch is: i386 enabled is: true registered is: true system is: false basic: cmd 0 : /tmp/ng/jre1.5.0/bin/java basic: cmd 1 : -client basic: cmd 2 : -Xbootclasspath/a:/tmp/ng/jre1.5.0/lib/javaws.jar:/tmp/ng/jre1.5. 0/lib/deploy.jar basic: cmd 3 : -classpath basic: cmd 4 : :/tmp/ng/jre1.5.0/lib/deploy.jar basic: cmd 5 : -Djnlpx.vmargs=-client basic: cmd 6 : -Djnlpx.jvm=/tmp/ng/jre1.5.0/bin/java basic: cmd 7 : -Djnlpx.splashport=34534 basic: cmd 8 : -Djnlpx.home=/tmp/ng/jre1.5.0/bin basic: cmd 9 : -Djnlpx.remove=false basic: cmd 10 : -Djnlpx.offline=false basic: cmd 11 : -Djnlpx.heapsize=NULL,NULL basic: cmd 12 : -Djava.security.policy=file:/tmp/ng/jre1.5.0/lib/security/javaws .policy basic: cmd 13 : -DtrustProxy=true basic: cmd 14 : -Xverify:remote basic: cmd 15 : com.sun.javaws.Main basic: cmd 16 : -XX:TCKHarnessRun=true basic: cmd 17 : -XX:LogToHost=localhost:34532 basic: cmd 18 : http://dnm-dtf-026:34531/jnlp_file/resources/j2se/vmArgs.jnlp ##TCKHarnesRun##:1106856064452:14074220:Thread[javawsApplicationMain,5,javawsApp licationThreadGroup]:JVM Starting After this the new java process just hangs there for some reason inside the harness. ###@###.### 2005-1-28 01:16:14 GMT I believe this is another instance of: 4741589: Jaws TCK Test: installerDesc2001 (Test cases included:installerDesc2001) failed. We cannot address the test harness design problems in an update release, so I can only suggest we waive this bug, add this test to the exclude list, and bump the priority of 4741589 so this might be addressed in mustang time frame. ###@###.### 2005-1-28 14:56:49 GMT Turns out this is a problem in Trace.java. The TCK relys on the trace output to the SocketTraceListener. In this case, when relaunching on certain fast linux platforms, the SocketTraceListener was being added to the ArrayList "listenerList", while the TraceListenerThread was iterating the ArrayList. This caused an exception in that thread for ConcurrentModificationException. Fix is in Trace.java to synchronize accesses to listenerList. ###@###.### 2005-2-10 15:46:43 GMT
28-01-2005