You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2018/05/07 15:05:02 UTC
[Bug 56448] Implement a robust solution for client initiated SSL
renegotiation with NIO
https://bz.apache.org/bugzilla/show_bug.cgi?id=56448
--- Comment #3 from Rainer Jung <ra...@kippdata.de> ---
Observed a hanging test for NIO2 during 8.0.52 unit test runs on Solaris 10.
Hangs seem to happen sporadically, observed for .32, .43, .47-.52.
Thread dump for 8.0.52 :
[junit] "main" prio=3 tid=0x0002a800 nid=0x2 runnable [0xfdf7d000]
[junit] java.lang.Thread.State: RUNNABLE
[junit] at java.net.SocketInputStream.socketRead0(Native Method)
[junit] at java.net.SocketInputStream.read(SocketInputStream.java:152)
[junit] at java.net.SocketInputStream.read(SocketInputStream.java:122)
[junit] at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
[junit] at sun.security.ssl.InputRecord.read(InputRecord.java:480)
[junit] at
sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)
[junit] - locked <0xe6d5ab68> (a java.lang.Object)
[junit] at
sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:891)
[junit] at
sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
[junit] - locked <0xe6fa2b00> (a sun.security.ssl.AppInputStream)
[junit] at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
[junit] at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
[junit] at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
[junit] - locked <0xe6fab7b8> (a java.io.InputStreamReader)
[junit] at sun.nio.cs.StreamDecoder.read0(StreamDecoder.java:126)
[junit] - locked <0xe6fab7b8> (a java.io.InputStreamReader)
[junit] at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:112)
[junit] at java.io.InputStreamReader.read(InputStreamReader.java:168)
[junit] at
org.apache.tomcat.util.net.TestSsl.doRequest(TestSsl.java:157)
[junit] at
org.apache.tomcat.util.net.TestSsl.testRenegotiateWorks(TestSsl.java:131)
...
From the access log one request plus one reneg seems to have worked:
127.0.0.1 - - [07/May/2018:16:17:45 +0200] "GET /tester HTTP/1.1" 200 2
http-nio2-127.0.0.1-auto-3-exec-5 9
127.0.0.1 - - [07/May/2018:16:17:45 +0200] "GET /tester HTTP/1.1" 200 2
http-nio2-127.0.0.1-auto-3-exec-8 7
but then it hanged until killing it (waited for more than 30 minutes before
observing and killing).
Log lines before hang do not give additional insight:
[junit] 07-May-2018 16:17:45.528 INFO [main]
org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case
[testRenegotiateWorks]
[junit] 07-May-2018 16:17:45.545 INFO [main]
org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler
["http-nio2-127.0.0.1-auto-3"]
[junit] 07-May-2018 16:17:45.626 INFO [main]
org.apache.catalina.core.StandardService.startInternal Starting service Tomcat
[junit] 07-May-2018 16:17:45.627 INFO [main]
org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine:
Apache Tomcat/8.0.52
[junit] 07-May-2018 16:17:45.679 INFO [main]
org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
["http-nio2-127.0.0.1-auto-3-47468"]
Regards,
Rainer
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org