JDK-8031425 : Two langtools/javac tests fail by timeout on Windows
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 8
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_7
  • CPU: generic
  • Submitted: 2014-01-09
  • Updated: 2014-07-29
  • Resolved: 2014-04-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9
8u20 b11Fixed 9Fixed
Description
Testsuite name: Regression
Test names:
  tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java
  tools/javac/lambda/FunctionalInterfaceConversionTest.java
JDK tested: JDK 8 b121, JDK 8 b101, JDK 8 b109
OS tested: Windows 7 64-bit, 32-bit
Is it a regression? NO

Tests fails against JDK 8 b121, b119, b109, b101 (tested).

LOGS:

tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java

#section:main
----------messages:(3/154)----------
command: main InterfaceMethodHidingTest
reason: Assumed action based on file name: run main InterfaceMethodHidingTest 
elapsed time (seconds): 360.407
----------System.out:(0/0)----------
----------System.err:(0/0)----------
----------rerun:(23/2166)*----------
JTREG_COF=false \\
JTREG_HOME=C:/local/aurora/CommonData/jtreg_dir \\
'PATH=C:\\Cygwin\\bin;C:\\Cygwin\\bin;C:\\Cygwin\\usr\\local\\bin;C:\\Cygwin\\sbin;C:\\Cygwin\\usr\\sbin;C:\\Cygwin\\bin;C:\\Cygwin\\bin;C:\\Cygwin\\usr\\local\\bin;C:\\Cygwin\\sbin;C:\\Cygwin\\usr\\sbin;C:\\Cygwin\\bin;C:\\Cygwin\\bin;C:\\Cygwin\\usr\\local\\bin;C:\\Cygwin\\sbin;C:\\Cygwin\\usr\\sbin;C:\\Cygwin\\usr\\local\\bin;C:\\Cygwin\\bin;C:\\MKS\\bin;C:\\MKS\\bin\\X11;C:\\MKS\\mksnt;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0' \\
SystemDrive=C: \\
'SystemRoot=C:\\Windows' \\
'TEMP=C:\\Cygwin\\tmp' \\
'TMP=C:\\Users\\gtee\\AppData\\Local\\Temp' \\
'windir=C:\\Windows' \\
'CLASSPATH=C:\\local\\aurora\\CommonData\\jtreg_dir\\lib\\javatest.jar;C:\\local\\aurora\\CommonData\\jtreg_dir\\lib\\jtreg.jar;C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\defaultMethods\\static\\hiding;C:\\local\\aurora\\CommonData\\langtools\\test\\tools\\javac\\defaultMethods\\static\\hiding;C:\\local\\aurora\\CommonData\\jdk\\lib\\tools.jar' \\
    'C:\\local\\aurora\\CommonData\\jdk\\bin\\java' \\
        -Dtest.vm.opts= \\
        -Dcompile.jdk='C:\\local\\aurora\\CommonData\\jdk' \\
        -Dtest.src.path='C:\\local\\aurora\\CommonData\\langtools\\test\\tools\\javac\\defaultMethods\\static\\hiding' \\
        -Dtest.src='C:\\local\\aurora\\CommonData\\langtools\\test\\tools\\javac\\defaultMethods\\static\\hiding' \\
        -Dtest.tool.vm.opts= \\
        -Dtest.class.path='C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\defaultMethods\\static\\hiding' \\
        -Dtest.timeout.factor=3.0 \\
        -Dtest.classes='C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\defaultMethods\\static\\hiding' \\
        -Dtest.jdk='C:\\local\\aurora\\CommonData\\jdk' \\
        -Dtest.java.opts=-Xmixed \\
        -Dtest.compiler.opts= \\
        -Xmixed \\
        com.sun.javatest.regtest.MainWrapper 'C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\defaultMethods\\static\\hiding\\InterfaceMethodHidingTest.jta'
result: Error. Program `C:\local\aurora\CommonData\jdk\bin\java' interrupted! (timed out?)


test result: Error. test was interrupted! (timeout?)


tools/javac/lambda/FunctionalInterfaceConversionTest.java

#section:main
----------messages:(3/166)----------
command: main FunctionalInterfaceConversionTest
reason: User specified action: run main/othervm FunctionalInterfaceConversionTest 
elapsed time (seconds): 366.818
----------System.out:(0/0)----------
----------System.err:(0/0)----------
----------rerun:(23/2224)*----------
JTREG_COF=false \\
JTREG_HOME=C:/local/aurora/CommonData/jtreg_dir \\
'PATH=C:\\Cygwin\\bin;C:\\Cygwin\\bin;C:\\Cygwin\\usr\\local\\bin;C:\\Cygwin\\sbin;C:\\Cygwin\\usr\\sbin;C:\\Cygwin\\bin;C:\\Cygwin\\bin;C:\\Cygwin\\usr\\local\\bin;C:\\Cygwin\\sbin;C:\\Cygwin\\usr\\sbin;C:\\Cygwin\\bin;C:\\Cygwin\\bin;C:\\Cygwin\\usr\\local\\bin;C:\\Cygwin\\sbin;C:\\Cygwin\\usr\\sbin;C:\\Cygwin\\usr\\local\\bin;C:\\Cygwin\\bin;C:\\MKS\\bin;C:\\MKS\\bin\\X11;C:\\MKS\\mksnt;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0' \\
SystemDrive=C: \\
'SystemRoot=C:\\Windows' \\
'TEMP=C:\\Cygwin\\tmp' \\
'TMP=C:\\Users\\gtee\\AppData\\Local\\Temp' \\
'windir=C:\\Windows' \\
'CLASSPATH=C:\\local\\aurora\\CommonData\\jtreg_dir\\lib\\javatest.jar;C:\\local\\aurora\\CommonData\\jtreg_dir\\lib\\jtreg.jar;C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\lambda;C:\\local\\aurora\\CommonData\\langtools\\test\\tools\\javac\\lambda;C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\lib;C:\\local\\aurora\\CommonData\\jdk\\lib\\tools.jar' \\
    'C:\\local\\aurora\\CommonData\\jdk\\bin\\java' \\
        -Dtest.vm.opts= \\
        -Dcompile.jdk='C:\\local\\aurora\\CommonData\\jdk' \\
        -Dtest.src.path='C:\\local\\aurora\\CommonData\\langtools\\test\\tools\\javac\\lambda;C:\\local\\aurora\\CommonData\\langtools\\test\\tools\\javac\\lib' \\
        -Dtest.src='C:\\local\\aurora\\CommonData\\langtools\\test\\tools\\javac\\lambda' \\
        -Dtest.tool.vm.opts= \\
        -Dtest.class.path='C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\lambda;C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\lib' \\
        -Dtest.timeout.factor=3.0 \\
        -Dtest.classes='C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\lambda' \\
        -Dtest.jdk='C:\\local\\aurora\\CommonData\\jdk' \\
        -Dtest.java.opts=-Xmixed \\
        -Dtest.compiler.opts= \\
        -Xmixed \\
        com.sun.javatest.regtest.MainWrapper 'C:\\local\\aurora\\sandbox\\results\\workDir\\classes\\2\\tools\\javac\\lambda\\FunctionalInterfaceConversionTest.jta'
result: Error. Program `C:\local\aurora\CommonData\jdk\bin\java' interrupted! (timed out?)


test result: Error. Program `C:\local\aurora\CommonData\jdk\bin\java' interrupted! (timed out?)
Comments
This happens on the automatic testing factories of the QA - i doubt that increasing timeouts on all the tests with -timeoutfactor is a good idea.
18-03-2014

If the test generally passed on typical dev machines, and only fails on slower hardware, the correct solution is to use the -timeoutfactor option on the jtreg command line.
18-03-2014

Seems like setting timeout to 600 seconds for both the tests eliminated the problem even on the slowest test machine i have (first test takes 400-450 seconds to complete there, second takes 450-520 seconds. I'll send fix for review shortly.
13-03-2014

I vote for increasing the timeout as a first approach.
12-03-2014

I'm able to reproduce the tests failures on the slow 32-bit machine with the jdk built from the latest jdk8u-dev sources. In the second test the system timeouts waiting for the thread pool to shutdown in the pool.awaitTermination(15, TimeUnit.MINUTES) in JavacTestingAbstractThreadedTest.checkAfterExec(boolean). In the first test the system just does not have time to complete the whole set of loops and dies from the timeout. we either need to increase the timeout on these tests or lower the tests complexity (or simply do not test on Windows machines that tends to prone to the threads spamming stress).
12-03-2014

Alex, can you look into this bug for Vicente ? Thanks.
10-03-2014

[~kshefov], is this still failing or can we close the bug?
24-02-2014

Release team: Approved for deferral.
21-01-2014

Since this test passes for most developers running local test runs, this does not look like a bug in javac or the test itself. What sort of machine is this running on, and what -timeoutfactor are you using to run jtreg?
09-01-2014