Hello!

I'm working on that. If you check the latest 5.8.7 snapshots, you'll see
the problem is already gone. I just need a bit of polishing in the code
here and there to get it to a point it's releasable.

Cheers!

On Tue, Jul 2, 2024 at 4:38 AM Christian Köberl <christian.koeb...@gmail.com>
wrote:

> We are just trying to upgrade one of our biggest and most complex
> application to Java 21/Jakarta EE.
>
> First, I wanted to ask when we will release the Jakarta EE version of
> Tapestry - any plans for this?
>
> Second, we found a real hard to pin bug in the changes to Tapestry 5.8.3 -
> we think it is connected to this commit: TAP5-2742: smarter page cache
> invalidation · apache/tapestry-5@48938d9 (github.com)
> <
> https://github.com/apache/tapestry-5/commit/48938d9a64239df37cbb7e2ad3c39ba196d1345e
> >
>
> When we launch the app with 5.8.3 we get the following error (with 5.8.2
> everything works fine). We cannot reproduce the issue in a non-complex
> scenario. Any ideas?
> (could be similar to the issues mentioned by Chris Poulsen on the user's
> mailing list)
>
> Failure creating embedded component 'infoDialog' of
> myapp.components.pagelayouts.FullContentPageLayout:
> java.lang.ClassNotFoundException: java.lang.Object[] [at
> classpath:myapp/pagelayouts/BasePageLayout.tml, line 93]
> at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.createEmbeddedAssembler(ComponentAssemblerImpl.java:333)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.startComponent(PageLoaderImpl.java:819)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.component(PageLoaderImpl.java:695)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.processTemplateToken(PageLoaderImpl.java:518)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.element(PageLoaderImpl.java:753)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.processTemplateToken(PageLoaderImpl.java:513)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.element(PageLoaderImpl.java:753)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.processTemplateToken(PageLoaderImpl.java:513)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.programAssembler(PageLoaderImpl.java:354)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.access$1100(PageLoaderImpl.java:96)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$4.invoke(PageLoaderImpl.java:326)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$4.invoke(PageLoaderImpl.java:309)
> at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
> at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
> at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.createAssembler(PageLoaderImpl.java:308)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.getAssembler(PageLoaderImpl.java:298)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$12.execute(PageLoaderImpl.java:1017)
> at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.runActions(ComponentAssemblerImpl.java:229)
> at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.performAssembleRootComponent(ComponentAssemblerImpl.java:105)
> at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.access$000(ComponentAssemblerImpl.java:37)
> at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:81)
> at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl$1.invoke(ComponentAssemblerImpl.java:78)
> at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
> at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
> at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292)
> at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.assembleRootComponent(ComponentAssemblerImpl.java:76)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:255)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:248)
> at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
> at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
> at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292)
> at
>
> org.apache.tapestry5.internal.pageload.PageLoaderImpl.loadPage(PageLoaderImpl.java:247)
> at $PageLoader_64f66f20aa35.loadPage(Unknown Source)
> at
>
> org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:199)
> at
>
> org.apache.tapestry5.internal.services.PageSourceImpl.getPage(PageSourceImpl.java:140)
> at $PageSource_64f66f20aa34.getPage(Unknown Source)
> at
>
> org.apache.tapestry5.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:93)
> at $RequestPageCache_64f66f20aa33.get(Unknown Source)
> at $RequestPageCache_64f66f20aa32.get(Unknown Source)
> at
>
> org.apache.tapestry5.internal.services.ComponentSourceImpl.getPage(ComponentSourceImpl.java:83)
> at $ComponentSource_64f66f20aa2e.getPage(Unknown Source)
> at
>
> org.apache.tapestry5.internal.pageload.PagePreloaderImpl$1.run(PagePreloaderImpl.java:81)
> at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:56)
> at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:60)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1286)
> at
>
> org.apache.tapestry5.internal.pageload.PagePreloaderImpl.preloadPages(PagePreloaderImpl.java:76)
> at $PagePreloader_64f66f20aa2d.preloadPages(Unknown Source)
> at
>
> org.apache.tapestry5.modules.PageLoadModule.preloadPages(PageLoadModule.java:86)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at
>
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
>
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at
>
> org.apache.tapestry5.ioc.internal.StartupDefImpl$1.run(StartupDefImpl.java:70)
> at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:56)
> at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:60)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1286)
> at
>
> org.apache.tapestry5.ioc.internal.StartupDefImpl.invoke(StartupDefImpl.java:48)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl$2.run(RegistryImpl.java:262)
> at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.performRegistryStartup(RegistryImpl.java:388)
> at
>
> org.apache.tapestry5.ioc.internal.RegistryWrapper.performRegistryStartup(RegistryWrapper.java:89)
> at org.apache.tapestry5.http.TapestryFilter.init(TapestryFilter.java:121)
> at
>
> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:272)
> at
>
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:253)
> at
>
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:102)
> at
>
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4613)
> at
>
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> at
>
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
> at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1783)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at
>
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
>
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at
>
> org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:293)
> at
>
> java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
> at
>
> java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
> at
>
> org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:460)
> at
>
> org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:408)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at
>
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
>
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at
>
> org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:293)
> at
>
> java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
> at
>
> java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
> at
>
> java.management/com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
> at
>
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
> at
>
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
> at java.base/java.security.AccessController.doPrivileged(Native Method)
> at
>
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1406)
> at
>
> java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at
>
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
>
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at
>
> java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
> at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
> at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
> at java.base/java.security.AccessController.doPrivileged(Native Method)
> at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
> at
>
> java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
> at
>
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
> at
>
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
> at java.base/java.security.AccessController.doPrivileged(Native Method)
> at
>
> java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
> at
>
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at
>
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:829)
> Caused by: org.apache.tapestry5.ioc.internal.OperationException:
> java.lang.ClassNotFoundException: java.lang.Object[]
> at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:196)
> at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:62)
> at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:60)
> at
> org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:1286)
> at
>
> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.transform(ComponentInstantiatorSourceImpl.java:446)
> at
>
> org.apache.tapestry5.internal.plastic.PlasticClassPool.loadAndTransformClass(PlasticClassPool.java:401)
> at
>
> org.apache.tapestry5.internal.plastic.PlasticClassLoader.loadClass(PlasticClassLoader.java:59)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
> at
>
> org.apache.tapestry5.internal.plastic.PlasticClassPool.createTransformation(PlasticClassPool.java:511)
> at
>
> org.apache.tapestry5.internal.plastic.PlasticClassPool.getPlasticClassTransformation(PlasticClassPool.java:492)
> at
>
> org.apache.tapestry5.internal.plastic.PlasticClassPool.loadAndTransformClass(PlasticClassPool.java:399)
> at
>
> org.apache.tapestry5.internal.plastic.PlasticClassLoader.loadClass(PlasticClassLoader.java:59)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
> at
>
> org.apache.tapestry5.internal.plastic.PlasticClassPool.getClassInstantiator(PlasticClassPool.java:667)
> at
>
> org.apache.tapestry5.plastic.PlasticManager.getClassInstantiator(PlasticManager.java:187)
> at
>
> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$2.invoke(ComponentInstantiatorSourceImpl.java:402)
> at
>
> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$2.invoke(ComponentInstantiatorSourceImpl.java:369)
> at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
> at
>
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
> at
>
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1292)
> at
>
> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.createInstantiatorForClass(ComponentInstantiatorSourceImpl.java:367)
> at
>
> java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
> at
>
> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.getInstantiator(ComponentInstantiatorSourceImpl.java:359)
> at $ComponentInstantiatorSource_64f66f20aa23.getInstantiator(Unknown
> Source)
> at
>
> org.apache.tapestry5.internal.pageload.EmbeddedComponentAssemblerImpl.getModel(EmbeddedComponentAssemblerImpl.java:198)
> at
>
> org.apache.tapestry5.internal.pageload.EmbeddedComponentAssemblerImpl.<init>(EmbeddedComponentAssemblerImpl.java:92)
> at
>
> org.apache.tapestry5.internal.pageload.ComponentAssemblerImpl.createEmbeddedAssembler(ComponentAssemblerImpl.java:297)
> ... 110 more
> Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException:
> java.lang.Object[]
> at
>
> org.apache.tapestry5.services.pageload.PageClassLoaderContextManagerImpl.loadClass(PageClassLoaderContextManagerImpl.java:360)
> at
>
> org.apache.tapestry5.services.pageload.PageClassLoaderContextManagerImpl.get(PageClassLoaderContextManagerImpl.java:150)
> at $PageClassLoaderContextManager_64f66f20aa27.get(Unknown Source)
> at
>
> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$PlasticProxyFactoryProxy.getProxyFactory(ComponentInstantiatorSourceImpl.java:808)
> at $PlasticProxyFactory_64f66f20aa77.getProxyFactory(Unknown Source)
> at $PlasticProxyFactory_64f66f20aa2b.getProxyFactory(Unknown Source)
> at
>
> org.apache.tapestry5.internal.services.ComponentClassCacheImpl.lookupClassForType(ComponentClassCacheImpl.java:108)
> at
>
> org.apache.tapestry5.internal.services.ComponentClassCacheImpl.forName(ComponentClassCacheImpl.java:98)
> at
>
> org.apache.tapestry5.internal.services.ComponentClassCacheImpl.defaultValueForType(ComponentClassCacheImpl.java:82)
> at $ComponentClassCache_64f66f20aa6b.defaultValueForType(Unknown Source)
> at
>
> org.apache.tapestry5.internal.transform.PersistWorker.determineDefaultValueFromFieldType(PersistWorker.java:112)
> at
>
> org.apache.tapestry5.internal.transform.PersistWorker.makeFieldPersistent(PersistWorker.java:96)
> at
>
> org.apache.tapestry5.internal.transform.PersistWorker.transform(PersistWorker.java:84)
> at $ComponentClassTransformWorker2_64f66f20aa73.transform(Unknown Source)
> at $ComponentClassTransformWorker2_64f66f20aa26.transform(Unknown Source)
> at
>
> org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$3.run(ComponentInstantiatorSourceImpl.java:496)
> at
>
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:56)
> ... 135 more
> Caused by: java.lang.ClassNotFoundException: java.lang.Object[]
> at java.base/java.lang.ClassLoader.findClass(ClassLoader.java:719)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
> at
>
> org.apache.tapestry5.internal.plastic.PlasticClassLoader.loadClass(PlasticClassLoader.java:77)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
> at
>
> org.apache.tapestry5.services.pageload.PageClassLoaderContextManagerImpl.loadClass(PageClassLoaderContextManagerImpl.java:358)
> ... 151 more
>
> Thx,
> Christian
>


-- 
Thiago H. de Paula Figueiredo

Reply via email to