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] Created: (TAP5-964) Exception report failed to render due to NPE inside session-persisted objects' toString()
Date Wed, 30 Dec 2009 21:48:29 GMT
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


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