Bug #981
Uploading file to AJP13 backend doesn't work
| 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