Bug 1100491
Summary: | Buffer overflow when using web sockets | ||
---|---|---|---|
Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Stuart Douglas <sdouglas> |
Component: | Web | Assignee: | Rémy Maucherat <rmaucher> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Radim Hatlapatka <rhatlapa> |
Severity: | unspecified | Docs Contact: | Russell Dickenson <rdickens> |
Priority: | unspecified | ||
Version: | 6.3.0 | CC: | kkhan, sdouglas |
Target Milestone: | ER6 | ||
Target Release: | EAP 6.3.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-06-28 15:26:02 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Stuart Douglas
2014-05-22 22:03:27 UTC
This is (apparently) internal to the Tomcat code, but I cannot see any problem with it. It looks like there is only one buffer that is used by all writes: org.apache.tomcat.websocket.WsRemoteEndpointImplBase#encoderBuffer I wonder if there is any chance that this is being used by multiple threads at once? Otherwise I can't see how this could happen, barring a bug in the encoder itself. This is called by the async IO completion onWritePossible, but I see nothing really preventing the user code from keeping using sendString, and there are no syncs. I think the idea is to run into the state check stateMachine.textStart(). I'm reluctant to make changes to the Tomcat code right now, I am probably more likely to cause new issues than fix things. I wasn't able to reproduce the Stuarts issue when running autobahn testsuite. I have tried it with EAP 6.3.0.ER5, which uses jbossweb-7.4.2.Final-redhat-1.jar, version which should be exposed, and I don't see the error @Stuart could you please verify whether you are still seeing BufferOverflow exception with EAP 6.3.0.ER7. It was very intermittent when I saw it, I think I only saw it twice in all the runs I did. It may have already been fixed by some of the other web socket changes. I've made multiple runs using both EAP 6.3.0.ER5 and EAP 6.3.0.ER7 and I haven't seen this issue. As I haven't seen it I am setting it as verified. |