Uploaded image for project: 'JBoss Marshalling'
  1. JBoss Marshalling
  2. JBMAR-261

Fix linkage error related to Java records

XMLWordPrintable

      22:18:37,153 ERROR [org.jboss.resteasy.core.providerfactory.DefaultExceptionMapper] (default task-1) RESTEASY002375: Error processing request PUT /test-war-0.0.1-SNAPSHOT/record - test.TestResource.putRecord: java.lang.RuntimeException: WFLYEJB0054: Failed to marshal Jakarta Enterprise Beans parameters
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:620)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:551)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.protocol.remote.RemotingEJBClientInterceptor.handleInvocationResult(RemotingEJBClientInterceptor.java:57)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:622)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:551)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.TransactionPostDiscoveryInterceptor.handleInvocationResult(TransactionPostDiscoveryInterceptor.java:148)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:622)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:551)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.DiscoveryEJBClientInterceptor.handleInvocationResult(DiscoveryEJBClientInterceptor.java:130)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:622)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:551)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.NamingEJBClientInterceptor.handleInvocationResult(NamingEJBClientInterceptor.java:87)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:622)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:551)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.AuthenticationContextEJBClientInterceptor.call(AuthenticationContextEJBClientInterceptor.java:59)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.AuthenticationContextEJBClientInterceptor.handleInvocationResult(AuthenticationContextEJBClientInterceptor.java:52)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:622)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:551)
          at org.jboss.as.ejb3@36.0.0.Final-SNAPSHOT//org.jboss.as.ejb3.security.IdentityEJBClientInterceptor.handleInvocationResult(IdentityEJBClientInterceptor.java:41)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:622)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:551)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.TransactionInterceptor.handleInvocationResult(TransactionInterceptor.java:212)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:622)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.getResult(EJBClientInvocationContext.java:551)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.awaitResponse(EJBClientInvocationContext.java:1003)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:182)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:116)
          at deployment.test-war-0.0.1-SNAPSHOT.war/jdk.proxy19/jdk.proxy19.$Proxy56.greetWithRecord(Unknown Source)
          at deployment.test-war-0.0.1-SNAPSHOT.war//test.TestResource.putRecord(TestResource.java:21)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:568)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:154)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:118)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:560)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:452)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:413)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:415)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:378)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:356)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:70)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:429)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:240)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:229)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:222)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
          at org.jboss.resteasy.resteasy-core@6.2.12.Final//org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
          at jakarta.servlet.api@6.0.0//jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
          at org.wildfly.security.elytron-web.undertow-server@4.1.0.Final//org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.lambda$handleRequest$1(ElytronRunAsHandler.java:68)
          at org.wildfly.security.elytron-base@2.6.2.Final//org.wildfly.security.auth.server.FlexibleIdentityAssociation.runAsFunctionEx(FlexibleIdentityAssociation.java:103)
          at org.wildfly.security.elytron-base@2.6.2.Final//org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:161)
          at org.wildfly.security.elytron-base@2.6.2.Final//org.wildfly.security.auth.server.Scoped.runAs(Scoped.java:73)
          at org.wildfly.security.elytron-web.undertow-server@4.1.0.Final//org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.handleRequest(ElytronRunAsHandler.java:67)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
          at io.undertow.core@2.3.18.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
          at io.undertow.core@2.3.18.Final//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
          at io.undertow.core@2.3.18.Final//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
          at org.wildfly.security.elytron-web.undertow-server-servlet@4.1.0.Final//org.wildfly.elytron.web.undertow.server.servlet.CleanUpHandler.handleRequest(CleanUpHandler.java:38)
          at io.undertow.core@2.3.18.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
          at org.wildfly.extension.undertow@36.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:44)
          at io.undertow.core@2.3.18.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
          at org.wildfly.extension.undertow@36.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:51)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
          at io.undertow.core@2.3.18.Final//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:276)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:132)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
          at org.wildfly.extension.undertow@36.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421)
          at org.wildfly.extension.undertow@36.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421)
          at org.wildfly.extension.undertow@36.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421)
          at org.wildfly.extension.undertow@36.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1421)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:256)
          at io.undertow.servlet@2.3.18.Final//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:101)
          at io.undertow.core@2.3.18.Final//io.undertow.server.Connectors.executeRootHandler(Connectors.java:395)
          at io.undertow.core@2.3.18.Final//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:861)
          at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
          at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
          at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
          at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
          at org.jboss.xnio@3.8.16.Final//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
          at java.base/java.lang.Thread.run(Thread.java:842)
      Caused by: java.lang.IllegalStateException: Cannot invoke record getter message in object RecordGreeting[message=api.Message@592c95c4]
          at org.jboss.marshalling@2.2.2.Final//org.jboss.marshalling.reflect.JDKSpecific.getRecordComponentValue(JDKSpecific.java:72)
          at org.jboss.marshalling@2.2.2.Final//org.jboss.marshalling.reflect.SerializableField.getRecordComponentValue(SerializableField.java:644)
          at org.jboss.marshalling@2.2.2.Final//org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:244)
          at org.jboss.marshalling@2.2.2.Final//org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:132)
          at org.jboss.as.ejb3@36.0.0.Final-SNAPSHOT//org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver.java:382)
          at org.jboss.as.ejb3@36.0.0.Final-SNAPSHOT//org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver.java:364)
          at org.jboss.as.ejb3@36.0.0.Final-SNAPSHOT//org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:105)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:499)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.protocol.remote.RemotingEJBClientInterceptor.handleInvocation(RemotingEJBClientInterceptor.java:52)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:514)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.TransactionPostDiscoveryInterceptor.handleInvocation(TransactionPostDiscoveryInterceptor.java:82)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:514)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.DiscoveryEJBClientInterceptor.handleInvocation(DiscoveryEJBClientInterceptor.java:116)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:514)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.NamingEJBClientInterceptor.handleInvocation(NamingEJBClientInterceptor.java:69)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:514)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.AuthenticationContextEJBClientInterceptor.lambda$handleInvocation$0(AuthenticationContextEJBClientInterceptor.java:45)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.AuthenticationContextEJBClientInterceptor.call(AuthenticationContextEJBClientInterceptor.java:59)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.AuthenticationContextEJBClientInterceptor.handleInvocation(AuthenticationContextEJBClientInterceptor.java:44)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:514)
          at org.jboss.as.ejb3@36.0.0.Final-SNAPSHOT//org.jboss.as.ejb3.security.IdentityEJBClientInterceptor.lambda$handleInvocation$0(IdentityEJBClientInterceptor.java:31)
          at org.wildfly.security.elytron-base@2.6.2.Final//org.wildfly.security.auth.server.SecurityIdentity.runAsFunctionEx(SecurityIdentity.java:421)
          at org.wildfly.security.elytron-base@2.6.2.Final//org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:161)
          at org.wildfly.security.elytron-base@2.6.2.Final//org.wildfly.security.auth.server.Scoped.runAsSupplierEx(Scoped.java:229)
          at org.jboss.as.ejb3@36.0.0.Final-SNAPSHOT//org.jboss.as.ejb3.security.IdentityEJBClientInterceptor.handleInvocation(IdentityEJBClientInterceptor.java:30)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:514)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:205)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:514)
          at org.wildfly.common@1.7.0.Final//org.wildfly.common.context.Contextual.runExConsumer(Contextual.java:203)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBClientInvocationContext.sendRequestInitial(EJBClientInvocationContext.java:341)
          at org.jboss.ejb-client@5.0.8.Final//org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:178)
          ... 69 more
      Caused by: java.lang.IllegalAccessException: no such method: api.RecordGreeting.message()Message/invokeVirtual
          at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:972)
          at java.base/java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1117)
          at java.base/java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:3649)
          at java.base/java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:2680)
          at org.jboss.marshalling@2.2.2.Final//org.jboss.marshalling.reflect.JDKSpecific.getRecordComponentValue(JDKSpecific.java:68)
          ... 99 more
      Caused by: java.lang.LinkageError: loader constraint violation: when resolving method 'api.Message api.RecordGreeting.message()' the class loader 'org.jboss.marshalling@2.2.2.Final' @47542153 of the current class, org/jboss/marshalling/reflect/JDKSpecific, and the class loader 'deployment.test-war-0.0.1-SNAPSHOT.war' @5a131e49 for the method's defining class, api/RecordGreeting, have different Class objects for the type api/Message used in the signature (org.jboss.marshalling.reflect.JDKSpecific is in unnamed module of loader 'org.jboss.marshalling@2.2.2.Final' @47542153, parent loader 'app'; api.RecordGreeting is in unnamed module of loader 'deployment.test-war-0.0.1-SNAPSHOT.war' @5a131e49, parent loader 'app')
          at java.base/java.lang.invoke.MethodHandleNatives.resolve(Native Method)
          at java.base/java.lang.invoke.MemberName$Factory.resolve(MemberName.java:1085)
          at java.base/java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1114)
          ... 102 more
       

              ropalka Richard Opalka
              ropalka Richard Opalka
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: