Hi Alan, we believe it's a jtreg bug. we have seen similar intermittent failures in hotspot testing[1], Ioi(cc'ed) did a really great job analyzing the root cause[2], in to words jtreg puts a part of testlibrary to one path and another part to a different path. [3] is his suggested fix for jtreg.
-- Igor [1] https://bugs.openjdk.java.net/browse/CODETOOLS-7901986 [2] https://bugs.openjdk.java.net/secure/attachment/70197/jtreg_random_class_not_found.txt [3] http://cr.openjdk.java.net/~iklam/jtreg/7901986_split_library/ > On May 31, 2017, at 1:38 AM, Alan Bateman <[email protected]> wrote: > > On 31/05/2017 09:05, Felix Yang wrote: > >> Hi Alan >> >> even with explicit compilation, I also observed failures. I'm curious >> what is the best practice here. IMO, there could be a potential jtreg bug. > One of the tests listed in JDK-8181299 is > java/net/URLConnection/6212146/TestDriver.java. In jdk10/jdk10 the test > description has: > > @build jdk.test.lib.JDKToolFinder jdk.test.lib.process.ProcessTools Test > > but the test fails intermittently with: > > java.lang.NoClassDefFoundError: jdk/test/lib/process/StreamPumper > at jdk.test.lib.process.ProcessTools.getOutput(ProcessTools.java:85) > at jdk.test.lib.process.OutputAnalyzer.<init>(OutputAnalyzer.java:47) > at jdk.test.lib.process.ProcessTools.executeProcess(ProcessTools.java:397) > at jdk.test.lib.process.ProcessTools.executeProcess(ProcessTools.java:425) > at jdk.test.lib.process.ProcessTools.executeCommand(ProcessTools.java:475) > at TestDriver.main(TestDriver.java:61) > > I assume changing the @build to jdk.test.lib.process.* will fix this, > assuming all the classes needed for ProcessTools are in this package. > > As to why it's intermittent then I think it's a side effect of test library > classes being compiled by one test and then re-used by a test that runs > sometime later in the same VM. Combine that with implicit compilation, varied > @build usages, and concurrently should explain why it's intermittent. I see > you've cc'ed Jon Gibbons and he is the best person to comment on this. Now > seems a good time to get to the bottom of these issues, esp. with Igor > changing lots of tests to drop the explicit compilation of test library > classes. > > -Alan
