Summary: | Tomcat NIO SSL Connector broken under Linux in Tomcat 9.0.31 | ||
---|---|---|---|
Product: | Tomcat 10 | Reporter: | Michael Seele <mseele> |
Component: | Catalina | Assignee: | Tomcat Developers Mailing List <dev> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | krishnan212, sebastian.ratz, vinkvii |
Priority: | P2 | ||
Version: | 10.0.0-M1 | ||
Target Milestone: | ------ | ||
Hardware: | PC | ||
OS: | Linux | ||
Attachments: |
SendBackServlet
DemoClient |
Description
Michael Seele
2020-03-04 12:37:35 UTC
Created attachment 37058 [details]
SendBackServlet
Created attachment 37059 [details]
DemoClient
*** Bug 64194 has been marked as a duplicate of this bug. *** I have reverted the change in Tomcat 9.0.31 that probably caused this (the fix will be in 9.0.32), since I cannot immediately investigate. Given the plan for the Tomcat 9 branch, it is best to permanently defer this change to Tomcat 10 and 9.10. I will work on integrating your testcase into the Tomcat testsuite and will see how well the problem can be reproduced. The stacktraces provided are not useful, same as with 64195. (In reply to Remy Maucherat from comment #4) > I have reverted the change in Tomcat 9.0.31 that probably caused this (the > fix will be in 9.0.32), since I cannot immediately investigate. Given the > plan for the Tomcat 9 branch, it is best to permanently defer this change to > Tomcat 10 and 9.10. > > I will work on integrating your testcase into the Tomcat testsuite and will > see how well the problem can be reproduced. > The stacktraces provided are not useful, same as with 64195. Hi Remy, thank you. Please see the referenced docker images (where a full tomcat installation takes place and is fully setup to reproduce this bug). Just need to run the docker image and execute the client against: - import it via docker load (https://docs.docker.com/engine/reference/commandline/load/) - run it via e.g. docker run --detach -it -p 8888:8443 -p 8889:8444 --rm --name tomcat <image_name> - run DemoClient (e.g. java DemoClient https://localhost:8888/tomcat_nio and you can reproduce the bug. I can send you the docker images or an export of the tomcat also via email if you want? This will stay in NEEDINFO. I added a simple test to the testsuite, which works for me. I will monitor the CI results for failures. I have a similar test case that also works. I have also replicated the test servlet and client provided in Tomcat's unit tests and that works as expected as well. (In reply to Mark Thomas from comment #7) > I have a similar test case that also works. > > I have also replicated the test servlet and client provided in Tomcat's unit > tests and that works as expected as well. Under which OS and JRE are you running the unit tests? Only happens for us under linux. Is your unit test ssl enabled? Without ssl enabled, i don't get the error (like i wrote in the beginnging bug report). We experience it in several applications which are live and operating. And my test servlet & demo client in the docker image can reproduce the error always. Do you need the server.xml configuration and the keys? Maybe it's an encryption problem? None of that would help. If you want to help, you can try the 9.0.32 RC. https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.32/ I may change the trunk code to use a latch for now since it's easier to read. (In reply to Remy Maucherat from comment #9) > None of that would help. If you want to help, you can try the 9.0.32 RC. > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.32/ > > I may change the trunk code to use a latch for now since it's easier to read. Why does it not help giving you the same environment in which we reproduce the bug? What info (bug is on NEEDINFO) do you need then? Anyway, i've tried 9.0.32 RC and can confirm that the bug is gone for 9.0.32 RC. I cannot reproduce it anymore. But my attached demo is running way slower than under 9.0.30 (i sometimes kind of stops for a second or so). I ran the demo 10 times and got the following durations with 9.0.32 RC: 21 sec / 8 sec / 4 sec / 5 sec / 12 sec / 6 sec / 5 sec / 10 sec / 10 sec / 8 sec Average is 8,9 sec. Running the demo 10 times under 9.0.30, each run takes 4 sec. Avagare is 4 sec. FYI, i measured in nanos but i thought its clearer to use secs here FYI: trying the demo against 10.0.0-M2 (https://dist.apache.org/repos/dist/dev/tomcat/tomcat-10/v10.0.0-M2/bin/) i always got this result: [ERROR] RESULT NOT EQUAL: expected 1048576 / got: 736 Let me know if I can help you in any way... Marking as a duplicate of 64202 as it is sufficiently similar to this bug (issue is with NIO/SSL, issue appeared in 9.0.31, issue is fixed in 9.0.32) and the test case provided in 64202 allows the issue to be recreated with a local Tomcat. *** This bug has been marked as a duplicate of bug 64202 *** *** Bug 64232 has been marked as a duplicate of this bug. *** *** Bug 64486 has been marked as a duplicate of this bug. *** |