JDK-8189923 : javax/net/ssl/DTLS/CipherSuite.java failed with "Too much loops to produce handshake packets"
  • Type: Bug
  • Component: security-libs
  • Sub-Component: javax.net.ssl
  • Affected Version: 10
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2017-10-25
  • Updated: 2017-10-30
  • Resolved: 2017-10-30
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
Client: =======handshake(130, NEED_UNWRAP)=======
Exception in  ServerCallable.call():
Client: Receive DTLS records, handshake status is NEED_UNWRAP
java.lang.RuntimeException: Too much loops to produce handshake packets
	at DTLSOverDatagram.handshake(DTLSOverDatagram.java:154)
	at DTLSOverDatagram.doServerSide(DTLSOverDatagram.java:98)
	at DTLSOverDatagram$ServerCallable.call(DTLSOverDatagram.java:647)
	at DTLSOverDatagram$ServerCallable.call(DTLSOverDatagram.java:630)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:844)
Client: Warning: java.net.SocketTimeoutException: Receive timed out
Client: Reproduced 0 packets
Client: New handshake status is NEED_UNWRAP
Client: Handshake finished, status is NEED_UNWRAP
Client: Negotiated protocol is NONE
Client: Negotiated cipher suite is SSL_NULL_WITH_NULL_NULL
Exception in ClientCallable.call():
java.lang.Exception: Unexpected handshake status NEED_UNWRAP
	at DTLSOverDatagram.handshake(DTLSOverDatagram.java:289)
	at DTLSOverDatagram.doClientSide(DTLSOverDatagram.java:117)
	at DTLSOverDatagram$ClientCallable.call(DTLSOverDatagram.java:685)
	at DTLSOverDatagram$ClientCallable.call(DTLSOverDatagram.java:668)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:844)
Exception on client side: 
java.util.concurrent.ExecutionException: java.lang.Exception: Unexpected handshake status NEED_UNWRAP
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
	at DTLSOverDatagram.runTest(DTLSOverDatagram.java:606)
	at CipherSuite.main(CipherSuite.java:65)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
	at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.Exception: Unexpected handshake status NEED_UNWRAP
	at DTLSOverDatagram.handshake(DTLSOverDatagram.java:289)
	at DTLSOverDatagram.doClientSide(DTLSOverDatagram.java:117)
	at DTLSOverDatagram$ClientCallable.call(DTLSOverDatagram.java:685)
	at DTLSOverDatagram$ClientCallable.call(DTLSOverDatagram.java:668)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	... 1 more
Exception on server side: 
java.util.concurrent.ExecutionException: java.lang.RuntimeException: Too much loops to produce handshake packets
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
	at DTLSOverDatagram.runTest(DTLSOverDatagram.java:616)
	at CipherSuite.main(CipherSuite.java:65)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
	at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.RuntimeException: Too much loops to produce handshake packets
	at DTLSOverDatagram.handshake(DTLSOverDatagram.java:154)
	at DTLSOverDatagram.doServerSide(DTLSOverDatagram.java:98)
	at DTLSOverDatagram$ServerCallable.call(DTLSOverDatagram.java:647)
	at DTLSOverDatagram$ServerCallable.call(DTLSOverDatagram.java:630)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	... 1 more
Comments
Closed as a dup of JDK-8169086.
30-10-2017

According to the below comment from JDK-8171406, this would be a test issue. "Looks like the server is not able to receive the client packet and timeout. And the client keep reproducing the packets on time out."
25-10-2017