<Java Home Dir>/bin/java_g -Xint -XX:+ScavengeALot -XX:-UseParallelGC -XX:ScavengeALotInterval=4 javasoft.sqe.tests.vm.concepts.execution.execution062.execution06201m1.execution06201m1
This will always run to completion, but sometimes will return 0
instead of the expected 95:
VM option '+ScavengeALot'
VM option 'ScavengeALotInterval=4'
Scavenge no: 1 Interval: 3
Scavenge no: 2 Interval: 1
Scavenge no: 3 Interval: 4
Scavenge no: 4 Interval: 4
Scavenge no: 5 Interval: 2
.
.
.
Scavenge no: 618 Interval: 1
Scavenge no: 619 Interval: 4
Scavenge no: 620 Interval: 1
Scavenge no: 621 Interval: 3
Scavenge no: 622 Interval: 2
Scavenge no: 623 Interval: 2
system > echo $?
0 <<<<<<<<<<<<< should be 95
system >
In this test case, an object is created and immediately discarded.
We ensure that the object's finalizer is executed before exiting the
process, by calling java.lang.System::runFinalizersOnExit(true). Note: runFinalizersOnExit is depricated, but still present in the 1.5 jck test suite.
After completing execution of main, but before beginning to destroy
the vm, a gc is invoked and the object is gc'd and placed on the
finalizer queue. The finalizer queue begins to finalize the object,
but before it does, control is turned back to the main thread, which
sees that the object has already been handled, and exits, returning 0.
This failure has occurred on both Solaris and HP-UX, both for 1.4.2
and 1.5. A similar failure also occurs with
vm.concepts.execution.execution062.execution06202m1.execution06202m1,
but not nearly as consistantly.
How often it fails is affected by what value is used for ScavengeALotInterval, as well as system load, etc.
To reproduce this:
cd /java/re/jck/1.5/promoted/fcs/latest/binaries/JCK-runtime-15
run the following script
#!/bin/sh
while [ 1 ] ; do
/java/re/jdk/1.6.0/latest/binaries/solaris-sparc/bin/java_g -cp lib/javatest.jar:classes -Xint -XX:+ScavengeALot -XX:-UseParallelGC -XX:ScavengeALotInterval=4 javasoft.sqe.tests.vm.concepts.execution.execution062.execution06201m1.execution06201m1 > /tmp/a.out 2> /tmp/b.out
echo $?
done
###@###.### 11/5/04 00:07 GMT
This will always run to completion, but sometimes will return 0
instead of the expected 95:
VM option '+ScavengeALot'
VM option 'ScavengeALotInterval=4'
Scavenge no: 1 Interval: 3
Scavenge no: 2 Interval: 1
Scavenge no: 3 Interval: 4
Scavenge no: 4 Interval: 4
Scavenge no: 5 Interval: 2
.
.
.
Scavenge no: 618 Interval: 1
Scavenge no: 619 Interval: 4
Scavenge no: 620 Interval: 1
Scavenge no: 621 Interval: 3
Scavenge no: 622 Interval: 2
Scavenge no: 623 Interval: 2
system > echo $?
0 <<<<<<<<<<<<< should be 95
system >
In this test case, an object is created and immediately discarded.
We ensure that the object's finalizer is executed before exiting the
process, by calling java.lang.System::runFinalizersOnExit(true). Note: runFinalizersOnExit is depricated, but still present in the 1.5 jck test suite.
After completing execution of main, but before beginning to destroy
the vm, a gc is invoked and the object is gc'd and placed on the
finalizer queue. The finalizer queue begins to finalize the object,
but before it does, control is turned back to the main thread, which
sees that the object has already been handled, and exits, returning 0.
This failure has occurred on both Solaris and HP-UX, both for 1.4.2
and 1.5. A similar failure also occurs with
vm.concepts.execution.execution062.execution06202m1.execution06202m1,
but not nearly as consistantly.
How often it fails is affected by what value is used for ScavengeALotInterval, as well as system load, etc.
To reproduce this:
cd /java/re/jck/1.5/promoted/fcs/latest/binaries/JCK-runtime-15
run the following script
#!/bin/sh
while [ 1 ] ; do
/java/re/jdk/1.6.0/latest/binaries/solaris-sparc/bin/java_g -cp lib/javatest.jar:classes -Xint -XX:+ScavengeALot -XX:-UseParallelGC -XX:ScavengeALotInterval=4 javasoft.sqe.tests.vm.concepts.execution.execution062.execution06201m1.execution06201m1 > /tmp/a.out 2> /tmp/b.out
echo $?
done
###@###.### 11/5/04 00:07 GMT