Bug #981

Uploading file to AJP13 backend doesn't work

Added by Anonymous 689 days ago. Updated 351 days ago.

Status:Fixed Start:
Priority:Normal Due date:
Assigned to:- % Done:

0%

Category:mod_proxy_backend_ajp13
Target version:-
Pending:

No

Resolution:

fixed


Description

If you try to upload file through AJP13 backend upload fails. Tomcat just throws index out of bounds exception. It seems that it tries to start read stream but get nothing.

-- jtiai

History

01/16/2007 11:19 AM - Anonymous

Error log is filled with:

src/mod_proxy_core.c.841: (error) oops, unexpected state for fdevent-hup state=4
, revents=24

Maybe this is related to upload problem.

-- jtiai

01/23/2007 09:25 AM - Anonymous

More debuggin information. This seems to be more or less Tomcat spesific problem and affects all multipart form requests.

I did some tracing on Java side and end up so that when ever I step through code slowly there is no problem at all. But if same piece of code is run without pauses it ends up having unreadable socket.

It is strange that it can read first two parts, but third (file) fails. But as stated above, if I step slowly there is no problem...

-- jtiai

02/06/2007 07:27 PM - jakabosky

  • Status changed from New to Fixed
  • Resolution set to fixed

fixed in r1613. I wasn't able to re-produce the index out of bounds exception in tomcat. Re-open
if the exception still happens.

02/06/2007 08:11 PM - jakabosky

  • Status changed from Fixed to Need Feedback
  • Resolution deleted (fixed)

http://www.box.net/public/tt9loupoz2
formtest.war

for testing

02/06/2007 08:37 PM - jakabosky

  • Status changed from Need Feedback to Fixed
  • Resolution set to fixed

fixed exception on tomcat side. tomcat excepts the whole packet size(including header) to be <= 8192.

02/08/2007 08:58 PM - jakabosky

  • Status changed from Fixed to Need Feedback
  • Resolution deleted (fixed)

Right now mod_proxy_core can't write & read from a backend at the same time. The AJP13 protocol has a packet type GET_BODY_CHUNK that the backend server sends to request more data from the frontend server. Since mod_proxy_core can't read when it is sending the request content it can't wait for the GET_BODY_CHUNK packets and just sends all the request content right after the request headers.

I am working on some changes that will allow the backend protocols to read & write packets as needed by the protocol.

02/12/2007 01:25 AM - jakabosky

  • Status changed from Need Feedback to Fixed
  • Resolution set to fixed

fixed in r1641

09/30/2007 10:20 AM - Anonymous

seduction thanks

12/19/2007 05:47 PM - Anonymous

thanks Acomplia

Also available in: Atom PDF