WebExternalResourceStream.close() throws NPE --------------------------------------------
Key: WICKET-790 URL: https://issues.apache.org/jira/browse/WICKET-790 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 1.3.0-beta2 Reporter: Chuck Deal I have written a ContextRelativeResourceReference (CRRR) that creates ContextRelativeResource objects. I set a new CRRR on an Image object and when the page is rendering, I get the following stackTrace: 16:07:36,158 ERROR [default]:260 - Servlet.service() for servlet default threw exception java.lang.NullPointerException at org.apache.wicket.util.resource.WebExternalResourceStream.close(WebExternalResourceStream.java:78) at org.apache.wicket.protocol.http.WicketFilter.getLastModified(WicketFilter.java:728) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:122) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:495) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Looking at WebExternalResourceStream.close(), it calls "in.close()", however, "in" is not initialized during the code execution path. Would it be acceptable to do this in the close() method? public void close() throws IOException { if (in != null) in.close(); } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.