[ 
https://issues.apache.org/jira/browse/IO-728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary D. Gregory closed IO-728.
------------------------------
    Resolution: Not A Bug

Closing, not a bug, no feedback from OP.

 

> MimeHeaders.setValue throws NPE when IOUtils.copy is called
> -----------------------------------------------------------
>
>                 Key: IO-728
>                 URL: https://issues.apache.org/jira/browse/IO-728
>             Project: Commons IO
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 2.5
>         Environment: Java Version: 1.8
> Spring version: 4.3.11.RELEASE
> Spring boot version: 2.0.5.RELEASE
> Jersey version: 2.16
>            Reporter: Anuj PB
>            Priority: Major
>         Attachments: StackTrace
>
>
> I have a Spring Boot Microservice and I am using *IOUtils.copy(InputStream, 
> OutputStream)* which sporadically throws NPE while setting MimeHeaders as 
> shown below:
> 2021-03-18 18:14:05.081 ERROR [http-nio-80-exec-8] 
> o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet 
> [dispatcherServlet] threw exception2021-03-18 18:14:05.081 ERROR 
> [http-nio-80-exec-8] o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() 
> for servlet [dispatcherServlet] threw exception
>  java.lang.NullPointerException: null at
>  org.apache.tomcat.util.http.MimeHeaders.setValue(MimeHeaders.java:318) at 
> org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1285)
>  at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:374) at 
> org.apache.coyote.Response.action(Response.java:206) at 
> org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:219)
>  at org.apache.coyote.Response.doWrite(Response.java:602) at 
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:352)
>  at 
> org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:833)
>  at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:738) 
> at 
> org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:399) 
> at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:377) at 
> org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96)
>  at 
> org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.write(OnCommittedResponseWrapper.java:639)
>  at
>  org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2147) at
>  org.apache.commons.io.IOUtils.copy(IOUtils.java:2102) at 
>  org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2123) at 
>  org.apache.commons.io.IOUtils.copy(IOUtils.java:2078)
> I have attached the complete stack trace in the attachment and also provided 
> the environment where this appears.
>  I feel that there is some issue with the Commons IO lib and would like to 
> know if this can be fixed.
> My application has the following code to which the stack trace points to:
> {quote}FileInputStream fis = new FileInputStream(tempOutputFile);
>  return outputStream -> \{ IOUtils._copy_(fis, outputStream); }
> ;
> {quote}
> Found the page 
> [http://tomcat.10.x6.nabble.com/NullPointerException-in-MimeHeaders-td2054107.html]
>  which talks about a similar problem and coincidentally we too use 
> *org.apache.catalina.connector.RECYCLE_FACADES=true* system property to avoid 
> reuse of request and response objects, but it isn't not working for us as 
> well.
>   



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to