Jtreg build is failing

Jonathan Gibbons jonathan.gibbons at oracle.com
Wed Jun 21 17:25:39 UTC 2017


Stuart,

I've not dug all the way down to the root cause of your issue, but I can 
confirm that the primary significant different between your test results 
in the Basic.othervm tests and the test results I have locally (which 
pass) is related to the JCommander library.

The following lines at the end of Basic.othervm/report/text/summary.txt 
seem to be the appropriate ones to look at:

testng/group/p/q/ExtraComment.java    Failed. Execution failed: `main' 
threw exception: java.lang.NoClassDefFoundError: 
com/beust/jcommander/ParameterException
testng/group/p/q/ExtraComment.java#1  Error. Multiple test descriptions 
not allowed
testng/group/p/q/Fail.java            Failed. Execution failed: `main' 
threw exception: java.lang.NoClassDefFoundError: 
com/beust/jcommander/ParameterException
testng/group/p/q/Pass.java            Failed. Execution failed: `main' 
threw exception: java.lang.NoClassDefFoundError: 
com/beust/jcommander/ParameterException
testng/singles/Fail.java              Failed. Execution failed: `main' 
threw exception: java.lang.NoClassDefFoundError: 
com/beust/jcommander/ParameterException
testng/singles/Pass.java              Failed. Execution failed: `main' 
threw exception: java.lang.NoClassDefFoundError: 
com/beust/jcommander/ParameterException

You can ignore the second line ... that is intentional ... the Basic* 
tests have many intentional errors, as part of testing jtreg's ability 
to correctly detect errors.  But the messages about not finding 
ParameterException are significant.

-- Jon


On 06/21/2017 10:00 AM, Stuart Monteith wrote:
> The versions are (the ones I'm using, then the recommended versions
> from the README, then from the website):
>    asmtools-6.0   -  ?  - 6.0 or better
>    jtharness-5.0   - 4.1.3  - jtharness 4.6 or better
>    junit-4.8.2   - junit 4  - JUnit 4.1.0
>    testng-6.9.5  -  ?  - 6.9.5
>    jcommander-1.48  - ? - ?
>    javahelp-2.0.05   - 2.0_01 - e.g. javahelp2.0_05.zip
>
> There are some disparities. I've not investigated much to see why they
> are failing.
>
> I've put the build files here:
>
>      http://people.linaro.org/~stuart.monteith/jtreg-build/Basic.othervm/report/
> you can look around from here:
>     http://people.linaro.org/~stuart.monteith/jtreg-build/
>
> Thanks,
>      Stuart
>
> On 21 June 2017 at 17:29, Jonathan Gibbons <jonathan.gibbons at oracle.com> wrote:
>> Stuart,
>>
>> Your fix for the HelpTree problem looks like the fix I would anticipate.
>> I'll try it out locally and run the tests.
>>
>> You don't give enough info for me to diagnose why the tests are not
>> running for you. Are you using the recommended version of other libraries,
>> and not necessarily the latest version? (i.e. the version we recommend for
>> use with jtreg)
>>
>> Some other folk are looking at making the overall jtreg build easier to
>> configure.
>> That work is ongoing.
>>
>> -- Jon
>>
>>
>> On 06/21/2017 09:11 AM, Stuart Monteith wrote:
>>> Ok, I'm not seeing any better test results with the old jtharness.jar
>>> version.
>>>
>>> Also, "f.set(commandHelpTree, new NodeComparator()) " should be
>>> backwards compatible with the static field in the old version of
>>> jtharness, as "commandHelpTree" will just be ignored.
>>>
>>> BR,
>>>      Stuart
>>>
>>> On 21 June 2017 at 16:48, Stuart Monteith <stuart.monteith at linaro.org>
>>> wrote:
>>>> The immediate problem is solved with the patch below (with no regards
>>>> to backwards compatibility).
>>>>
>>>> I'm note getting clean test runs though. I see:
>>>>
>>>> TRT.finished(), attempting cache compress...TRT.finished(), requesting
>>>> cache flush...Test results: passed: 89; failed: 47; error: 87
>>>> Report written to
>>>>
>>>> /home/stumon01/jtreg-local/jtreg/build/Basic.othervm/report/html/report.html
>>>> Results written to
>>>> /home/stumon01/jtreg-local/jtreg/build/Basic.othervm/work
>>>> Error: Some tests failed or other problems occurred.
>>>> ok...batch execution
>>>> checking selection according to previous state
>>>> state: 0 (passed)
>>>> expected number of tests: 92
>>>> found: 89
>>>> wrong number of tests found
>>>> java.lang.Error: wrong number of tests found
>>>> at Basic.failed(Basic.java:346)
>>>> at Basic.checkPreviousStateSelection(Basic.java:272)
>>>> at Basic.<init>(Basic.java:115)
>>>> at Basic.main(Basic.java:50)
>>>> ../test/basic/Basic.gmk:78: recipe for target '../build/Basic.othervm.ok'
>>>> failed
>>>> make: *** [../build/Basic.othervm.ok] Error 1
>>>> make: Leaving directory '/home/stumon01/jtreg-local/jtreg/make'
>>>>
>>>>
>>>> I've not compared this against running with jtharness-4.6.jar.
>>>>
>>>> I don't suppose you're looking additional issues?
>>>>
>>>> BR,
>>>>      Stuart
>>>>
>>>>
>>>> # HG changeset patch
>>>> # User smonteith
>>>> # Date 1498059859 -3600
>>>> #      Wed Jun 21 16:44:19 2017 +0100
>>>> # Node ID 75cda45229ca989faf3e8ba83f45ccb951b1bb8f
>>>> # Parent  33d0a6d64b82f5ca23b7b1eaadf74317b2204ecf
>>>> Fix HelpTree field access
>>>>
>>>> diff -r 33d0a6d64b82 -r 75cda45229ca
>>>> src/share/classes/com/sun/javatest/regtest/tool/Help.java
>>>> --- a/src/share/classes/com/sun/javatest/regtest/tool/Help.java Mon
>>>> Jun 12 14:35:46 2017 -0700
>>>> +++ b/src/share/classes/com/sun/javatest/regtest/tool/Help.java Wed
>>>> Jun 21 16:44:19 2017 +0100
>>>> @@ -329,7 +329,7 @@
>>>>            try{
>>>>                Field f =
>>>> HelpTree.class.getDeclaredField("nodeComparator");
>>>>                f.setAccessible(true);
>>>> -            f.set(null, new NodeComparator());
>>>> +            f.set(commandHelpTree, new NodeComparator());
>>>>            } catch (IllegalAccessException | IllegalArgumentException |
>>>> NoSuchFieldException | SecurityException ignore) {
>>>>            }
>>>>
>>>> On 21 June 2017 at 16:30, Jonathan Gibbons <jonathan.gibbons at oracle.com>
>>>> wrote:
>>>>> Yes, jtreg has not yet been updated to be compatible with JTHarness 5.0.
>>>>>
>>>>> -- Jon
>>>>>
>>>>>
>>>>>
>>>>> On 6/21/17 8:15 AM, Stuart Monteith wrote:
>>>>>> Hi,
>>>>>>     I just noticed I have hit this problem.
>>>>>>
>>>>>> HelpTree in jtharness-5.0.jar has this:
>>>>>>      private java.util.Comparator nodeComparator;
>>>>>> Whereas in jtharness-4.6.jar it has:
>>>>>>      private static java.util.Comparator nodeComparator;
>>>>>>
>>>>>> i.e. the nodeComparator field is no longer a static field.
>>>>>>
>>>>>> This happened since adopt-openjdk started building with this:
>>>>>>
>>>>>>
>>>>>> https://adopt-openjdk.ci.cloudbees.com/job/jtharness/lastSuccessfulBuild/artifact/jtharness-5.0.tar.gz
>>>>>>
>>>>>> BR,
>>>>>>      Stuart
>>>>>>
>>>>>>
>>>>>> On 9 June 2017 at 20:23, Jonathan Gibbons <jonathan.gibbons at oracle.com>
>>>>>> wrote:
>>>>>>>    From a brief examination of the stacktrace, it looks like you have
>>>>>>> now-incompatible versions of jtharness and jtreg.
>>>>>>>
>>>>>>> I will make the jtreg code more robust.
>>>>>>>
>>>>>>> -- Jon
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 6/9/17 8:01 AM, Mani Sarkar wrote:
>>>>>>>> Hi Jon,
>>>>>>>>
>>>>>>>> Any suggestions on how to resolve the below, apologies if I have
>>>>>>>> missed
>>>>>>>> out
>>>>>>>> any communication with regards to the below.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Mani
>>>>>>>>
>>>>>>>> On Fri, 2 Jun 2017 at 17:04 Mani Sarkar <sadhak001 at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi all,
>>>>>>>>>
>>>>>>>>> Recently jtreg stopped building on our build farm, checking the logs
>>>>>>>>> we
>>>>>>>>> got (this version uses jdk9 as one of the jdks during the build
>>>>>>>>> process):
>>>>>>>>>
>>>>>>>>> -compile-jtreg.usage:
>>>>>>>>>         [mkdir] Created dir:
>>>>>>>>> /scratch/jenkins/workspace/jtreg/build/jtreg
>>>>>>>>>          [java] Executing
>>>>>>>>> '/opt/java/sdk/Oracle/x86_64/jdk1.8.0_102/jre/bin/java' with
>>>>>>>>> arguments:
>>>>>>>>>          [java] '-Dprogram=jtreg'
>>>>>>>>>          [java] '-classpath'
>>>>>>>>>          [java]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> '/scratch/jenkins/workspace/jtreg/build/classes:/scratch/jenkins/workspace/jtreg/jtharness/lib/javatest.jar:/scratch/jenkins/workspace/jtreg/junit/junit.jar:/scratch/jenkins/workspace/jtreg/jh2.0/javahelp/lib/jh.jar'
>>>>>>>>>          [java] 'com.sun.javatest.regtest.Main'
>>>>>>>>>          [java] '-help'
>>>>>>>>>          [java] 'all'
>>>>>>>>>          [java]
>>>>>>>>>          [java] The ' characters around the executable and arguments
>>>>>>>>> are
>>>>>>>>>          [java] not part of the command.
>>>>>>>>>          [java] Output redirected to
>>>>>>>>> /scratch/jenkins/workspace/jtreg/build/jtreg/usage.txt
>>>>>>>>>
>>>>>>>>> BUILD FAILED
>>>>>>>>> /scratch/jenkins/workspace/jtreg/make/build.xml:192: Java returned:
>>>>>>>>> 6
>>>>>>>>>            at
>>>>>>>>> org.apache.tools.ant.taskdefs.Java.execute(Java.java:111)
>>>>>>>>>            at
>>>>>>>>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
>>>>>>>>>            at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown
>>>>>>>>> Source)
>>>>>>>>>            at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>>            at java.lang.reflect.Method.invoke(Method.java:498)
>>>>>>>>>            at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
>>>>>>>>>            at org.apache.tools.ant.Task.perform(Task.java:348)
>>>>>>>>>            at org.apache.tools.ant.Target.execute(Target.java:435)
>>>>>>>>>            at
>>>>>>>>> org.apache.tools.ant.Target.performTasks(Target.java:456)
>>>>>>>>>            at
>>>>>>>>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
>>>>>>>>>            at
>>>>>>>>> org.apache.tools.ant.Project.executeTarget(Project.java:1364)
>>>>>>>>>            at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>>>>>>>>>            at
>>>>>>>>> org.apache.tools.ant.Project.executeTargets(Project.java:1248)
>>>>>>>>>            at org.apache.tools.ant.Main.runBuild(Main.java:851)
>>>>>>>>>            at org.apache.tools.ant.Main.startAnt(Main.java:235)
>>>>>>>>>            at
>>>>>>>>> org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
>>>>>>>>>            at
>>>>>>>>> org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Checking the usage.txt created in we see:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Error: Unexpected exception occurred! java.lang.NullPointerException
>>>>>>>>> java.lang.NullPointerException
>>>>>>>>>            at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:57)
>>>>>>>>>            at
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:75)
>>>>>>>>>            at java.lang.reflect.Field.set(Field.java:764)
>>>>>>>>>            at
>>>>>>>>>
>>>>>>>>> com.sun.javatest.regtest.tool.Help.showCommandLineHelp(Help.java:332)
>>>>>>>>>            at com.sun.javatest.regtest.tool.Help.show(Help.java:168)
>>>>>>>>>            at com.sun.javatest.regtest.tool.Tool.run(Tool.java:960)
>>>>>>>>>            at com.sun.javatest.regtest.tool.Tool.run(Tool.java:953)
>>>>>>>>>            at com.sun.javatest.regtest.tool.Tool.main(Tool.java:133)
>>>>>>>>>            at com.sun.javatest.regtest.Main.main(Main.java:58)
>>>>>>>>>
>>>>>>>>> Logs can be found at
>>>>>>>>> https://adopt-openjdk.ci.cloudbees.com/job/jtreg/843/consoleFull
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Any ideas whats leading to it?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>>
>>>>>>>>> Mani
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> @theNeomatrix369 <http://twitter.com/theNeomatrix369>*  |  **Blog
>>>>>>>>> <http://neomatrix369.wordpress.com/>**  |  *LJC Associate & LJC
>>>>>>>>> Advocate
>>>>>>>>> (@adoptopenjdk & @adoptajsr programs)
>>>>>>>>> *Meet-a-Project - *MutabilityDetector
>>>>>>>>> <https://github.com/MutabilityDetector>*  |  **Bitbucket
>>>>>>>>> <https://bitbucket.org/neomatrix369>* * |  **Github
>>>>>>>>> <https://github.com/neomatrix369>* * |  **LinkedIn
>>>>>>>>> <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>*
>>>>>>>>> *Come to Devoxx UK 2017:* http://www.devoxx.co.uk/
>>>>>>>>>
>>>>>>>>> *Don't chase success, rather aim for "Excellence", and success will
>>>>>>>>> come
>>>>>>>>> chasing after you!*
>>>>>>>>>



More information about the jtreg-dev mailing list