Name: asR10013 Date: 11/28/2002
Filed By : J2SE-SQA [###@###.###
JDK : JDK1.4.2-b08
Testbase : RegTest-test
Platform[s] : Windows ME
switch/Mode : -client
Falling test[s]:
com/sun/jdi/NotAField.sh
com/sun/jdi/GetLocalVariables3Test.sh
com/sun/jdi/ArrayLengthDumpTest.sh
com/sun/jdi/CatchPatternTest.sh
com/sun/jdi/JdbMissStep.sh
com/sun/jdi/GetLocalVariables4Test.sh
These 6 RegTest-test tests fail because ShellScaffold.sh uses ps on
Windows ME the same way as on Windows NT, but it should use it as on Windows 98.
As a result, the tests do not wait for the debugger to exit and analyse
incomplete output files.
Here is the part of ShellScaffold.sh:
osname=`uname -s`
isWin98=
case "$osname" in
Windows* | CYGWIN*)
if [ "$osname" = Windows_98 ] ; then
isWin98=1
debuggeeKeyword='we_cant_kill_debuggees_on_win98'
jdbKeyword='jdb\.exe'
fi
When I had changed the condition as follows :
if [ "$osname" = Windows_98 -o "$osname" = Windows_ME ] ; then
5 tests (except com/sun/jdi/GetLocalVariables4Test.sh) passed.
com/sun/jdi/GetLocalVariables4Test.sh also failes due to another bug.
Test source location:
=====================
/java/re/jdk/1.4.2/promoted/latest/ws/j2se/test/com/sun/jdi/NotAField.sh
/java/re/jdk/1.4.2/promoted/latest/ws/j2se/test/com/sun/jdi/GetLocalVariables3Test.sh
/java/re/jdk/1.4.2/promoted/latest/ws/j2se/test/com/sun/jdi/ArrayLengthDumpTest.sh
/java/re/jdk/1.4.2/promoted/latest/ws/j2se/test/com/sun/jdi/CatchPatternTest.sh
/java/re/jdk/1.4.2/promoted/latest/ws/j2se/test/com/sun/jdi/JdbMissStep.sh
jtr file location:
==================
/net/jtgb4u4c.sfbay/export/sail15/results/mantis/b08/regtest/win32/winme_-client_linux-18/workDir/test/com/sun/jdi/NotAField.jtr
/net/jtgb4u4c.sfbay/export/sail15/results/mantis/b08/regtest/win32/winme_-client_linux-18/workDir/test/com/sun/jdi/GetLocalVariables3Test.jtr
/net/jtgb4u4c.sfbay/export/sail15/results/mantis/b08/regtest/win32/winme_-client_linux-18/workDir/test/com/sun/jdi/ArrayLengthDumpTest.jtr
/net/jtgb4u4c.sfbay/export/sail15/results/mantis/b08/regtest/win32/winme_-client_linux-18/workDir/test/com/sun/jdi/CatchPatternTest.jtr
/net/jtgb4u4c.sfbay/export/sail15/results/mantis/b08/regtest/win32/winme_-client_linux-18/workDir/test/com/sun/jdi/JdbMissStep.jtr
How to reproduce:
=================
Run the following script (you may need to change its variables)
--- script start ---
#!/bin/sh
RESULT_DIR=`pwd`
WORK_DIR=$RESULT_DIR/workDir/test
REPORT_DIR=$RESULT_DIR/reportDir
JT_HOME="h:/java/jct"
JAVA_HOME="h:/java/jdk1.4.2/win32"
TEST_BASE_PATH="h:/java/regtest/test"
TESTWITH=$JAVA_HOME
TESTJAVA=$JAVA_HOME
JTOPTS="-client"
TESTVMOPTS="-client"
CLASSPATH="$JT_HOME/classes;$JT_HOME/lib/javatest.jar;$JT_HOME/lib/jtreg.jar"
export JAVA_HOME
export JT_HOME
export TESTWITH
export CLASSPATH
mkdir -p $WORK_DIR/scratch 2>&1
mkdir -p $WORK_DIR/jtData 2>&1
mkdir -p $REPORT_DIR 2>&1
#rm $WORK_DIR/jtData/ResultCache.jtw 2>&1
cd $WORK_DIR/scratch
$JAVA_HOME/bin/java -cp $CLASSPATH $JTOPTS -DenvVars=TESTJAVAHOME=$JAVA_HOME,TESTVMOPTS=$TESTVMOPTS,DISPLAY=:0,windir=$windir,PATH=${SHELL%/*},TZ=,LC_ALL=en_US,LC_CTYPE=en_US,LANG=en_US,LPDEST= -DDISPLAY=:0 -DlocalHost="linux-18" -Dprogram=jtreg com.sun.javatest.regtest.Main -a -v default -batch -params -w "$WORK_DIR" -r "$REPORT_DIR" -t "$TEST_BASE_PATH" "$TEST_BASE_PATH/com/sun/jdi/ArrayLengthDumpTest.sh"
--- script end ---
Test output (jtr part):
=======================
----------System.out:(42/1588)----------
Killing orphan processes
Killing orphan processes
--Compiling first version of H:/results_full/mantis/b08/regtest/win32/winme_linux-18/workDir/test/classes/com/sun/jdi/ArrayLengthDumpTarg.java with
--Starting jdb
--Starting debuggee
Listening at address: kkkk
Cmd: k:/jdk1.4.2/win32/bin/java -classpath H:/results_full/mantis/b08/regtest/win32/winme_linux-18/workDir/test/classes/com/sun/jdi -DHANGINGJAVA_DEB -XX:-ShowMessageBoxOnError
-showversion -Xdebug -Xrunjdwp:transport=dt_shmem,address=kkkk,server=n,suspend=y ArrayLengthDumpTarg
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
Initializing jdb ...
>
VM Started: No frames on the current call stack
main[1] Deferring breakpoint ArrayLengthDumpTarg:27.
It will be set after the class is loaded.
main[1] > Set deferred breakpoint ArrayLengthDumpTarg:27
u.length is: 6
this.s.length is: 5
this.t.length is: 11
this.t[1].length is: 5
i.length is: 7
Breakpoint hit: "thread=main", ArrayLengthDumpTarg.foo(), line=27 bci=219
27 bar(); // @1 breakpoint
main[1] this = {
i: instance of int[7] (id=269)
s: instance of java.lang.String[5] (id=270)
t: instance of java.lang.String[][11] (id=271)
length: 5
}
main[1] this.s.length = 5
main[1] this.s = {
"zero", "one", "two", "three", "four"
}
main[1] this.t.length = 11
main[1] this.t[1].length = 5
main[1] ArrayLengthDumpTarg.i.length = 7
main[1] this.length = 5
main[1] >
The application exited
----------System.err:(23/751)----------
ShellScaffold cleaning up at Wed Nov 27 16:59:39 AST 2002
--Fail: main: Required output ""zero", "one", "two", "three", "four"" not found in H:/results_full/mantis/b08/regtest/win32/winme_linux-18/workDir/test/classes/com/sun/jdi/jxdbOutput.txt
Killing orphan processes
Killing orphan processes
stop at ArrayLengthDumpTarg:27
run
java version "1.4.2-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-beta-b08)
Java HotSpot(TM) Client VM (build 1.4.2-beta-b08, mixed mode)
dump this
dump this.s.length
dump this.s
dump this.t.length
dump this.t[1].length
dump ArrayLengthDumpTarg.i.length
dump this.length
cont
[1] + Done(141) ?
0xfff05e07 Pipe broken echo
[1] + Done(141) ?
0xfff05e07 Pipe broken echo
result: Failed. Execution failed: exit code 1
test result: Failed. Execution failed: exit code 1
Specific machine info:
======================
Hostname: linux-18
OS: Windows ME
======================================================================
- relates to
-
JDK-4786185 TEST_BUG: Reg.test: race condition in ShellScaffold.sh
- Closed