npe thrown when attempting to load missing asset
------------------------------------------------

                 Key: TAP5-1017
                 URL: https://issues.apache.org/jira/browse/TAP5-1017
             Project: Tapestry 5
          Issue Type: Bug
    Affects Versions: 5.2.0
            Reporter: Jim Smart
            Priority: Minor


if i do the following:-

<img src="${context:/}this-image/is-missing.jpg"/>

and the referenced image does not exist, i would expect a silent failure / 404 
- instead a null pointer exception like this is thrown in my ide console:-

2010-02-15 
03:45:10.005:WARN::/test/assets/ctx/86d986cfc5124bd4/this-image/is-missing.jpg
java.lang.NullPointerException
        at $Request_126cfa1aad7.getSession($Request_126cfa1aad7.java)
        at $Request_126cfa1aaa7.getSession($Request_126cfa1aaa7.java)
        at 
org.apache.tapestry5.internal.services.RestoreDirtySessionObjects.requestDidComplete(RestoreDirtySessionObjects.java:35)
        at 
org.apache.tapestry5.internal.services.EndOfRequestEventHubImpl.fire(EndOfRequestEventHubImpl.java:40)
        at 
$EndOfRequestEventHub_126cfa1aaaa.fire($EndOfRequestEventHub_126cfa1aaaa.java)
        at 
org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:917)
        at $RequestHandler_126cfa1aac5.service($RequestHandler_126cfa1aac5.java)
        at 
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:903)
        at $RequestHandler_126cfa1aac5.service($RequestHandler_126cfa1aac5.java)
        at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
        at $RequestHandler_126cfa1aac5.service($RequestHandler_126cfa1aac5.java)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81)
        at 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
        at $RequestHandler_126cfa1aac5.service($RequestHandler_126cfa1aac5.java)
        at $RequestHandler_126cfa1aabb.service($RequestHandler_126cfa1aabb.java)
        at 
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:239)
        at 
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
        at 
$HttpServletRequestHandler_126cfa1aabd.service($HttpServletRequestHandler_126cfa1aabd.java)
        at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
        at 
$HttpServletRequestFilter_126cfa1aaba.service($HttpServletRequestFilter_126cfa1aaba.java)
        at 
$HttpServletRequestHandler_126cfa1aabd.service($HttpServletRequestHandler_126cfa1aabd.java)
        at 
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:856)
        at 
$HttpServletRequestHandler_126cfa1aabd.service($HttpServletRequestHandler_126cfa1aabd.java)
        at 
$HttpServletRequestHandler_126cfa1aab8.service($HttpServletRequestHandler_126cfa1aab8.java)
        at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at 
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
0:0:0:0:0:0:0:1%0 -  -  [15/Feb/2010:03:45:09 +0000] "GET 
/test/assets/ctx/86d986cfc5124bd4/this-image/is-missing.jpg HTTP/1.1" 404 1427 
"http://localhost:8080/test/page/test"; "Mozilla/5.0 (Macintosh; U; Intel Mac OS 
X 10_6_2; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.307.7 
Safari/532.9"


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to