JDK-8158127 : java/net/httpclient/http2/ErrorTest.java fails intermittently
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.net
  • Affected Version: 9
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2016-05-30
  • Updated: 2016-12-15
  • Resolved: 2016-12-12
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.
Other
tbd_minorResolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
This has been observed on different platforms for times. 

java/net/httpclient/http2/ErrorTest.java is a new test introduced by fix  of JDK-8157105. But it looks probably the hang issue was not fully resolved.

The test still failed with timeout when handshake error happens

----------System.out:(36/2519)----------
[TestNG] Running:
  java/net/httpclient/http2/ErrorTest.java

test ErrorTest.test(): failure
org.testng.internal.thread.ThreadTimeoutException: Method org.testng.internal.TestNGMethod.test() didn't finish within the time-out 5000
	at jdk.internal.misc.Unsafe.park(java.base@9-ea/Native Method)
	at java.util.concurrent.locks.LockSupport.park(java.base@9-ea/LockSupport.java:190)
	at java.util.concurrent.CompletableFuture$Signaller.block(java.base@9-ea/CompletableFuture.java:1747)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@9-ea/ForkJoinPool.java:3443)
	at java.util.concurrent.CompletableFuture.waitingGet(java.base@9-ea/CompletableFuture.java:1776)
	at java.util.concurrent.CompletableFuture.join(java.base@9-ea/CompletableFuture.java:1986)
	at java.net.http.Stream.getResponse(java.httpclient@9-ea/Stream.java:420)
	at java.net.http.Exchange.responseImpl0(java.httpclient@9-ea/Exchange.java:147)
	at java.net.http.Exchange.responseImpl(java.httpclient@9-ea/Exchange.java:127)
	at java.net.http.Exchange.response(java.httpclient@9-ea/Exchange.java:84)
	at java.net.http.MultiExchange.response(java.httpclient@9-ea/MultiExchange.java:98)
	at java.net.http.HttpRequestImpl.response(java.httpclient@9-ea/HttpRequestImpl.java:212)
	at ErrorTest.test(ErrorTest.java:114)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-ea/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-ea/NativeMethodAccessorImpl.java:62)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
	at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:46)
	at org.testng.internal.InvokeMethodRunnable.run(InvokeMethodRunnable.java:37)
	at java.util.concurrent.Executors$RunnableAdapter.call(java.base@9-ea/Executors.java:514)
	at java.util.concurrent.FutureTask.run(java.base@9-ea/FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@9-ea/ThreadPoolExecutor.java:1158)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@9-ea/ThreadPoolExecutor.java:632)
	at java.lang.Thread.run(java.base@9-ea/Thread.java:843)

===============================================
java/net/httpclient/http2/ErrorTest.java
Total tests run: 1, Failures: 1, Skips: 0
===============================================

----------System.err:(82/6253)----------
Request to https://127.0.0.1:50021/bar/
May 28, 2016 6:31:10 PM java.net.http.AsyncSSLDelegate logParams
INFO: SSL: SSLParameters:
May 28, 2016 6:31:10 PM java.net.http.AsyncSSLDelegate logParams
INFO: SSL: cipher: TLS_KRB5_WITH_3DES_EDE_CBC_SHA

May 28, 2016 6:31:10 PM java.net.http.AsyncSSLDelegate logParams
INFO: SSL: application protocol: h2

New connection from 18c922ea[SSL_NULL_WITH_NULL_NULL: Socket[addr=/127.0.0.1,port=50022,localport=50021]]
TestServer: start exception: javax.net.ssl.SSLHandshakeException: no cipher suites in common
javax.net.ssl.SSLHandshakeException: no cipher suites in common
	at sun.security.ssl.Alerts.getSSLException(java.base@9-ea/Alerts.java:198)
	at sun.security.ssl.SSLSocketImpl.fatal(java.base@9-ea/SSLSocketImpl.java:1960)
	at sun.security.ssl.Handshaker.fatalSE(java.base@9-ea/Handshaker.java:309)
	at sun.security.ssl.Handshaker.fatalSE(java.base@9-ea/Handshaker.java:299)
	at sun.security.ssl.ServerHandshaker.chooseCipherSuite(java.base@9-ea/ServerHandshaker.java:1183)
	at sun.security.ssl.ServerHandshaker.clientHello(java.base@9-ea/ServerHandshaker.java:799)
	at sun.security.ssl.ServerHandshaker.processMessage(java.base@9-ea/ServerHandshaker.java:236)
	at sun.security.ssl.Handshaker.processLoop(java.base@9-ea/Handshaker.java:1003)
	at sun.security.ssl.Handshaker.processRecord(java.base@9-ea/Handshaker.java:937)
	at sun.security.ssl.SSLSocketImpl.processInputRecord(java.base@9-ea/SSLSocketImpl.java:1130)
	at sun.security.ssl.SSLSocketImpl.readRecord(java.base@9-ea/SSLSocketImpl.java:1067)
	at sun.security.ssl.SSLSocketImpl.readRecord(java.base@9-ea/SSLSocketImpl.java:966)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(java.base@9-ea/SSLSocketImpl.java:1393)
	at sun.security.ssl.SSLSocketImpl.bytesInCompletePacket(java.base@9-ea/SSLSocketImpl.java:900)
	at sun.security.ssl.AppInputStream.read(java.base@9-ea/AppInputStream.java:144)
	at java.io.BufferedInputStream.fill(java.base@9-ea/BufferedInputStream.java:246)
	at java.io.BufferedInputStream.read1(java.base@9-ea/BufferedInputStream.java:286)
	at java.io.BufferedInputStream.read(java.base@9-ea/BufferedInputStream.java:345)
	at java.io.InputStream.readNBytes(java.base@9-ea/InputStream.java:309)
	at java.net.http.Http2TestServerConnection.readPreface(java.httpclient@9-ea/Http2TestServerConnection.java:104)
	at java.net.http.Http2TestServerConnection.run(java.httpclient@9-ea/Http2TestServerConnection.java:158)
	at java.net.http.Http2TestServer.lambda$start$1(java.httpclient@9-ea/Http2TestServer.java:148)
	at java.util.concurrent.Executors$RunnableAdapter.call(java.base@9-ea/Executors.java:514)
	at java.util.concurrent.FutureTask.run(java.base@9-ea/FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@9-ea/ThreadPoolExecutor.java:1158)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@9-ea/ThreadPoolExecutor.java:632)
	at java.lang.Thread.run(java.base@9-ea/Thread.java:843)
May 28, 2016 6:31:10 PM java.net.http.PlainHttpConnection close
INFO: ERROR: Closing: PlainHttpConnection: HttpConnection: java.nio.channels.SocketChannel[connected local=/127.0.0.1:50022 remote=/127.0.0.1:50021]
May 28, 2016 6:31:11 PM java.net.http.Http2Connection shutdown
INFO: ERROR: java.io.IOException: Connection aborted
	at java.net.http.PlainHttpConnection.shutdown(java.httpclient@9-ea/PlainHttpConnection.java:231)
	at java.net.http.PlainHttpConnection.asyncRead(java.httpclient@9-ea/PlainHttpConnection.java:252)
	at java.net.http.PlainHttpConnection$ReadEvent.handle(java.httpclient@9-ea/PlainHttpConnection.java:332)
	at java.net.http.HttpClientImpl$SelectorManager.handleEvent(java.httpclient@9-ea/HttpClientImpl.java:331)
	at java.net.http.HttpClientImpl$SelectorManager.run(java.httpclient@9-ea/HttpClientImpl.java:301)

May 28, 2016 6:31:11 PM java.net.http.Http2Connection shutdown
INFO: ERROR: javax.net.ssl.SSLException: Received fatal alert: handshake_failure
	at sun.security.ssl.Alerts.getSSLException(java.base@9-ea/Alerts.java:214)
	at sun.security.ssl.SSLEngineImpl.fatal(java.base@9-ea/SSLEngineImpl.java:1711)
	at sun.security.ssl.SSLEngineImpl.fatal(java.base@9-ea/SSLEngineImpl.java:1679)
	at sun.security.ssl.SSLEngineImpl.recvAlert(java.base@9-ea/SSLEngineImpl.java:1852)
	at sun.security.ssl.SSLEngineImpl.processInputRecord(java.base@9-ea/SSLEngineImpl.java:1118)
	at sun.security.ssl.SSLEngineImpl.readRecord(java.base@9-ea/SSLEngineImpl.java:998)
	at sun.security.ssl.SSLEngineImpl.readNetRecord(java.base@9-ea/SSLEngineImpl.java:895)
	at sun.security.ssl.SSLEngineImpl.unwrap(java.base@9-ea/SSLEngineImpl.java:673)
	at javax.net.ssl.SSLEngine.unwrap(java.base@9-ea/SSLEngine.java:624)
	at java.net.http.AsyncSSLDelegate.unwrapBuffer(java.httpclient@9-ea/AsyncSSLDelegate.java:422)
	at java.net.http.AsyncSSLDelegate.handshakeReceiveAndUnWrap(java.httpclient@9-ea/AsyncSSLDelegate.java:368)
	at java.net.http.AsyncSSLDelegate.doHandshakeImpl(java.httpclient@9-ea/AsyncSSLDelegate.java:272)
	at java.net.http.AsyncSSLDelegate.lambda$doHandshake$0(java.httpclient@9-ea/AsyncSSLDelegate.java:230)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@9-ea/ThreadPoolExecutor.java:1158)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@9-ea/ThreadPoolExecutor.java:632)
	at java.lang.Thread.run(java.base@9-ea/Thread.java:843)

java.lang.Exception: failures: 1
	at com.sun.javatest.regtest.TestNGAction$TestNGRunner.main(TestNGAction.java:223)
	at com.sun.javatest.regtest.TestNGAction$TestNGRunner.main(TestNGAction.java:184)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-ea/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-ea/NativeMethodAccessorImpl.java:62)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:110)
	at java.lang.Thread.run(java.base@9-ea/Thread.java:843)