-
Bug
-
Resolution: Fixed
-
P4
-
5.0u22, 6, 9, 10
-
b13
-
generic, x86
-
generic, windows_xp
The test
nsk/jvmti/GetThreadState/thrstat002
is failed intermittently on Windows-{amd64/ia64}.
The following is the log from nightly run on Windows-ia64:
#!E:/PROGRA~1/MKSTOO~1/mksnt/sh.exe
RAS_OPTIONS=
SystemRoot=C:/WINDOWS
SHELL=E:/PROGRA~1/MKSTOO~1/mksnt/sh.exe
PATH="C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/bin;Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/src/nsk/share/lib/winia64;C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/jre/bin/server;C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/jre/bin;Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/bin/lib/winia64/nsk/jvmti/GetThreadState;"
WINDIR=C:/WINDOWS
LD_LIBRARY_PATH=Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/bin/lib/winia64/nsk/jvmti/GetThreadState;
CLASSPATH="C:/temp/Work/exec/JVMTI_QUICKLOOK-11-NIGHTLY-Serv_Baseline-ServerVM-comp-64BITWIN-IA64-2005-04-12-01-17-47-0819/run2/Administrator.Windows_2003.ia64/thrstat002;Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/bin/classes;C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/lib/tools.jar"
while [ $# -gt 0 ];
do
if [ $1 = "-jdk" ]; then
shift 1
PATH=${1}/bin;${PATH}
shift 1
fi
done
export RAS_OPTIONS
export SystemRoot
export SHELL
export PATH
export WINDIR
export LD_LIBRARY_PATH
export CLASSPATH
#annotate TEST javaopt=C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/bin/java -server -Xcomp -XX:-ShowMessageBoxOnError -XX:-PrintVMOptions -XX:CompileOnly=nsk -agentlib:thrstat002
E:/PROGRA~1/MKSTOO~1/mksnt/perl.exe Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/src/nsk/share/jvmti/run_jvmti.pl C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/bin/java -server -Xcomp -XX:-ShowMessageBoxOnError -XX:-PrintVMOptions -XX:CompileOnly=nsk -DHANGINGJAVA4504 -agentlib:thrstat002 nsk.jvmti.GetThreadState.thrstat002 2
##Exit status of execution step=97
##!checkExitCode
## Waiting time = 2 mins
#thrstat002.meth after thr.start()
#thrstat002a.run before startingBarrier.unlock
#thrstat002.meth after thr.startingBarrier.waitFor()
#thrstat002a.run after startingBarrier.unlock
#thrstat002a.run before blockingMonitor lock
#thrstat002.meth after checkStatus(STATUS_MONITOR,false)
#thrstat002.meth after thr.suspend()
#thrstat002.meth after checkStatus(STATUS_MONITOR,true)
#thrstat002.meth after thr.resume()
#thrstat002.meth after checkStatus(STATUS_MONITOR,false)
#thrstat002a.run blockingMonitor locked
#thrstat002a.run after blockingMonitor lock
#thrstat002a.run after runningBarrier unlock
#thrstat002a.run before endingMonitor unlock
#Wrong thread "thr1" (0x000006FBFEFFB628) state after SuspendThread:
# expected: BLOCKED_ON_MONITOR_ENTER (1024)
# actual: ALIVE RUNNABLE SUSPENDED (1048581)
Please, consider a couple of fragment below:
public class thrstat002 {
...
void meth() {
...
synchronized (blockingMonitor) {
thr.start();
System.out.println("thrstat002.meth after thr.start()");
startingBarrier.waitFor();
System.out.println("thrstat002.meth after thr.startingBarrier.waitFor()");
checkStatus(STATUS_MONITOR, false); *** <- this part reported the error
...
}
...
class thrstat002a extends Thread {
...
public void run() {
synchronized (thrstat002.endingMonitor) {
...
System.out.println("thrstat002a.run before blockingMonitor lock");
synchronized (thrstat002.blockingMonitor) {
System.out.println("thrstat002a.run blockingMonitor locked");
}
...
###@###.### 2005-06-08 09:59:32 GMT
This bug reproduced on the 2005.06.09 nightly run on Win32 Server VM.
###@###.### 2005-06-10 17:35:14 GMT
nsk/jvmti/GetThreadState/thrstat002
is failed intermittently on Windows-{amd64/ia64}.
The following is the log from nightly run on Windows-ia64:
#!E:/PROGRA~1/MKSTOO~1/mksnt/sh.exe
RAS_OPTIONS=
SystemRoot=C:/WINDOWS
SHELL=E:/PROGRA~1/MKSTOO~1/mksnt/sh.exe
PATH="C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/bin;Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/src/nsk/share/lib/winia64;C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/jre/bin/server;C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/jre/bin;Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/bin/lib/winia64/nsk/jvmti/GetThreadState;"
WINDIR=C:/WINDOWS
LD_LIBRARY_PATH=Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/bin/lib/winia64/nsk/jvmti/GetThreadState;
CLASSPATH="C:/temp/Work/exec/JVMTI_QUICKLOOK-11-NIGHTLY-Serv_Baseline-ServerVM-comp-64BITWIN-IA64-2005-04-12-01-17-47-0819/run2/Administrator.Windows_2003.ia64/thrstat002;Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/bin/classes;C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/lib/tools.jar"
while [ $# -gt 0 ];
do
if [ $1 = "-jdk" ]; then
shift 1
PATH=${1}/bin;${PATH}
shift 1
fi
done
export RAS_OPTIONS
export SystemRoot
export SHELL
export PATH
export WINDIR
export LD_LIBRARY_PATH
export CLASSPATH
#annotate TEST javaopt=C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/bin/java -server -Xcomp -XX:-ShowMessageBoxOnError -XX:-PrintVMOptions -XX:CompileOnly=nsk -agentlib:thrstat002
E:/PROGRA~1/MKSTOO~1/mksnt/perl.exe Y:/nightly/mantis/DTWS/suites/JVMTI_QUICKLOOK/testbase/src/nsk/share/jvmti/run_jvmti.pl C:/temp/Work/JDK/NIGHTLY/Serv_Baseline/windows-ia64/bin/java -server -Xcomp -XX:-ShowMessageBoxOnError -XX:-PrintVMOptions -XX:CompileOnly=nsk -DHANGINGJAVA4504 -agentlib:thrstat002 nsk.jvmti.GetThreadState.thrstat002 2
##Exit status of execution step=97
##!checkExitCode
## Waiting time = 2 mins
#thrstat002.meth after thr.start()
#thrstat002a.run before startingBarrier.unlock
#thrstat002.meth after thr.startingBarrier.waitFor()
#thrstat002a.run after startingBarrier.unlock
#thrstat002a.run before blockingMonitor lock
#thrstat002.meth after checkStatus(STATUS_MONITOR,false)
#thrstat002.meth after thr.suspend()
#thrstat002.meth after checkStatus(STATUS_MONITOR,true)
#thrstat002.meth after thr.resume()
#thrstat002.meth after checkStatus(STATUS_MONITOR,false)
#thrstat002a.run blockingMonitor locked
#thrstat002a.run after blockingMonitor lock
#thrstat002a.run after runningBarrier unlock
#thrstat002a.run before endingMonitor unlock
#Wrong thread "thr1" (0x000006FBFEFFB628) state after SuspendThread:
# expected: BLOCKED_ON_MONITOR_ENTER (1024)
# actual: ALIVE RUNNABLE SUSPENDED (1048581)
Please, consider a couple of fragment below:
public class thrstat002 {
...
void meth() {
...
synchronized (blockingMonitor) {
thr.start();
System.out.println("thrstat002.meth after thr.start()");
startingBarrier.waitFor();
System.out.println("thrstat002.meth after thr.startingBarrier.waitFor()");
checkStatus(STATUS_MONITOR, false); *** <- this part reported the error
...
}
...
class thrstat002a extends Thread {
...
public void run() {
synchronized (thrstat002.endingMonitor) {
...
System.out.println("thrstat002a.run before blockingMonitor lock");
synchronized (thrstat002.blockingMonitor) {
System.out.println("thrstat002a.run blockingMonitor locked");
}
...
###@###.### 2005-06-08 09:59:32 GMT
This bug reproduced on the 2005.06.09 nightly run on Win32 Server VM.
###@###.### 2005-06-10 17:35:14 GMT