2014-03-11 17:30 GMT+04:00 Konstantin Kolinko <[email protected]>:
> 2014-03-11 17:09 GMT+04:00 Rémy Maucherat <[email protected]>:
>> 2014-03-11 13:14 GMT+01:00 Konstantin Kolinko <[email protected]>:
>>
>>> The only test that fails is org.apache.tomcat.util.net.TestSsl.
>>> Its failure repeats consistently (all 6 of 6 runs), with NIO2.
>>> BIO,NIO,APR connectors do not fail.
>>>
>>> [[[
>>> Testsuite: org.apache.tomcat.util.net.TestSsl
>>> Tests run: 4, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 6,697 sec
>>> -------------
>>> (...)
>>> -------------
>>> Testcase: testSimpleSsl took 2,721 sec
>>> Testcase: testKeyPass took 0,499 sec
>>> Testcase: testRenegotiateWorks took 3,418 sec
>>> Caused an ERROR
>>> Connection reset
>>> java.net.SocketException: Connection reset
>>> at java.net.SocketInputStream.read(SocketInputStream.java:196)
>>> at java.net.SocketInputStream.read(SocketInputStream.java:122)
>>> at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
>>> at sun.security.ssl.InputRecord.read(InputRecord.java:480)
>>> at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)
>>> at
>>> sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884)
>>> at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
>>> at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
>>> at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
>>> at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
>>> at java.io.InputStreamReader.read(InputStreamReader.java:184)
>>> at java.io.BufferedReader.fill(BufferedReader.java:154)
>>> at java.io.BufferedReader.readLine(BufferedReader.java:317)
>>> at java.io.BufferedReader.readLine(BufferedReader.java:382)
>>> at
>>> org.apache.tomcat.util.net.TestSsl.testRenegotiateWorks(TestSsl.java:206)
>>>
>>> That test never failed for me actually. It is a bit suspect that I've had
>> almost no SSL problems overall with the new code, although reusing the NIO
>> secure channel structure probably helped.
>> Can you post the server exception (if any) ?
>>
>
> Which one? Do you mean some code change for that?
>
> In the logs there are no exceptions. The only one is in JUnit output,
> cited above.
>
Looking at
org.apache.tomcat.util.net.TestSsl.testRenegotiateWorks(TestSsl.java:206)
more closely, it is a broken test.
The current code is:
[[[
String line = br.readLine();
while (line != null) {
// For debugging System.out.println(line);
// Linux clients see a Connection Reset in some circumstances and a
// clean close in others.
try {
line = br.readLine();
} catch (IOException ioe) {
line = null;
}
}
]]]
The issue is that it calls br.readLine() twice, but the first call
(before the loop starts) is not wrapped by try/catch.
Best regards,
Konstantin Kolinko
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]