2014-03-11 17:30 GMT+04:00 Konstantin Kolinko <knst.koli...@gmail.com>:
> 2014-03-11 17:09 GMT+04:00 Rémy Maucherat <r...@apache.org>:
>> 2014-03-11 13:14 GMT+01:00 Konstantin Kolinko <knst.koli...@gmail.com>:
>>
>>> 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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to