tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard M. Lewis Ship (JIRA)" <j...@apache.org>
Subject [jira] Closed: (TAP5-964) Exception report failed to render due to NPE inside session-persisted objects' toString()
Date Thu, 31 Dec 2009 18:21:29 GMT

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

Howard M. Lewis Ship closed TAP5-964.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.2.0

> Exception report failed to render due to NPE inside session-persisted objects' toString()
> -----------------------------------------------------------------------------------------
>
>                 Key: TAP5-964
>                 URL: https://issues.apache.org/jira/browse/TAP5-964
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.2
>            Reporter: Howard M. Lewis Ship
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.2.0
>
>
> Had an exception on the page, but the ExceptionReport failed; from the console I could
see why:
> org.apache.tapestry5.ioc.internal.util.TapestryException [at classpath:org/apache/tapestry5/corelib/pages/ExceptionReport.tml,
line 32]
> 	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:948)
> 	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$400(ComponentPageElementImpl.java:49)
> 	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.callback(ComponentPageElementImpl.java:159)
> 	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:211)
> 	at org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:74)
> 	at org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121)
> 	at $PageRenderQueue_125e1729db5.render($PageRenderQueue_125e1729db5.java)
> 	at $PageRenderQueue_125e1729db4.render($PageRenderQueue_125e1729db4.java)
> 	at org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37)
> 	at org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1748)
> 	at $MarkupRenderer_125e1729db7.renderMarkup($MarkupRenderer_125e1729db7.java)
> 	at org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1732)
> 	at $MarkupRenderer_125e1729db7.renderMarkup($MarkupRenderer_125e1729db7.java)
> 	at org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1714)
> 	at $MarkupRenderer_125e1729db7.renderMarkup($MarkupRenderer_125e1729db7.java)
> 	at org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1700)
> 	at $MarkupRenderer_125e1729db7.renderMarkup($MarkupRenderer_125e1729db7.java)
> 	at org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1681)
> 	at $MarkupRenderer_125e1729db7.renderMarkup($MarkupRenderer_125e1729db7.java)
> 	at org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1662)
> 	at $MarkupRenderer_125e1729db7.renderMarkup($MarkupRenderer_125e1729db7.java)
> 	at $MarkupRenderer_125e1729db3.renderMarkup($MarkupRenderer_125e1729db3.java)
> 	at org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
> 	at $PageMarkupRenderer_125e1729daf.renderPageMarkup($PageMarkupRenderer_125e1729daf.java)
> 	at org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:61)
> 	at $PageResponseRenderer_125e1729d87.renderPageResponse($PageResponseRenderer_125e1729d87.java)
> 	at org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:77)
> 	at $RequestExceptionHandler_125e1729d2e.handleRequestException($RequestExceptionHandler_125e1729d2e.java)
> 	at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
> 	at $RequestHandler_125e1729d30.service($RequestHandler_125e1729d30.java)
> 	at org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:778)
> 	at $RequestHandler_125e1729d30.service($RequestHandler_125e1729d30.java)
> 	at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:767)
> 	at $RequestHandler_125e1729d30.service($RequestHandler_125e1729d30.java)
> 	at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
> 	at $RequestHandler_125e1729d30.service($RequestHandler_125e1729d30.java)
> 	at org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service(URLRewriterRequestFilter.java:47)
> 	at $RequestHandler_125e1729d30.service($RequestHandler_125e1729d30.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_125e1729d30.service($RequestHandler_125e1729d30.java)
> 	at $RequestHandler_125e1729d26.service($RequestHandler_125e1729d26.java)
> 	at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:197)
> 	at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
> 	at $HttpServletRequestHandler_125e1729d28.service($HttpServletRequestHandler_125e1729d28.java)
> 	at org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
> 	at $HttpServletRequestHandler_125e1729d28.service($HttpServletRequestHandler_125e1729d28.java)
> 	at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> 	at $HttpServletRequestFilter_125e1729d25.service($HttpServletRequestFilter_125e1729d25.java)
> 	at $HttpServletRequestHandler_125e1729d28.service($HttpServletRequestHandler_125e1729d28.java)
> 	at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:726)
> 	at $HttpServletRequestHandler_125e1729d28.service($HttpServletRequestHandler_125e1729d28.java)
> 	at $HttpServletRequestHandler_125e1729d0d.service($HttpServletRequestHandler_125e1729d0d.java)
> 	at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at collective.servlet.LogbackMdcFilter.doFilter(LogbackMdcFilter.java:65)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:324)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
> Caused by: java.lang.NullPointerException
> 	at collective.instance.RegistrationRequest.toString(RegistrationRequest.java:68)
> 	at java.lang.String.valueOf(String.java:2826)
> 	at org.apache.tapestry5.services.TapestryModule$20.render(TapestryModule.java:1586)
> 	at $ObjectRenderer_125e1729dba.render($ObjectRenderer_125e1729dba.java)
> 	at $ObjectRenderer_125e1729d8d.render($ObjectRenderer_125e1729d8d.java)
> 	at org.apache.tapestry5.corelib.components.RenderObject.beginRender(RenderObject.java:40)
> 	at org.apache.tapestry5.corelib.components.RenderObject.beginRender(RenderObject.java)
> 	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:206)
> 	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.run(ComponentPageElementImpl.java:164)
> 	at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:933)
> The RegistrationRequest object was session persisted, but its toString() was a bit sloppy
and threw an NPE.
> It would be much nicer if Object class adapter for ObjectRenderer caught exceptions when
invoking toString(), and displayed a summary of the exception and identified the class name,
rather than blowing up the ExceptionReport render.

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


Mime
View raw message