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 > > >