You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Arturo Bernal (Jira)" <ji...@apache.org> on 2021/06/02 16:48:00 UTC

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

    [ https://issues.apache.org/jira/browse/FILEUPLOAD-307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17355859#comment-17355859 ] 

Arturo Bernal commented on FILEUPLOAD-307:
------------------------------------------

HI [~matafagafo]

Thank you for your report.

 Could you please provide a unit test where is reproduced in order to  to analyze it? would be very helpful.

TY

Arturo

> 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
>            Priority: Major
>
> 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)