Name: ipR10196 Date: 06/13/2002
--------------------------------------
Test : nsk/regression/b4322869
TestBase : testbase_nsk
VM : server (32-bit and 64-bit)
Mode : comp
Platform : generic
OS : generic
----------------------------------------
Steps to reproduce
================
1. cd /net/sqesvr.eng/export/vsn/GammaBase/Bugs/{BugID}
2. sh doit.sh $JAVA_HOME -server -Xcomp
In this test a thread creates many copies of object in a
infinite loop:
for (int i = 1; i > 0; i++) {
log_out.println("##> begin iterate: i = " + i);
Object copy = null;
try {
copy = s_b4322869_object.clone();
}
catch (CloneNotSupportedException e) {
}
<...>
log_out.println("##> end iterate: i = " + i);
}
log_out.println("##> loop ends");
Running on ServerVM in -Xcomp mode this loop untimely ends after
the first iteration:
##> begin iterate: i = 1
##> end iterate: i = 1
##> loop ends
(I've added log_out.println() to the code to track the loop iterations)
This causes main thread of the test to wait infinitely for a change
in global variables which should be made in the next iterations, so
the test hungs up.
Running on ClientVM and/or other VM modes the test passes successfully,
executing all iterations of the loop.
Test ouput:
-----------------------------------------------------
Requesting JVM version...
java version "1.4.1-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-beta-b14)
Java HotSpot(TM) Server VM (build 1.4.1-beta-b14, compiled mode)
Running the test...
==> nsk/regression/b4322869 test LOG:
--> This test on #4322869 bug; Category: hotspot; Subcategory: compiler1
Synopsis: race condition when returning from native calls with oop result
--> b4322869: test execution time limit = 8 minutes
--> b4322869: Thread "NativeOopThread" started
##> begin iterate: i = 1
##> end iterate: i = 1
##> loop ends
<test hungs up>
-----------------------------------------------------
======================================================================