Hi John,
it is hard to answer your question without any source code or details about
your application. My guess your application is using tapestry-jquery and
something is incorrectly initialised in production-mode. I would check if
you do not encounter problems with your browser caching some old version of
JavaScript libraries (IIRC, in Tapestry 5.3 you need to change application
version every time asset changes - I recommend ensuring that your build
process does that for you). Probably because of failure on JavaScript side,
your link clicks with JS, are not actually rewritten to be AJAX links, but
normal links, and your event handlers do not check if requests are AJAX (us
Request.isXHR method to check that), and blindly try to prepare AJAX
rendering, which causes this exception.

My recommendations:

   - See if your links are actually sent as AJAX requests from the browser.

   - Find and fix the cause of problems reported for JavaScript in the
   browser. First ensure that your browser does not cached some incorrect
   version of assets. If it does, ensure that you change application version
   setting when assets changes. Preferably make your build process to set
   application version in Tapestry in some automatic way.

   - In Java, event handlers should check if request is AJAX or not, and
   use appropriate processing paths for preparing output. Even if you fix your
   JavaScript problems, your application will be more user friendly and robust
   by not assuming that these events are always sent via AJAX (e.g. user can
   have JavaScript disabled, or middle-click on the link, etc.).


As I said before, I can only guess what is wrong. If my recommendation
would not help, try providing more details and narrow down the problem.

Best regards,
Cezary



On Thu, Jun 16, 2016 at 5:14 PM, Qbyte Consulting <qbyteconsult...@gmail.com
> wrote:

> Hi,
>
> My T5.3.6 application works fine with production mode=false. However when
> production-mode = true then some linkclicks with JS return:
>
> An unexpected application exception has occurred.
>
> Page must be specified before initializing for partial page render.
>
> This is on the browser console:
>
> core.js:6947 Uncaught TypeError: element.attachEvent is not a function
> SuperfishStack.js:383 Uncaught TypeError: Cannot read property
> 'extendInitializers' of undefined
> dialog.js:3 Uncaught TypeError: Cannot read property 'extendInitializers'
> of undefined
> bind.js:3 Uncaught TypeError: Cannot read property 'extendInitializers' of
> undefined
> jGrowl_init.js:2 Uncaught TypeError: Cannot read property
> 'extendInitializers' of undefined
> manageusers:17 Uncaught TypeError: Cannot set property 'JQUERY' of
> undefined
> core.js:7028 Uncaught TypeError: element.dispatchEvent is not a function
>
> Why is that happening?
>
> regards,
> John
>
>
>
> [ERROR] ioc.Registry Page must be specified before initializing for partial
> page
>  render.
> [ERROR] ioc.Registry Operations trace:
> [ERROR] ioc.Registry [ 1] Triggering event 'alphabetfilter' on
> ManageUsers:users
> component
> [ERROR] TapestryModule.RequestExceptionHandler Processing of request failed
> with
>  uncaught exception: Page must be specified before initializing for partial
> page
>  render.
> org.apache.tapestry5.ioc.internal.OperationException: Page must be
> specified bef
> ore initializing for partial page render. [at
> classpath:xxxxxx/audit/manager/pag
> es/ManageUsers.tml, line 38]
>         at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(
> OperationTrackerImpl.java:121)
>         at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(Operati
> onTrackerImpl.java:88)
>         at
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(Pe
> rThreadOperationTracker.java:87)
>         at
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.ja
> va:1124)
>         at
> org.apache.tapestry5.internal.structure.ComponentPageElementResources
> Impl.invoke(ComponentPageElementResourcesImpl.java:146)
>         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.trig
> gerContextEvent(ComponentPageElementImpl.java:1053)
>         at
> org.apache.tapestry5.internal.services.ComponentEventRequestHandlerIm
> pl.handle(ComponentEventRequestHandlerImpl.java:81)
>         at
> org.apache.tapestry5.internal.services.ImmediateActionRenderResponseF
> ilter.handle(ImmediateActionRenderResponseFilter.java:42)
>         at $ComponentEventRequestHandler_ae9391b333f0.handle(Unknown
> Source)
>         at
> org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.j
> ava:42)
>         at $ComponentEventRequestHandler_ae9391b333f0.handle(Unknown
> Source)
>         at
> org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.h
> andle(UploadExceptionFilter.java:75)
>         at $ComponentEventRequestHandler_ae9391b333f0.handle(Unknown
> Source)
>         at
> org.apache.tapestry5.services.TapestryModule$41.handle(TapestryModule
> .java:2476)
>         at $ComponentEventRequestHandler_ae9391b333f0.handle(Unknown
> Source)
>         at $ComponentEventRequestHandler_ae9391b3339f.handle(Unknown
> Source)
>         at
> org.apache.tapestry5.internal.services.ComponentRequestHandlerTermina
> tor.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
>         at
> org.apache.tapestry5.services.InitializeActivePageName.handleComponen
> tEvent(InitializeActivePageName.java:39)
>         at
> $ComponentRequestHandler_ae9391b333a1.handleComponentEvent(Unknown So
> urce)
>         at
> xxxxxx.audit.manager.services.PageProtectionFilter.handleComponentEve
> nt(PageProtectionFilter.java:113)
>         at
> $ComponentRequestFilter_ae9391b3339e.handleComponentEvent(Unknown Sou
> rce)
>         at
> $ComponentRequestHandler_ae9391b333a1.handleComponentEvent(Unknown So
> urce)
>         at
> $ComponentRequestHandler_ae9391b33298.handleComponentEvent(Unknown So
> urce)
>         at
> org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispa
> tch(ComponentEventDispatcher.java:46)
>         at $Dispatcher_ae9391b3329a.dispatch(Unknown Source)
>         at $Dispatcher_ae9391b33290.dispatch(Unknown Source)
>         at
> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator
> .service(TapestryModule.java:302)
>         at
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(Req
> uestErrorFilter.java:26)
>         at $RequestHandler_ae9391b33291.service(Unknown Source)
>         at
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule
> .java:902)
>         at $RequestHandler_ae9391b33291.service(Unknown Source)
>         at
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule
> .java:892)
>         at $RequestHandler_ae9391b33291.service(Unknown Source)
>         at
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(Stat
> icFilesFilter.java:90)
>         at $RequestHandler_ae9391b33291.service(Unknown Source)
>         at
> xxxxxx.audit.manager.services.AppModule$1.service(AppModule.java:230)
>
>         at $RequestFilter_ae9391b3328c.service(Unknown Source)
>         at $RequestHandler_ae9391b33291.service(Unknown Source)
>         at $RequestHandler_ae9391b33285.service(Unknown Source)
>         at
> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandle
> rTerminator.service(TapestryModule.java:253)
>         at
> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java
> :53)
>         at $HttpServletRequestHandler_ae9391b33287.service(Unknown Source)
>         at
> org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.ser
> vice(AjaxUploadServletRequestFilter.java:27)
>         at $HttpServletRequestHandler_ae9391b33287.service(Unknown Source)
>         at
> org.apache.tapestry5.upload.internal.services.MultipartServletRequest
> Filter.service(MultipartServletRequestFilter.java:44)
>         at $HttpServletRequestHandler_ae9391b33287.service(Unknown Source)
>         at
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(Ign
> oredPathsFilter.java:62)
>         at $HttpServletRequestFilter_ae9391b33283.service(Unknown Source)
>         at $HttpServletRequestHandler_ae9391b33287.service(Unknown Source)
>         at
> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule
> .java:852)
>         at $HttpServletRequestHandler_ae9391b33287.service(Unknown Source)
>         at $HttpServletRequestHandler_ae9391b33280.service(Unknown Source)
>         at
> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
>
>         at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
> Handler.java:1652)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
> :585)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
> ava:143)
>         at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:577)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
> er.java:223)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
> er.java:1127)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> 515)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
> r.java:185)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
> r.java:1061)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
> ava:141)
>         at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Cont
> extHandlerCollection.java:215)
>         at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColl
> ection.java:110)
>         at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
> .java:97)
>         at org.eclipse.jetty.server.Server.handle(Server.java:499)
>         at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
>         at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.jav
> a:257)
>         at
> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java
> :544)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
> l.java:635)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
> .java:555)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.tapestry5.runtime.ComponentEventException: Page must
> be sp
> ecified before initializing for partial page render. [at
> classpath:xxxxxx/audit/
> manager/pages/ManageUsers.tml, line 38]
>         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.proc
> essEventTriggering(ComponentPageElementImpl.java:1136)
>         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.acce
> ss$3100(ComponentPageElementImpl.java:61)
>         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$
> 5.in
> voke(ComponentPageElementImpl.java:1057)
>         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$
> 5.in
> voke(ComponentPageElementImpl.java:1054)
>         at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(Operati
> onTrackerImpl.java:74)
>         ... 71 more
> Caused by: java.lang.IllegalStateException: Page must be specified before
> initia
> lizing for partial page render.
>         at
> org.apache.tapestry5.internal.services.PageRenderQueueImpl.partialRen
> derInitialized(PageRenderQueueImpl.java:100)
>         at
> org.apache.tapestry5.internal.services.PageRenderQueueImpl.addPartial
> MarkupRendererFilter(PageRenderQueueImpl.java:131)
>         at
> $PageRenderQueue_ae9391b333bf.addPartialMarkupRendererFilter(Unknown
> Source)
>         at
> $PageRenderQueue_ae9391b3339c.addPartialMarkupRendererFilter(Unknown
> Source)
>         at
> org.apache.tapestry5.internal.services.ajax.AjaxResponseRendererImpl.
> addFilter(AjaxResponseRendererImpl.java:96)
>         at
> org.apache.tapestry5.internal.services.ajax.AjaxResponseRendererImpl.
> addRender(AjaxResponseRendererImpl.java:43)
>         at
> org.apache.tapestry5.internal.services.ajax.AjaxResponseRendererImpl.
> addRender(AjaxResponseRendererImpl.java:52)
>         at $AjaxResponseRenderer_ae9391b332c2.addRender(Unknown Source)
>         at
> xxxxxx.audit.manager.components.UsersComponent.onAlphabetFilter(Users
> Component.java:263)
>         at
> xxxxxx.audit.manager.components.UsersComponent.dispatchComponentEvent
> (UsersComponent.java)
>         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.disp
> atchEvent(ComponentPageElementImpl.java:927)
>         at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.proc
> essEventTriggering(ComponentPageElementImpl.java:1112)
>         ... 75 more
> [INFO] AppModule.TimingFilter Request time: 86 ms
>

Reply via email to