JDK-8135105 : sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java timed out intermittently
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.net
  • Affected Version: 9
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2015-09-06
  • Updated: 2019-09-13
  • Resolved: 2019-09-13
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
tbdResolved
Related Reports
Duplicate :  
Relates :  
Description
sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java reported failing intermittently in JDK-8134291. Also observed this test timed out intermittently:

#section:main
----------messages:(244/11662)----------
command: main ServerIdentityTest SunJSSE does not support dynamic system properties, no way to re-use system properties in samevm/agentvm mode.
reason: User specified action: run main/othervm ServerIdentityTest SunJSSE does not support dynamic system properties, no way to re-use system properties in samevm/agentvm mode. 
Timeout information:
Running jstack on process 5063
2015-08-31 13:49:06
Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.9.0-ea-b79 mixed mode):

"Attach Listener" #26 daemon prio=9 os_prio=0 tid=0x00007f0918001000 nid=0x156 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"MainThread" #24 prio=5 os_prio=0 tid=0x00007f0a2c39d000 nid=0x1421 runnable [0x00007f09d06f5000]
   java.lang.Thread.State: RUNNABLE
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
	at java.net.SocketInputStream.read(SocketInputStream.java:170)
	at java.net.SocketInputStream.read(SocketInputStream.java:141)
	at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:425)
	at sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:154)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:995)
	- locked <0x00000000ff5bc180> (a java.lang.Object)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:949)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1356)
	- locked <0x00000000ff5bc140> (a java.lang.Object)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1383)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1367)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1508)
	- locked <0x00000000ff5b3a60> (a sun.net.www.protocol.https.DelegateHttpsURLConnection)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
	- locked <0x00000000ff5b3a60> (a sun.net.www.protocol.https.DelegateHttpsURLConnection)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:235)
	- locked <0x00000000ff7bb698> (a sun.net.www.protocol.https.HttpsURLConnectionImpl)
	at ServerIdentityTest.doClientSide(ServerIdentityTest.java:129)
	at ServerIdentityTest.startClient(ServerIdentityTest.java:272)
	at ServerIdentityTest.<init>(ServerIdentityTest.java:202)
	at ServerIdentityTest.main(ServerIdentityTest.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:504)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:92)
	at java.lang.Thread.run(Thread.java:746)

"Service Thread" #22 daemon prio=9 os_prio=0 tid=0x00007f0a2c330800 nid=0x141e runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Sweeper thread" #21 daemon prio=9 os_prio=0 tid=0x00007f0a2c32e800 nid=0x141d runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread14" #20 daemon prio=9 os_prio=0 tid=0x00007f0a2c32c800 nid=0x141c waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread13" #19 daemon prio=9 os_prio=0 tid=0x00007f0a2c32a800 nid=0x141b waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread12" #18 daemon prio=9 os_prio=0 tid=0x00007f0a2c328800 nid=0x141a waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread11" #17 daemon prio=9 os_prio=0 tid=0x00007f0a2c326800 nid=0x1419 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread10" #16 daemon prio=9 os_prio=0 tid=0x00007f0a2c324800 nid=0x1418 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread9" #15 daemon prio=9 os_prio=0 tid=0x00007f0a2c322000 nid=0x1417 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread8" #14 daemon prio=9 os_prio=0 tid=0x00007f0a2c31f800 nid=0x1416 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread7" #13 daemon prio=9 os_prio=0 tid=0x00007f0a2c31d800 nid=0x1415 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread6" #12 daemon prio=9 os_prio=0 tid=0x00007f0a2c31b800 nid=0x1414 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread5" #11 daemon prio=9 os_prio=0 tid=0x00007f0a2c319800 nid=0x1413 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread4" #10 daemon prio=9 os_prio=0 tid=0x00007f0a2c317000 nid=0x1412 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread3" #9 daemon prio=9 os_prio=0 tid=0x00007f0a2c30d000 nid=0x1411 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread2" #8 daemon prio=9 os_prio=0 tid=0x00007f0a2c30b000 nid=0x1410 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #7 daemon prio=9 os_prio=0 tid=0x00007f0a2c308800 nid=0x140f waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #6 daemon prio=9 os_prio=0 tid=0x00007f0a2c306800 nid=0x140e waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #5 daemon prio=9 os_prio=0 tid=0x00007f0a2c305000 nid=0x140d runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)" #4 daemon prio=9 os_prio=0 tid=0x00007f0a2c301000 nid=0x140c waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f0a2c2da800 nid=0x1409 in Object.wait() [0x00007f09d3195000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000000fff0b4f0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:150)
	- locked <0x00000000fff0b4f0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:171)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:217)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f0a2c2d8800 nid=0x1408 in Object.wait() [0x00007f09d3296000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000000fff06a78> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:516)
	at java.lang.ref.Reference.tryHandlePending(Reference.java:193)
	- locked <0x00000000fff06a78> (a java.lang.ref.Reference$Lock)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:155)

"main" #1 prio=5 os_prio=0 tid=0x00007f0a2c00d800 nid=0x13cb in Object.wait() [0x00007f0a30cc5000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000000ffe28848> (a java.lang.Thread)
	at java.lang.Thread.join(Thread.java:1251)
	- locked <0x00000000ffe28848> (a java.lang.Thread)
	at java.lang.Thread.join(Thread.java:1325)
	at com.sun.javatest.regtest.agent.MainWrapper.main(MainWrapper.java:69)

"VM Thread" os_prio=0 tid=0x00007f0a2c2c6000 nid=0x1403 runnable 

"GC Thread#0" os_prio=0 tid=0x00007f0a2c028000 nid=0x13cc runnable 

"GC Thread#1" os_prio=0 tid=0x00007f0a2c02a000 nid=0x13cd runnable 

"GC Thread#2" os_prio=0 tid=0x00007f0a2c02b800 nid=0x13ce runnable 

"GC Thread#3" os_prio=0 tid=0x00007f0a2c02d800 nid=0x13cf runnable 

"GC Thread#4" os_prio=0 tid=0x00007f0a2c02f000 nid=0x13d0 runnable 

"GC Thread#5" os_prio=0 tid=0x00007f0a2c031000 nid=0x13d1 runnable 

"GC Thread#6" os_prio=0 tid=0x00007f0a2c032800 nid=0x13d2 runnable 

"GC Thread#7" os_prio=0 tid=0x00007f0a2c034800 nid=0x13d3 runnable 

"GC Thread#8" os_prio=0 tid=0x00007f0a2c036000 nid=0x13d4 runnable 

"GC Thread#9" os_prio=0 tid=0x00007f0a2c038000 nid=0x13d5 runnable 

"GC Thread#10" os_prio=0 tid=0x00007f0a2c039800 nid=0x13d6 runnable 

"GC Thread#11" os_prio=0 tid=0x00007f0a2c03b800 nid=0x13d7 runnable 

"GC Thread#12" os_prio=0 tid=0x00007f0a2c03d000 nid=0x13d8 runnable 

"GC Thread#13" os_prio=0 tid=0x00007f0a2c03f000 nid=0x13d9 runnable 

"GC Thread#14" os_prio=0 tid=0x00007f0a2c040800 nid=0x13da runnable 

"GC Thread#15" os_prio=0 tid=0x00007f0a2c042800 nid=0x13db runnable 

"GC Thread#16" os_prio=0 tid=0x00007f0a2c044000 nid=0x13dc runnable 

"GC Thread#17" os_prio=0 tid=0x00007f0a2c046000 nid=0x13dd runnable 

"GC Thread#18" os_prio=0 tid=0x00007f0a2c047800 nid=0x13de runnable 

"GC Thread#19" os_prio=0 tid=0x00007f0a2c049800 nid=0x13df runnable 

"GC Thread#20" os_prio=0 tid=0x00007f0a2c04b000 nid=0x13e0 runnable 

"GC Thread#21" os_prio=0 tid=0x00007f0a2c04d000 nid=0x13e1 runnable 

"GC Thread#22" os_prio=0 tid=0x00007f0a2c04e800 nid=0x13e2 runnable 

"G1 Main Marker" os_prio=0 tid=0x00007f0a2c086000 nid=0x13fb runnable 

"G1 Marker#0" os_prio=0 tid=0x00007f0a2c088000 nid=0x13fc runnable 

"G1 Marker#1" os_prio=0 tid=0x00007f0a2c08a000 nid=0x13fd runnable 

"G1 Marker#2" os_prio=0 tid=0x00007f0a2c08b800 nid=0x13fe runnable 

"G1 Marker#3" os_prio=0 tid=0x00007f0a2c08d800 nid=0x13ff runnable 

"G1 Marker#4" os_prio=0 tid=0x00007f0a2c08f000 nid=0x1400 runnable 

"G1 Marker#5" os_prio=0 tid=0x00007f0a2c090800 nid=0x1401 runnable 

"G1 Refine#0" os_prio=0 tid=0x00007f0a2c07b000 nid=0x13fa runnable 

"G1 Refine#1" os_prio=0 tid=0x00007f0a2c079000 nid=0x13f9 runnable 

"G1 Refine#2" os_prio=0 tid=0x00007f0a2c077800 nid=0x13f8 runnable 

"G1 Refine#3" os_prio=0 tid=0x00007f0a2c075800 nid=0x13f7 runnable 

"G1 Refine#4" os_prio=0 tid=0x00007f0a2c074000 nid=0x13f6 runnable 

"G1 Refine#5" os_prio=0 tid=0x00007f0a2c072000 nid=0x13f5 runnable 

"G1 Refine#6" os_prio=0 tid=0x00007f0a2c070000 nid=0x13f4 runnable 

"G1 Refine#7" os_prio=0 tid=0x00007f0a2c06e800 nid=0x13f3 runnable 

"G1 Refine#8" os_prio=0 tid=0x00007f0a2c06c800 nid=0x13f2 runnable 

"G1 Refine#9" os_prio=0 tid=0x00007f0a2c06b000 nid=0x13f1 runnable 

"G1 Refine#10" os_prio=0 tid=0x00007f0a2c069000 nid=0x13f0 runnable 

"G1 Refine#11" os_prio=0 tid=0x00007f0a2c067000 nid=0x13ef runnable 

"G1 Refine#12" os_prio=0 tid=0x00007f0a2c065800 nid=0x13ee runnable 

"G1 Refine#13" os_prio=0 tid=0x00007f0a2c063800 nid=0x13ed runnable 

"G1 Refine#14" os_prio=0 tid=0x00007f0a2c062000 nid=0x13ec runnable 

"G1 Refine#15" os_prio=0 tid=0x00007f0a2c060000 nid=0x13eb runnable 

"G1 Refine#16" os_prio=0 tid=0x00007f0a2c05e000 nid=0x13ea runnable 

"G1 Refine#17" os_prio=0 tid=0x00007f0a2c05c800 nid=0x13e9 runnable 

"G1 Refine#18" os_prio=0 tid=0x00007f0a2c05a800 nid=0x13e8 runnable 

"G1 Refine#19" os_prio=0 tid=0x00007f0a2c059000 nid=0x13e7 runnable 

"G1 Refine#20" os_prio=0 tid=0x00007f0a2c057000 nid=0x13e6 runnable 

"G1 Refine#21" os_prio=0 tid=0x00007f0a2c055000 nid=0x13e5 runnable 

"G1 Refine#22" os_prio=0 tid=0x00007f0a2c053800 nid=0x13e4 runnable 

"G1 Refine#23" os_prio=0 tid=0x00007f0a2c051800 nid=0x13e3 runnable 

"VM Periodic Task Thread" os_prio=0 tid=0x00007f0a2c333800 nid=0x141f waiting on condition 

JNI global references: 321

--- Timeout information end.
elapsed time (seconds): 960.652
----------System.out:(2/144)----------
Testing /scratch/aurora/sandbox_keepme/testbase/jdk/test/sun/net/www/protocol/https/HttpsClient/.//dnsstore
Timeout signalled after 960 seconds
----------System.err:(17/1121)----------
javax.net.ssl.SSLException: Unsupported or unrecognized SSL message
	at sun.security.ssl.SSLSocketInputRecord.handleUnknownRecord(SSLSocketInputRecord.java:416)
	at sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:173)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:995)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:949)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1356)
	at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:719)
	at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:67)
	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:294)
	at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:298)
	at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
	at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
	at java.io.BufferedWriter.flush(BufferedWriter.java:245)
	at ServerIdentityTest.doServerSide(ServerIdentityTest.java:106)
	at ServerIdentityTest$1.run(ServerIdentityTest.java:235)
Server died...


Comments
This has been fixed as part of JDK-8230858
13-09-2019

Proposed fix: diff --git a/test/jdk/sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java b/test/jdk/sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java --- a/test/jdk/sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java +++ b/test/jdk/sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -42,7 +42,10 @@ import java.io.BufferedWriter; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; +import java.net.InetAddress; +import java.net.Proxy; import java.net.URL; +import java.net.UnknownHostException; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; @@ -64,6 +67,10 @@ (new ServerIdentityTest()).run(); } + ServerIdentityTest() throws UnknownHostException { + serverAddress = InetAddress.getByName(hostname); + } + @Override protected boolean isCustomizedClientConnection() { return true; @@ -88,7 +95,7 @@ HttpURLConnection urlc = null; InputStream is = null; try { - urlc = (HttpURLConnection)url.openConnection(); + urlc = (HttpURLConnection)url.openConnection(Proxy.NO_PROXY); is = urlc.getInputStream(); } finally { if (is != null) {
06-09-2019

The server side is binding to the wildcard address, we has been a source of instability in many networking bugs. Changing the test to bind to a specific address instead might help in reducing the occurrences of failure.
06-09-2019