Class org.apache.coyote.Request has bytesRead variable's return type is int. When file upload (grater than 2 GB), it returns negative value. Return type should be change to long. This bug affected all version of tomcat 6, 7, 8, 9. --------------------------------------------------------- * AS-IS private int bytesRead=0; public int getBytesRead() { return bytesRead; } * TO-BE private long bytesRead=0; public long getBytesRead() { return bytesRead; }
Fixed in Tomcat 7, 8, proposed for Tomcat 6. The fix will be in 7.0.60, 8.0.19 onwards. Thank you for reporting this issue. r1659521 (trunk), r1659522 (8.0), r1659523 (7.0).
Fixed in Tomcat 6 by r1660792. The fix will be in 6.0.44 onwards.