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

Reply via email to