Thanks Cezary,

What I found is that making COMBINE_SCRIPTS=false resolves the issue.

        configuration.add(JQuerySymbolConstants.SUPPRESS_PROTOTYPE,
"false");
        configuration.add(JQuerySymbolConstants.JQUERY_ALIAS, "$J");
        configuration.add(SymbolConstants.COMBINE_SCRIPTS, "false");

This will be an acceptable work-around for now, but not ideal.



On Thu, Jun 16, 2016 at 6:54 PM, Cezary Biernacki <cezary...@gmail.com>
wrote:

> 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