Uploaded image for project: 'Commons FileUpload'
  1. Commons FileUpload
  2. FILEUPLOAD-307

Request InputStream created in FileItemIteratorImpl can be left open

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.4
    • None
    • None

    Description

      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.

       

      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]
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            matafagafo Fernando Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: