Hi, I finally took the plunge and I am migrating from 5.0.5 to 5.0.7. (I also tried 5.0.8-Snapshot with the same issue) I am using Tapestry Hibernate as well, but I don't think it's a problem. After following the instructions on Migrating from 5.0.5 to 5.0.6, I am running into a problem on a page that has many levels of nested components. On some pages with nested components, the application works as expected. The components that are causing failure are extending an abstract base class that exists in a base/ directory.
I am running this with Tomcat. There are a couple of bubble up Tapestry Exceptions before this, but they don't really add to the issue. # org.apache.tapestry.internal.services.TransformationException com/mycompany/myapp/wui/tapestry/components/setup/SelectDatabase transformation InternalClassTransformation[ public com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel extends java.lang.Object implements org.apache.tapestry.runtime.Component, org.apache.tapestry.runtime.RenderCommand add default method: public void postRenderCleanup() <default> add default method: public void setupRender(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2) <default> add default method: public void beginRender(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2) <default> add default method: public void beforeRenderTemplate(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2) <default> add default method: public void afterRenderTemplate(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2) <default> add default method: public void beforeRenderBody(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2) <default> add default method: public void afterRenderBody(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2) <default> add default method: public void afterRender(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2) <default> add default method: public void cleanupRender(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.Event $2) <default> add default method: public boolean handleComponentEvent(org.apache.tapestry.runtime.ComponentEvent $1) <default> add default method: public org.apache.tapestry.ComponentResources getComponentResources() <default> add default method: public void containingPageDidLoad() <default> add default method: public void containingPageDidDetach() <default> add default method: public void containingPageDidAttach() <default> add field: protected final org.apache.tapestry.internal.InternalComponentResources _$resources; replace method: public final org.apache.tapestry.ComponentResources getComponentResources() return _$resources; add field: protected final org.apache.tapestry.services.ApplicationStateManager _$applicationStateManager; add field: protected final java.lang.Class _$setupRP_type; add method: private com.mycompany.myapp.model.reporting.util.ReportPreferences _$read_setupRP() return (com.mycompany.myapp.model.reporting.util.ReportPreferences) _$applicationStateManager.get(_$setupRP_type); replace read setupRP: _$read_setupRP(); add method: private void _$write_setupRP(com.mycompany.myapp.model.reporting.util.ReportPreferences $1) _$applicationStateManager.set(_$setupRP_type, $1); replace write setupRP: _$write_setupRP(); remove field setupRP; add method: private boolean _$read_setupRPExists() return _$applicationStateManager.exists(_$setupRP_type); replace read setupRPExists: _$read_setupRPExists(); add method: private void _$write_setupRPExists(boolean $1) throw new java.lang.RuntimeException("Field com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel.setupRPExists is read-only."); replace write setupRPExists: _$write_setupRPExists(); remove field setupRPExists; add field: protected final java.lang.Class _$user_type; add method: private com.mycompany.myapp.accounts.util.security.CustomUser _$read_user() return (com.mycompany.myapp.accounts.util.security.CustomUser) _$applicationStateManager.get(_$user_type); replace read user: _$read_user(); add method: private void _$write_user(com.mycompany.myapp.accounts.util.security.CustomUser $1) _$applicationStateManager.set(_$user_type, $1); replace write user: _$write_user(); remove field user; add method: private boolean _$read_userExists() return _$applicationStateManager.exists(_$user_type); replace read userExists: _$read_userExists(); add method: private void _$write_userExists(boolean $1) throw new java.lang.RuntimeException("Field com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel.userExists is read-only."); replace write userExists: _$write_userExists(); remove field userExists; add method: private void _$write_hsm(org.apache.tapestry.hibernate.HibernateSessionManager $1) throw new java.lang.RuntimeException("Field com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel.hsm is read-only."); replace write hsm: _$write_hsm(); add method: private void _$write_selectdatabase(com.mycompany.myapp.wui.tapestry.components.setup.SelectDatabase $1) throw new java.lang.RuntimeException("Field com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel.selectdatabase is read-only."); replace write selectdatabase: _$write_selectdatabase(); extend method: public void containingPageDidLoad() selectdatabase = (com.mycompany.myapp.wui.tapestry.components.setup.SelectDatabase) _$resources.getEmbeddedComponent("selectdatabase"); add method: private void _$write_selectinstallation(com.mycompany.myapp.wui.tapestry.components.setup.SelectInstallation $1) throw new java.lang.RuntimeException("Field com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel.selectinstallation is read-only."); replace write selectinstallation: _$write_selectinstallation(); extend method: public void containingPageDidLoad() selectinstallation = (com.mycompany.myapp.wui.tapestry.components.setup.SelectInstallation) _$resources.getEmbeddedComponent("selectinstallation"); add method: private void _$write_selectsite(com.mycompany.myapp.wui.tapestry.components.setup.SelectSite $1) throw new java.lang.RuntimeException("Field com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel.selectsite is read-only."); replace write selectsite: _$write_selectsite(); extend method: public void containingPageDidLoad() selectsite = (com.mycompany.myapp.wui.tapestry.components.setup.SelectSite) _$resources.getEmbeddedComponent("selectsite"); add method: private void _$write_selectsiteininstallation(com.mycompany.myapp.wui.tapestry.components.setup.SelectSiteInInstallation $1) throw new java.lang.RuntimeException("Field com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel.selectsiteininstallation is read-only."); replace write selectsiteininstallation: _$write_selectsiteininstallation(); extend method: public void containingPageDidLoad() selectsiteininstallation = (com.mycompany.myapp.wui.tapestry.components.setup.SelectSiteInInstallation) _$resources.getEmbeddedComponent("selectsiteininstallation"); add method: private void _$write_selecttype(com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevelType $1) throw new java.lang.RuntimeException("Field com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel.selecttype is read-only."); replace write selecttype: _$write_selecttype(); extend method: public void containingPageDidLoad() selecttype = (com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevelType) _$resources.getEmbeddedComponent("selecttype"); extend method: public boolean handleComponentEvent(org.apache.tapestry.runtime.ComponentEvent $1) { if ($1.isAborted()) return $_; String methodDescription = null; try { if ($1.matches("Activate", "", 0)) { $_ = true; methodDescription = "com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel.onActivate() (at SelectSessionLevel.java:84)"; $1.setSource(this, methodDescription); if ($1.storeResult(($w) onActivate())) return true; } } catch (Exception ex) { throw new org.apache.tapestry.runtime.ComponentEventException(ex.getMessage(), methodDescription, ex); } } add default method: public void render(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.RenderQueue $2) <default> replace method: public void render(org.apache.tapestry.MarkupWriter $1, org.apache.tapestry.runtime.RenderQueue $2) _$resources.queueRender($2); add field: private com.mycompany.myapp.model.domain.interfaces.IDisplayable _$objectClass_default; extend method: public void containingPageDidLoad() _$objectClass_default = objectClass; extend method: public void containingPageDidDetach() objectClass = _$objectClass_default; Checking field read hsm in method getHsm(): field not transformed Checking field read setupRP in method getSetupRP(): replacing with $_ = $0._$read_setupRP(); Checking field read userExists in method getStandardUser(): replacing with $_ = $0._$read_userExists(); Checking field read user in method getStandardUser(): replacing with $_ = $0._$read_user(); Checking field read STANDARD in method getStandardUser(): field not transformed Checking field read userExists in method onActivate(): replacing with $_ = $0._$read_userExists(); Checking field read user in method onActivate(): replacing with $_ = $0._$read_user(); Checking field read STANDARD in method onActivate(): field not transformed Checking field read user in method getUser(): replacing with $_ = $0._$read_user(); Checking field read setupRPExists in method isSetupRPExists(): replacing with $_ = $0._$read_setupRPExists(); Checking field read userExists in method isUserExists(): replacing with $_ = $0._$read_userExists(); Checking field write hsm in method setHsm(): replacing with $0._$write_hsm($1); Checking field write user in method setUser(): replacing with $0._$write_user($1); Checking field write userExists in method setUserExists(): replacing with $0._$write_userExists($1); Checking field read objectClass in method getObjectClass(): field not transformed Checking field write objectClass in method setObjectClass(): field not transformed Checking field read selecttype in method checkValidity(): field not transformed Checking field read logger in method checkValidity(): field not transformed Checking field read selecttype in method getSelecttype(): field not transformed Checking field read selecttype in method getType(): field not transformed Checking field read logger in method getType(): field not transformed Checking field read Database in method getType(): field not transformed Checking field read selectdatabase in method getType(): field not transformed Checking field read Installation in method getType(): field not transformed Checking field read selectinstallation in method getType(): field not transformed Checking field read Site in method getType(): field not transformed Checking field read selectsite in method getType(): field not transformed Checking field read Site_In_Installation in method getType(): field not transformed Checking field read selectsiteininstallation in method getType(): field not transformed Checking field read logger in method getType(): field not transformed Checking field read _$resources in method containingPageDidLoad(): added method Checking field write selectdatabase in method containingPageDidLoad(): added method Checking field read _$resources in method containingPageDidLoad(): added method Checking field write selectinstallation in method containingPageDidLoad(): added method Checking field read _$resources in method containingPageDidLoad(): added method Checking field write selectsite in method containingPageDidLoad(): added method Checking field read _$resources in method containingPageDidLoad(): added method Checking field write selectsiteininstallation in method containingPageDidLoad(): added method Checking field read _$resources in method containingPageDidLoad(): added method Checking field write selecttype in method containingPageDidLoad(): added method Checking field read objectClass in method containingPageDidLoad(): added method Checking field write _$objectClass_default in method containingPageDidLoad(): added method Checking field read _$objectClass_default in method containingPageDidDetach(): added method Checking field write objectClass in method containingPageDidDetach(): added method Checking field read _$resources in method getComponentResources(): added method Checking field read _$applicationStateManager in method _$read_setupRP(): added method Checking field read _$setupRP_type in method _$read_setupRP(): added method Checking field read _$applicationStateManager in method _$write_setupRP(): added method Checking field read _$setupRP_type in method _$write_setupRP(): added method Checking field read _$applicationStateManager in method _$read_setupRPExists(): added method Checking field read _$setupRP_type in method _$read_setupRPExists(): added method Checking field read _$applicationStateManager in method _$read_user(): added method Checking field read _$user_type in method _$read_user(): added method Checking field read _$applicationStateManager in method _$write_user(): added method Checking field read _$user_type in method _$write_user(): added method Checking field read _$applicationStateManager in method _$read_userExists(): added method Checking field read _$user_type in method _$read_userExists(): added method Checking field read _$resources in method render(): added method convert default constructor: initializer(); add constructor: com.mycompany.myapp.wui.tapestry.components.setup.SelectSessionLevel(org.apache.tapestry.internal.InternalComponentResources $1, org.apache.tapestry.services.ApplicationStateManager $2, java.lang.Class $3, java.lang.Class $4, org.apache.tapestry.hibernate.HibernateSessionManager $5) { _$resources = $1; _$applicationStateManager = $2; _$setupRP_type = $3; _$user_type = $4; hsm = $5; initializer(); } ] # java.lang.NoClassDefFoundError com/mycompany/myapp/wui/tapestry/components/setup/SelectDatabase Stack trace * java.lang.Class.getDeclaredConstructors0(Native Method) * java.lang.Class.privateGetDeclaredConstructors(Class.java:2328) * java.lang.Class.getConstructors(Class.java:1446) * org.apache.tapestry.internal.services.ReflectiveInstantiator.findConstructor(ReflectiveInstantiator.java:61) * org.apache.tapestry.internal.services.ReflectiveInstantiator.<init>(ReflectiveInstantiator.java:49) * org.apache.tapestry.internal.services.InternalClassTransformationImpl.createInstantiator(InternalClassTransformationImpl.java:1209) * org.apache.tapestry.internal.services.ComponentClassTransformerImpl.createInstantiator(ComponentClassTransformerImpl.java:166) * org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.findInstantiator(ComponentInstantiatorSourceImpl.java:224) * org.apache.tapestry.internal.services.PageElementFactoryImpl.newComponentElement(PageElementFactoryImpl.java:257) * org.apache.tapestry.internal.services.PageLoaderProcessor.startComponent(PageLoaderProcessor.java:562) * org.apache.tapestry.internal.services.PageLoaderProcessor.loadTemplateForComponent(PageLoaderProcessor.java:443) * org.apache.tapestry.internal.services.PageLoaderProcessor.workComponentQueue(PageLoaderProcessor.java:655) * org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageLoaderProcessor.java:341) * org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoaderImpl.java:60) * org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:69) * org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:43) * org.apache.tapestry.internal.services.LinkFactoryImpl.createPageLink(LinkFactoryImpl.java:223) * org.apache.tapestry.internal.structure.PageImpl.createPageLink(PageImpl.java:161) * org.apache.tapestry.internal.structure.ComponentPageElementImpl.createPageLink(ComponentPageElementImpl.java:763) * org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.createPageLink(InternalComponentResourcesImpl.java:116) * org.apache.tapestry.corelib.components.PageLink.beginRender(PageLink.java:78) * org.apache.tapestry.corelib.components.PageLink.beginRender(PageLink.java) * org.apache.tapestry.internal.structure.ComponentPageElementImpl$10$1.run(ComponentPageElementImpl.java:330) * org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:891) * org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100(ComponentPageElementImpl.java:56) * org.apache.tapestry.internal.structure.ComponentPageElementImpl$10.render(ComponentPageElementImpl.java:334) * org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:58) * org.apache.tapestry.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:58) * org.apache.tapestry.internal.services.MarkupRendererPipelineImpl$1.renderMarkup(MarkupRendererPipelineImpl.java:39) * org.apache.tapestry.services.TapestryModule$20.renderMarkup(TapestryModule.java:1349) * org.apache.tapestry.services.TapestryModule$19.renderMarkup(TapestryModule.java:1330) * org.apache.tapestry.services.TapestryModule$18.renderMarkup(TapestryModule.java:1312) * org.apache.tapestry.services.TapestryModule$17.renderMarkup(TapestryModule.java:1294) * org.apache.tapestry.internal.services.MarkupRendererPipelineImpl.renderMarkup(MarkupRendererPipelineImpl.java:48) * org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:55) * org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:56) * org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:87) * org.apache.tapestry.internal.services.RootPathDispatcher.dispatch(RootPathDispatcher.java:52) * org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:905) * com.mycompany.myapp.wui.tapestry.services.AppModule$1.service(AppModule.java:85) * org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43) * org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:487) * org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79) * org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:94) * org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:85) * org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77) * org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:107) * org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.java:888) * org.apache.tapestry.upload.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:42) * org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164) * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) * org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) * org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) * org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) * org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) * org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) * org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) * org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) * org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) * org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:229) * org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) * org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106) * org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) * org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:286) * org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) * org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) * org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) * org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) * org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) * org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) * org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) * org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) * java.lang.Thread.run(Thread.java:595) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]