Status/Resolution/Reason: Closed/Fixed/Fixed
Reporter/Name(from Bugbase): Andrew Coates / Andrew Coates ()
Created: 03/14/2017
Components: Web Container (Tomcat)
Versions: 2016,11.0
Failure Type: Non Functioning
Found In Build/Fixed In Build: 2016.0.03.300466, Tomcat 8.0.32.0 / 302319
Priority/Frequency: Normal / All users will encounter
Locale/System: / Linux Ubuntu 14.04
Vote Count: 1
Problem Description: using AJP if form POST data size exceed a threshold (65527 bytes for me but probably varies) then Tomcat frequently throws HTTP Status 400 - err.io.short_read.
Steps to Reproduce: Pad hidden form field to size and submit, sample code below
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<cfscript>
if(structCount(form) gt 0)
writeDump(len(form.p));
char100 = 'abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy';
payload = [];
for(i = 0; i lt 655; i++)
arrayAppend(payload, char100);
arrayAppend(payload, 'abcdefghijabcdefghijabcdefg');
arrayAppend(payload, 'Z');
</cfscript>
<html>
<head>
<title>Post Test</title>
</head>
<body>
<form action="" method="post">
<input type="hidden" name="p" value="<cfoutput>#arrayToList(payload, '')#</cfoutput>">
<input type="submit" value="Go">
</form>
</body>
</html>
Actual Result:
at least 50% failures with 400 error
Expected Result:
size of form field dumped successfully every time
Any Workarounds:
Use Tomcat HTTP directly but reduces functionality too much
Attachments:
Comments: