You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Fernando Hartmann (Jira)" <ji...@apache.org> on 2020/09/12 19:27:00 UTC

[jira] [Created] (FILEUPLOAD-307) Request InputStream created in FileItemIteratorImpl can be left open

Fernando Hartmann created FILEUPLOAD-307:
--------------------------------------------

             Summary: Request InputStream created in FileItemIteratorImpl can be left open
                 Key: FILEUPLOAD-307
                 URL: https://issues.apache.org/jira/browse/FILEUPLOAD-307
             Project: Commons FileUpload
          Issue Type: Bug
    Affects Versions: 1.4
            Reporter: Fernando Hartmann


Some exceptions in FileUploadBase.parseRequest you can leave Request InputStream open, leading to a memory leak, because FileItemIteratorImpl InputStream is not closed.

In my case the following Exception generates the problem.

 
{code:java}
Caused by: java.io.EOFException: Unexpected EOF read on the socket
	at org.apache.coyote.http11.InternalNioInputBuffer.fill(InternalNioInputBuffer.java:152) ~[tomcat-coyote.jar:8.0.27]
	at org.apache.coyote.http11.InternalNioInputBuffer$SocketInputBuffer.doRead(InternalNioInputBuffer.java:177) ~[tomcat-coyote.jar:8.0.27]
	at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:110) ~[tomcat-coyote.jar:8.0.27]
	at org.apache.coyote.http11.AbstractInputBuffer.doRead(AbstractInputBuffer.java:416) ~[tomcat-coyote.jar:8.0.27]
	at org.apache.coyote.Request.doRead(Request.java:469) ~[tomcat-coyote.jar:8.0.27]
	at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:342) ~[catalina.jar:8.0.27]
	at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:395) ~[tomcat-util.jar:8.0.27]
	at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:367) ~[catalina.jar:8.0.27]
	at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:190) ~[catalina.jar:8.0.27]
	at java.io.FilterInputStream.read(FilterInputStream.java:133) ~[?:1.8.0_211]
	at org.apache.commons.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:132) ~[commons-fileupload-1.4.jar:1.4]
	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:1027) ~[commons-fileupload-1.4.jar:1.4]
	at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:931) ~[commons-fileupload-1.4.jar:1.4]
	at java.io.InputStream.read(InputStream.java:101) ~[?:1.8.0_211]
	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:98) ~[commons-fileupload-1.4.jar:1.4]
	at org.apache.commons.fileupload.util.Streams.copy(Streams.java:68) ~[commons-fileupload-1.4.jar:1.4]
	at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:346) ~[commons-fileupload-1.4.jar:1.4]
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)