Attached to this email is an ear file will demonstrate the problem. The ear
contains simple servlet that is called on a form post via a jsp page that
will demonstrate the problem.
The url is http://localhost:9090/testjetty/
Here you will see a textarea that you can paste in text and submit the form
to the servlet. The servlet in turn just echos back the size of the data
posted and the data itself. Depending on what content you type in, you may
not see anything returned in the browser, but you can view source to see the
text if that is the case.
For testing purposes, attached to this email is also test text data file I
used to replicate the problem. It is called foo.txt and is stored inside
foo.zip. Open this file in a text editor, copy the text, and then past it
into the text area on the web form. At the very end of the file, there is a
line that says "THIS IS THE END".
The file character count is 139419, however when the servlet grabs the text
via a request.getParameter() command, loads it into a string, and displays
its size, the size is now 141,511. If you view source on the web browser,
the text output is truncated (ie you don't see the line "THIS IS THE END").
It is instead padded with a large number of blank spaces (hex char 20)
indicating something has gone wrong.
This same test in JBoss 3.2.1 with Tomcat works fine.
The threshold for when the corruption occurs seems to hover around 70-80K
and higher. Anything lower then that works fine, and the servlet reports
the correct String length as well.
Any help would be appreciated,