Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1132674

Summary: [GSS] (6.4.0) Expect acks cause NIO BufferOverflows
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Aaron Ogburn <aogburn>
Component: WebAssignee: Rémy Maucherat <rmaucher>
Status: CLOSED NOTABUG QA Contact: Radim Hatlapatka <rhatlapa>
Severity: unspecified Docs Contact: Russell Dickenson <rdickens>
Priority: unspecified    
Version: 6.4.0CC: jawilson, rdickens, rhatlapa, rmaucher
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1132669 Environment:
Last Closed: 2014-08-22 19:36:26 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:
Bug Depends On:    
Bug Blocks: 1132669    

Description Aaron Ogburn 2014-08-21 19:33:35 UTC
+++ This bug was initially created as a clone of Bug #1132669 +++

Description of problem:

All requests with an Expect:100-continue header fail on NIO with a BufferOverflow

Version-Release number of selected component (if applicable):

EAP 6.3.0


How reproducible:

Very


Steps to Reproduce:
1. Deploy app (basic jsp/html page is fine) and configure NIO http connector
2. Make a request to the app with an expect header

curl -H Expect:100-continue http://localhost:8080/deployedapp/simplepage

Actual results:

Request fails from BufferOverflow.

ERROR [org.apache.catalina.connector] (http-localhost/127.0.0.1:8080-60) JBWEB001018: An exception or error occurred in the container during the request processing: java.nio.BufferOverflowException
at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:357) [rt.jar:1.7.0_25]
at org.apache.coyote.http11.AbstractInternalOutputBuffer.commit(AbstractInternalOutputBuffer.java:471) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.coyote.http11.Http11NioProcessor.commit(Http11NioProcessor.java:477) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:795) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.coyote.Response.action(Response.java:190) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.coyote.Response.sendHeaders(Response.java:390) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:335) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:301) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.connector.Response.finishResponse(Response.java:475) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:363) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:350) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:902) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.tomcat.util.net.NioEndpoint$ChannelProcessor.run(NioEndpoint.java:1031) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]

Expected results:

Request doesn't fail


Additional info:

Comment 1 Aaron Ogburn 2014-08-22 19:36:26 UTC
Actually looks to be resolved by GTNPORTAL-3435

Comment 2 JBoss JIRA Server 2014-09-08 07:49:51 UTC
Remy Maucherat <rmaucher> updated the status of jira JBWEB-302 to Resolved