Something breaks SetupRender a.k.a. j:palette is broken

75 views
Skip to first unread message

Christian

unread,
Oct 15, 2011, 6:33:55 AM10/15/11
to tapestry5-jquery
Hi,

I've got a problem with j:palette and I can reproduce it using the
tap5-jquery demo app.
To see what I see, please start the demo app and go to
http://localhost:8080/tapestry5-jquery/docs/core/jquerypalette

Maybe you have to do it 4 or 5 times, since it just happens sometimes.

It appears that setupRender() never gets called. I debugged quite a
bit of Tapestry code and plastic-generated code. What I found was that
the setupRender method is known to "ComponentPageElementImpl". Some
generated code gets executed, but it is not the setupRender method of
j:palette.
A few days ago I had the same error with forms and fields, too. But it
disappeared, leaving this as the last bug behind. The solution for the
problem with forms and fields was found by Emmanuel as I read
yesterday: http://groups.google.com/group/tapestry5-jquery/browse_thread/thread/54e651998f0311a1

I can't locate the buggy code in the lib, please help :-(


Here's the full stack:

[ERROR] TapestryModule.RequestExceptionHandler Processing of request
failed with uncaught exception: Render queue error in BeginRender[docs/
core/JQueryPalette:handling]:
org.apache.tapestry5.ioc.internal.util.TapestryException
org.apache.tapestry5.internal.services.RenderQueueException: Render
queue error in BeginRender[docs/core/JQueryPalette:handling]:
org.apache.tapestry5.ioc.internal.util.TapestryException [at
classpath:org/got5/tapestry5/jquery/test/pages/docs/core/
DocsJQueryPalette.tml, line 9]
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:
81)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:
124)
at $PageRenderQueue_124cdf2fcab7f95c.render(Unknown Source)
at $PageRenderQueue_124cdf2fcab7f95b.render(Unknown Source)
at
org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:
37)
at org.apache.tapestry5.services.TapestryModule
$30.renderMarkup(TapestryModule.java:1988)
at $MarkupRenderer_124cdf2fcab7f960.renderMarkup(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$29.renderMarkup(TapestryModule.java:1972)
at $MarkupRenderer_124cdf2fcab7f960.renderMarkup(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$28.renderMarkup(TapestryModule.java:1954)
at $MarkupRenderer_124cdf2fcab7f960.renderMarkup(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$27.renderMarkup(TapestryModule.java:1939)
at $MarkupRenderer_124cdf2fcab7f960.renderMarkup(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$26.renderMarkup(TapestryModule.java:1925)
at $MarkupRenderer_124cdf2fcab7f960.renderMarkup(Unknown Source)
at org.got5.tapestry5.jquery.services.js.JSModule
$1.renderMarkup(JSModule.java:40)
at $MarkupRenderer_124cdf2fcab7f960.renderMarkup(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$25.renderMarkup(TapestryModule.java:1907)
at $MarkupRenderer_124cdf2fcab7f960.renderMarkup(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$24.renderMarkup(TapestryModule.java:1888)
at $MarkupRenderer_124cdf2fcab7f960.renderMarkup(Unknown Source)
at $MarkupRenderer_124cdf2fcab7f95a.renderMarkup(Unknown Source)
at
org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:
47)
at $PageMarkupRenderer_124cdf2fcab7f958.renderPageMarkup(Unknown
Source)
at
org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:
67)
at $PageResponseRenderer_124cdf2fcab7f8f1.renderPageResponse(Unknown
Source)
at
org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:
64)
at org.apache.tapestry5.services.TapestryModule
$37.handle(TapestryModule.java:2216)
at $PageRenderRequestHandler_124cdf2fcab7f8f3.handle(Unknown Source)
at $PageRenderRequestHandler_124cdf2fcab7f8ed.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:
48)
at
org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:
47)
at $ComponentRequestHandler_124cdf2fcab7f8ee.handlePageRender(Unknown
Source)
at $ComponentRequestHandler_124cdf2fcab7f8b6.handlePageRender(Unknown
Source)
at
org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:
45)
at $Dispatcher_124cdf2fcab7f8b8.dispatch(Unknown Source)
at $Dispatcher_124cdf2fcab7f8b2.dispatch(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$RequestHandlerTerminator.service(TapestryModule.java:302)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:
26)
at $RequestHandler_124cdf2fcab7f8b3.service(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$3.service(TapestryModule.java:900)
at $RequestHandler_124cdf2fcab7f8b3.service(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$2.service(TapestryModule.java:890)
at $RequestHandler_124cdf2fcab7f8b3.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:
90)
at $RequestHandler_124cdf2fcab7f8b3.service(Unknown Source)
at $RequestHandler_124cdf2fcab7f8a8.service(Unknown Source)
at org.apache.tapestry5.services.TapestryModule
$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:
44)
at $HttpServletRequestHandler_124cdf2fcab7f8aa.service(Unknown
Source)
at
org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:
26)
at $HttpServletRequestHandler_124cdf2fcab7f8aa.service(Unknown
Source)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
62)
at $HttpServletRequestFilter_124cdf2fcab7f8a7.service(Unknown Source)
at $HttpServletRequestHandler_124cdf2fcab7f8aa.service(Unknown
Source)
at org.apache.tapestry5.services.TapestryModule
$1.service(TapestryModule.java:850)
at $HttpServletRequestHandler_124cdf2fcab7f8aa.service(Unknown
Source)
at $HttpServletRequestHandler_124cdf2fcab7f8a3.service(Unknown
Source)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:
171)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1212)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
399)
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:
766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
450)
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:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
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:
410)
at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:582)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException
[at classpath:org/got5/tapestry5/jquery/test/pages/docs/core/
DocsJQueryPalette.tml, line 9]
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
$AbstractPhase.invoke(ComponentPageElementImpl.java:153)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:
72)
... 75 more
Caused by: java.lang.NullPointerException
at
org.got5.tapestry5.jquery.components.Palette.beginRender(Palette.java:
397)
at
org.got5.tapestry5.jquery.components.Palette.beginRender(Palette.java)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
$AbstractPhase.invoke(ComponentPageElementImpl.java:143)
... 77 more

Christian

unread,
Oct 15, 2011, 2:46:33 PM10/15/11
to tapestry5-jquery
Ok, fixed it already in my branch:
https://github.com/criedel/tapestry5-jquery/commit/6000a0ffc7f960e131a4364f1a2cd183d2537103

I'll create a pull request, soon!



On 15 Okt., 12:33, Christian <cr.ml...@googlemail.com> wrote:
> Hi,
>
> I've got a problem with j:palette and I can reproduce it using the
> tap5-jquery demo app.
> To see what I see, please start the demo app and go tohttp://localhost:8080/tapestry5-jquery/docs/core/jquerypalette
>
> Maybe you have to do it 4 or 5 times, since it just happens sometimes.
>
> It appears that setupRender() never gets called. I debugged quite a
> bit of Tapestry code and plastic-generated code. What I found was that
> the setupRender method is known to "ComponentPageElementImpl". Some
> generated code gets executed, but it is not the setupRender method of
> j:palette.
> A few days ago I had the same error with forms and fields, too. But it
> disappeared, leaving this as the last bug behind. The solution for the
> problem with forms and fields was found by Emmanuel as I read
> yesterday:http://groups.google.com/group/tapestry5-jquery/browse_thread/thread/...
Reply all
Reply to author
Forward
0 new messages