DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24763>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24763 Apache-Tomcat comm fails streaming objects of certain predictble sizes ------- Additional Comments From [EMAIL PROTECTED] 2003-12-08 14:35 ------- some easy steps to reproduce this kind of error (in short, parameter value of some certain length gets changed in transit - last character of the parameter value gets equal to '\u0000' instead of '\u0030' which was originally sent) 1) create a jsp - say bb.jsp <% String v = request.getParameter("v"); int LEN=8185; for( int i=0; i<LEN; i++ ){ System.err.println(i+"="+(int)v.charAt(i)); } %> 2) run the following (change your-host-apache-tomcat with real path) - that code will make a POST request to bb.jsp static void testJK2bug() throws Exception { int LEN = 8185; URL u = new URL("http://your-host-apache-tomcat/bb.jsp"); URLConnection uc = u.openConnection(); uc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); StringBuffer val = new StringBuffer("v="); for (int j = 0; j < LEN; j++) { val.append("0"); } uc.setRequestProperty("Content-Length", "" + val.length()); uc.setDoOutput(true); uc.getOutputStream().write(val.toString().getBytes()); uc.getInputStream().read(); } 3) see in catalina.out that last character in the parameter value is '\u0000' , not '\u0030' as it should be That kind of problem (filling with 0-es) is not limited to single byte. Out production site sometimes experiences blocks of zeroes somehow becoming parameter names/values, so the problem is rather critical. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]