openJDK8 jtreg test failure

Medi Montaseri medi.montaseri at hds.com
Thu Feb 27 14:17:09 PST 2014


Hi Mike,

I was following the instruction at http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html#testing

Looks like running "make test TEST=jdk_all" works much better...I ran this from the top dir, and made sure I export JT_HOME and JT_JAVA as I also got an old jtreg on my box.

mmontaseri at griffin:~/work/bug-91383/jdk8> env |grep JT
JT_HOME=/opt/jtreg/jtreg-4.2
JT_JAVA=/usr/lib/jvm/java-7-openjdk-amd64/bin/java

mmontaseri at griffin:~/work/bug-91383/jdk8> jtreg -version
jtreg, version 4.0 dev b00
Installed in /opt/jtreg/jtreg-4.2/lib/jtreg.jar
Running on platform version 1.7.0_25 from /usr/lib/jvm/java-7-openjdk-amd64/jre.
Built with 1.7.0_25 on 02/23/2014 09:12 PM.
Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
Use is subject to license terms.
TestNG: version 6.8-201210030754


Then I run the make test as

mmontaseri at griffin:~/work/bug-91383/jdk8> make test TEST=jdk_all
Building OpenJDK for target 'test' in configuration 'linux-x86_64-normal-server-release'

## Starting langtools
## Finished langtools (build time 00:00:00)

## Starting hotspot
## Finished hotspot (build time 00:00:00)

## Starting corba
## Finished corba (build time 00:00:00)

## Starting jaxp
## Finished jaxp (build time 00:00:00)

## Starting jaxws
## Finished jaxws (build time 00:00:01)

## Starting jdk
## Finished jdk (build time 00:00:01)

## Starting demos
## Finished demos (build time 00:00:00)

## Starting nashorn
## Finished nashorn (build time 00:00:00)

## Starting images
## Finished images (build time 00:00:02)

## Starting test
/usr/bin/make -k -C  ../jdk/test  TEST=jdk_all jdk_all
make[2]: Entering directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
echo "Running tests: jdk_all"
Running tests: jdk_all
for each in jdk_all; do \
                /usr/bin/make -j 1 TEST_SELECTION=":$each" UNIQUE_DIR=$each jtreg_tests; \
        done
make[3]: Entering directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make[3]: *** No rule to make target `/java/re/jtreg/4.1/promoted/latest/binaries/jtreg', needed by `/java/re/jtreg/4.1/promoted/latest/binaries/jtreg/win32/bin/jtreg'.
make[3]: Target `jtreg_tests' not remade because of errors.
make[3]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make[2]: *** [jdk_all] Error 2
make[2]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make[1]: *** [jdk_all] Error 2
## Finished test (build time 00:00:00)

----- Build times -------
Start 2014-02-27 14:07:30
End   2014-02-27 14:07:34
00:00:00 corba
00:00:00 demos
00:00:00 hotspot
00:00:02 images
00:00:00 jaxp
00:00:01 jaxws
00:00:01 jdk
00:00:00 langtools
00:00:00 nashorn
00:00:00 test
00:00:04 TOTAL
-------------------------
Finished building OpenJDK for target 'test'
mmontaseri at griffin:~/work/bug-91383/jdk8>

So does it mean it failed or it passed?

thanks
Medi

________________________________
From: Mike Duigou [mike.duigou at oracle.com]
Sent: Thursday, February 27, 2014 10:12 AM
To: Medi Montaseri
Cc: jtreg-use at openjdk.java.net
Subject: Re: openJDK8 jtreg test failure

What is your current directory?

You should be able to run

make test TEST="jdk_all"

from the top level repo, ie. the same directory as you ran "make images".

Running from {root}/test or jdk/test may have issues. You should not have to specify PRODUCT_HOME.

Mike

On Feb 25 2014, at 17:26 , Medi Montaseri <medi.montaseri at hds.com<mailto:medi.montaseri at hds.com>> wrote:

Update....

As you may recall, I was getting a make test error of

Error: JDK not found: /home/mmontaseri/work/bug-91383/jdk8/test/../build/*/images/j2sdk-image
Missing file: /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/JTreport/text/summary.txt
EXIT CODE: 5
EXIT CODE: 5
make[2]: *** [jtreg_tests] Error 5

I changed the "make test" invocation from the fancy way of

make PRODUCT_HOME=`pwd`/../build/*/images/j2sdk-image all

to

X=`pwd`/../build/*/images/j2sdk-image
echo $X
/home/mmontaseri/work/bug-91383/jdk8/test/../build/linux-x86_64-normal-server-release/images/j2sdk-image
 X=/home/mmontaseri/work/bug-91383/jdk8/build/linux-x86_64-normal-server-release/images/j2sdk-image
ls $X
ASSEMBLY_EXCEPTION  bin/  demo/  include/  jre/  lib/  LICENSE  man/  release  sample/  src.zip  THIRD_PARTY_README

make PRODUCT_HOME=$X all
make -k -C  ../jdk/test  TEST=jdk_all jdk_all
make[1]: Entering directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
echo "Running tests: jdk_all"
Running tests: jdk_all
...skipping bunch of stuff...
/home/mmontaseri/work/bug-91383/jdk8/jdk/test/TEST.groups: group needs_jre: file not found: java/text/Bidi/Bug6665028.java
Error: No tests selected
Missing file: /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/JTreport/text/summary.txt
EXIT CODE: 1
EXIT CODE: 1
make[2]: *** [jtreg_tests] Error 1
make[2]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make[1]: *** [jdk_all] Error 2
make[1]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make: *** [jdk_all] Error 2

which is different that with the fancy path 'jdk8/test/../build' replaced with 'jdk8/build'

The output is difficult to read....just for you amusement I copy it here...

mmontaseri at griffin:~/work/bug-91383/jdk8/test> make PRODUCT_HOME=$X all
make -k -C  ../jdk/test  TEST=jdk_all jdk_all
make[1]: Entering directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
echo "Running tests: jdk_all"
Running tests: jdk_all
for each in jdk_all; do \
                make -j 1 TEST_SELECTION=":$each" UNIQUE_DIR=$each jtreg_tests; \
        done
make[2]: Entering directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
(                                                                    \
          ( JT_HOME=/opt/jtreg/jtreg-4.2;                   \
            export JT_HOME;                                                  \
            /opt/jtreg/jtreg-4.2/win32/bin/jtreg                              \
              -agentvm -a -ea -esa -v:fail,error,time -retain:fail,error -ignore:quiet -timeoutFactor:4 -J-Xmx512m                                          \
              -r:/home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/JTreport  \
              -w:/home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/JTwork    \
              -jdk:/home/mmontaseri/work/bug-91383/jdk8/build/linux-x86_64-normal-server-release/images/j2sdk-image                \
              -exclude:ProblemList.txt                                            \
                -vmoption:-Xmx512m                                          \
              :jdk_all                                                    \
          ) ;                                                                \
          ( jtregExitCode=$? && _summary="/home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/JTreport/text/summary.txt"; rm -f -f /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/Stats.txt /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/runlist.txt /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/passlist.txt /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/faillist.txt /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/exitcode.txt; echo "${jtregExitCode}" > /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/exitcode.txt; if [ -r "${_summary}" ] ; then echo "Summary: jdk_all" > /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/Stats.txt; expand ${_summary} | egrep -v ' Not run\.' > /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/runlist.txt; egrep ' Passed\.' /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/runlist.txt | egrep -v ' Error\.' | egrep -v ' Failed\.' > /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/passlist.txt; ( egrep ' Failed\.' /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/runlist.txt; egrep ' Error\.' /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/runlist.txt; egrep -v ' Passed\.' /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/runlist.txt ) | sort | uniq > /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/faillist.txt; if [ ${jtregExitCode} != 0 -o -s /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/faillist.txt ] ; then expand /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/faillist.txt | cut -d' ' -f1 | sed -e 's@^@FAILED: @' >> /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/Stats.txt; if [ ${jtregExitCode} = 0 ] ; then jtregExitCode=1; fi; fi; runc="`cat /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/runlist.txt      | wc -l | awk '{print $1;}'`"; passc="`cat /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/passlist.txt    | wc -l | awk '{print $1;}'`"; failc="`cat /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/faillist.txt    | wc -l | awk '{print $1;}'`"; exclc="FIXME CODETOOLS-7900176"; echo "TEST STATS: name=jdk_all  run=${runc}  pass=${passc}  fail=${failc}" >> /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/Stats.txt; else echo "Missing file: ${_summary}" >> /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/Stats.txt; fi; if [ -f /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/Stats.txt ] ; then cat /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/Stats.txt; fi; ( mkdir -p `dirname /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/ARCHIVE_BUNDLE.zip` && cd /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all && chmod -R a+r . && zip -q -r /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/ARCHIVE_BUNDLE.zip . ) ; if [ ! -s /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/exitcode.txt ] ; then echo "ERROR: EXITCODE file not filled in."; echo "1" > /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/exitcode.txt; fi ; testExitCode=`cat /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/exitcode.txt`; echo "EXIT CODE: ${testExitCode}"; exit ${testExitCode} )                                              \
        ) 2>&1 | tee /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/output.txt ; if [ ! -s /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/exitcode.txt ] ; then echo "ERROR: EXITCODE file not filled in."; echo "1" > /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/exitcode.txt; fi ; testExitCode=`cat /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/exitcode.txt`; echo "EXIT CODE: ${testExitCode}"; exit ${testExitCode}
/home/mmontaseri/work/bug-91383/jdk8/jdk/test/TEST.groups: group needs_jre: file not found: java/text/Bidi/Bug6665028.java
Error: No tests selected
Missing file: /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/JTreport/text/summary.txt
EXIT CODE: 1
EXIT CODE: 1
make[2]: *** [jtreg_tests] Error 1
make[2]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make[1]: *** [jdk_all] Error 2
make[1]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make: *** [jdk_all] Error 2
mmontaseri at griffin:~/work/bug-91383/jdk8/test>

________________________________
From: Medi Montaseri
Sent: Tuesday, February 25, 2014 2:03 PM
To: Mike Duigou
Cc: jtreg-use at openjdk.java.net<mailto:jtreg-use at openjdk.java.net>
Subject: RE: openJDK8 jtreg test failure

update...

I upgraded my jtreg(1) to what appears to be version 4.0 dev b00

mmontaseri at griffin:~/work/bug-91383/jdk8> jtreg -version
jtreg, version 4.0 dev b00
Installed in /opt/jtreg/jtreg-4.2/lib/jtreg.jar
Running on platform version 1.7.0_25 from /usr/lib/jvm/java-7-openjdk-amd64/jre.
Built with 1.7.0_25 on 02/23/2014 09:12 PM.
Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
Use is subject to license terms.
TestNG: version 6.8-201210030754

Some progress was made, but required some hand holding, namely

bash configure --with-jtreg=/opt/jtreg/jtreg-4.2 will influence the config where I see

config.log:configure:16509: checking for jtreg
config.log:configure:16643: result: /opt/jtreg/jtreg-4.2/win32/bin/jtreg
config.log:CONFIGURE_COMMAND_LINE='--with-jtreg=/opt/jtreg/jtreg-4.2 --prefix=/home/mmontaseri/work/bug-91383/depot4'
config.log:JTREGEXE='/opt/jtreg/jtreg-4.2/win32/bin/jtreg'
config.log:JT_HOME='/opt/jtreg/jtreg-4.2'

and "make all" completes successfully, but "cd test && make PRODUCT_HOME=`pwd`/../build/*/images/j2sdk-image all" will fail with

mmontaseri at griffin:~/work/bug-91383/jdk8> cd test && make PRODUCT_HOME=`pwd`/../build/*/images/j2sdk-image all
make -k -C  ../jdk/test  TEST=jdk_all jdk_all
make[1]: Entering directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
echo "Running tests: jdk_all"
Running tests: jdk_all
for each in jdk_all; do \
                make -j 1 TEST_SELECTION=":$each" UNIQUE_DIR=$each jtreg_tests; \
        done
make[2]: Entering directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
(                                                                    \
          ( JT_HOME=/opt/jtreg/jtreg-4.2;                   \
            export JT_HOME;                                                  \
            /opt/jtreg/jtreg-4.2/win32/bin/jtreg                              \
              -agentvm -a -ea -esa -v:fail,error,time -retain:fail,error -ignore:quiet -timeoutFactor:4 -J-Xmx512m                                          \
              -r:/home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/JTreport  \
              -w:/home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/JTwork    \
              -jdk:/home/mmontaseri/work/bug-91383/jdk8/test/../build/*/images/j2sdk-image                \
              -exclude:ProblemList.txt                                            \
                -vmoption:-Xmx512m                                          \
              :jdk_all                                                    \
          ) ;                                                                \
          ( jtregExitCode=$? && _summary="/home/mmontaseri/work/bug-91383/jdk8/jd
....bunch of lines omitted....
 CODE: ${testExitCode}"; exit ${testExitCode}
Error: JDK not found: /home/mmontaseri/work/bug-91383/jdk8/test/../build/*/images/j2sdk-image
Missing file: /home/mmontaseri/work/bug-91383/jdk8/jdk/testoutput/jdk_all/JTreport/text/summary.txt
EXIT CODE: 5
EXIT CODE: 5
make[2]: *** [jtreg_tests] Error 5
make[2]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make[1]: *** [jdk_all] Error 2
make[1]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make: *** [jdk_all] Error 2

Note that make and jtreg(1) are not playing nice and sharing. I had to set JT_HOME and JT_JAVA to get to this point.

So to recap:
- upgraded jtreg(1)
- exported JT_HOME and JT_JAVA,
- why is there a reference to win32, we aint got no win32 around here, I am running on a linux 64 bit. totally misleading
- what does it mean by JDK not found.

Thanks
Medi



________________________________
From: Medi Montaseri
Sent: Tuesday, February 25, 2014 11:20 AM
To: Mike Duigou
Cc: jtreg-use at openjdk.java.net<mailto:jtreg-use at openjdk.java.net>
Subject: RE: openJDK8 jtreg test failure

thanks Mike,

I am not finding any 4.1b8 version at https://adopt-openjdk.ci.cloudbees.com/job/jtreg/
I downloaded build #55 ( 1 day 16 hours ago ) and it is version 4.0 dev b00

mmontaseri at griffin:~/tmp/downloads/jtreg/linux/bin> ls
jtdiff*  jtreg*
mmontaseri at griffin:~/tmp/downloads/jtreg/linux/bin> echo $JT_HOME          # nothing set here

mmontaseri at griffin:~/tmp/downloads/jtreg/linux/bin> echo $JAVA_HOME       # nothing set

mmontaseri at griffin:~/tmp/downloads/jtreg/linux/bin> javac -version
javac 1.6.0_26
mmontaseri at griffin:~/tmp/downloads/jtreg/linux/bin> ./jtreg -version
jtreg, version 4.0 dev b00
Installed in /home/mmontaseri/tmp/downloads/jtreg/lib/jtreg.jar
Running on platform version 1.6.0_26 from /usr/lib/jvm/java-6-sun-1.6.0.26/jre.
Built with 1.7.0_25 on 02/23/2014 09:12 PM.
Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
Use is subject to license terms.
TestNG: version 6.8-201210030754

________________________________
From: Mike Duigou [mike.duigou at oracle.com<mailto:mike.duigou at oracle.com>]
Sent: Monday, February 24, 2014 10:10 PM
To: Medi Montaseri
Cc: jtreg-use at openjdk.java.net<mailto:jtreg-use at openjdk.java.net>
Subject: Re: openJDK8 jtreg test failure

Hi Medi;

You will need to upgrade to a newer version of JTReg. The current version is 4.1b8. I put in a request to the debian maintainers several months ago. The 4.1b2 version is several years old. You can get current builds of JTReg produced by the AdoptOpenJDK group here:

https://adopt-openjdk.ci.cloudbees.com/job/jtreg/

When you have installed jtreg into a local directory you provide that location as a parameter to --with-jtreg ie. --with-jtreg=/path/to/jtreg.

HTH,

Mike

On Feb 24 2014, at 19:21 , Medi Montaseri <medi.montaseri at hds.com<mailto:medi.montaseri at hds.com>> wrote:

Hi,

I have successfully build openJDK8 on Debian 7.3 but failing on "regression test" as follows

- I am getting the src via 'hg from clone http://hg.openjdk.java.net/jdk8/jdk8"
- Before I run "bash configure" I export PATH=/usr/lib/jvm/java-7-openjdk-amd64/bin:$PATH
- I confirm that my 1.7 javac is the first to be found
- I confirm to have jtreg
      ii  jtreg       4.1-2           all             Regression Test Harness for the OpenJDK platform
- no JT_HOME, no JAVA_HOME is set. They are null
- After running "bash configure --with-jtreg --prefix=/some/dir"
 I see the following in my build/linux-x86_64-normal-server-release/config.log
      config.log:configure:16652: checking for jtreg
      config.log:configure:16670: found /usr/bin/jtreg

Anyways...the make continues and finishes with some happy messages...

----- Build times -------
Start 2014-02-24 19:12:15
End   2014-02-24 19:12:20
00:00:00 corba
00:00:00 demos
00:00:01 hotspot
00:00:02 images
00:00:00 install
00:00:00 jaxp
00:00:00 jaxws
00:00:02 jdk
00:00:00 langtools
00:00:00 nashorn
00:00:05 TOTAL
-------------------------
Finished building OpenJDK for target 'install'


then I try to run the suggested regression test and it fails....

cd test && make PRODUCT_HOME=`pwd`/../build/*/images/j2sdk-image all
make -k -C  ../jdk/test  TEST=jdk_all jdk_all
make[1]: Entering directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
echo "Running tests: jdk_all"
Running tests: jdk_all
for each in jdk_all; do \
                make -j 1 TEST_SELECTION=":$each" UNIQUE_DIR=$each jtreg_tests; \
        done
make[2]: Entering directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make[2]: *** No rule to make target `/java/re/jtreg/4.1/promoted/latest/binaries/jtreg', needed by `/java/re/jtreg/4.1/promoted/latest/binaries/jtreg/win32/bin/jtreg'.
make[2]: Target `jtreg_tests' not remade because of errors.
make[2]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make[1]: *** [jdk_all] Error 2
make[1]: Leaving directory `/home/mmontaseri/work/bug-91383/jdk8/jdk/test'
make: *** [jdk_all] Error 2

I googled around, there are some other hits on this, but I could not find any resolution. Any clue is appreciated.

Thanks
Medi



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/jtreg-use/attachments/20140227/2bd9d6bd/attachment-0001.html 


More information about the jtreg-use mailing list