Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-20237

ClientInterceptorReturnData* tests fail on Semeru 21

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • EJB, Remoting
    • None
    • ---
    • ---

      The nightly CI jobs include jobs that test using IBM Semeru 21, and on those jobs a set of 5 ClientInterceptorReturnData tests are failing every run:

      https://ci.wildfly.org/viewType.html?buildTypeId=WF_MainNightlyJobs_StandardLinuxS390SemeruJdk21

      https://ci.wildfly.org/viewType.html?buildTypeId=WF_MainNightlyJobs_StandardLinuxSemeru21

      An example:

      https://ci.wildfly.org/viewLog.html?buildId=479709&tab=buildResultsDiv&buildTypeId=WF_MainNightlyJobs_StandardLinuxSemeru21

      The failures involve some variant of this kind of thing:

      java.lang.UnsupportedOperationException: can't get field offset on a hidden class: private final org.jboss.as.test.integration.ejb.remote.contextdata.UseCaseValidator$4 org.jboss.as.test.integration.ejb.remote.contextdata.UseCaseValidator$4$$Lambda/0x000000001c042f08.arg$1
      	at jdk.unsupported/sun.misc.Unsafe.objectFieldOffset(Unsafe.java:652)
      	at org.jboss.marshalling.reflect.SerializableField.<init>(SerializableField.java:59)
      	at org.jboss.marshalling.reflect.SerializableClass.getSerializableFields(SerializableClass.java:148)
      	at org.jboss.marshalling.reflect.SerializableClass.<init>(SerializableClass.java:100)
      	at org.jboss.marshalling.reflect.SerializableClassRegistry$1.computeValue(SerializableClassRegistry.java:62)
      	at org.jboss.marshalling.reflect.SerializableClassRegistry$1.computeValue(SerializableClassRegistry.java:59)
      	at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:237)
      	at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:219)
      	at java.base/java.lang.ClassValue.get(ClassValue.java:125)
      	at org.jboss.marshalling.reflect.SerializableClassRegistry.lookup(SerializableClassRegistry.java:83)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:180)
      	at org.jboss.marshalling.river.BlockMarshaller.doWriteObject(BlockMarshaller.java:65)
      	at org.jboss.marshalling.river.BlockMarshaller.writeObject(BlockMarshaller.java:56)
      	at org.jboss.marshalling.MarshallerObjectOutputStream.writeObjectOverride(MarshallerObjectOutputStream.java:50)
      	at org.jboss.marshalling.river.RiverObjectOutputStream.writeObjectOverride(RiverObjectOutputStream.java:179)
      	at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
      	at java.base/java.util.HashMap.internalWriteEntries(HashMap.java:1952)
      	at java.base/java.util.HashMap.writeObject(HashMap.java:1505)
      	at org.jboss.marshalling.reflect.SerMethods.callWriteObject(SerMethods.java:69)
      	at org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:231)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1128)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:271)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1182)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1140)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1119)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:271)
      	at org.jboss.marshalling.river.RiverMarshaller.writeKnownObject(RiverMarshaller.java:735)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:217)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1182)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1140)
      	at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:271)
      	at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58)
      	at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:116)
      	at org.wildfly.httpclient.ejb.HttpEJBReceiver.marshalEJBRequest(HttpEJBReceiver.java:401)
      	at org.wildfly.httpclient.ejb.HttpEJBReceiver.lambda$processInvocation$1(HttpEJBReceiver.java:197)
      	at org.wildfly.httpclient.common.HttpTargetContext$2.lambda$completed$0(HttpTargetContext.java:351)
      	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
      	at java.base/java.lang.Thread.run(Thread.java:1595)
      Caused by: an exception which occurred:
      	in field org.jboss.as.test.integration.ejb.remote.contextdata.UseCaseValidator$UseCase.phaseContextDataConsumer
      	in object org.jboss.as.test.integration.ejb.remote.contextdata.UseCaseValidator$4@460cd4f2
      	in field org.jboss.as.test.integration.ejb.remote.contextdata.UseCaseValidator.useCases
      	in object org.jboss.as.test.integration.ejb.remote.contextdata.UseCaseValidator@41c7c6d4
      	in object org.jboss.as.test.integration.ejb.remote.contextdata.UseCaseValidator@41c7c6d4
      

      It's possible this is a Semeru bug, as I don't see what I understand to be hidden classes in the relevant code. AIUI VM implementors may be moving some anonymous classes toward using hidden classes, so that may be what we are seeing. Or perhaps somewhere in the JBoss Marshalling code there's a hidden class.

      The initial focus here should not be on just getting the tests to pass; e.g. by refactoring to get rid of anonymous classes. The focus should be on understanding what is happening here and spreading knowledge in case this is an early symptom of something we may see elsewhere. Only when that is done should the focus shift to getting the tests to pass.

      If it's a Semeru bug please track it so you can work with Ken Wills to get ci.wildfly.org updated to use the Semeru 21 release that fixes the bug.

      ropalka FYI.

              ropalka Richard Opalka
              bstansbe@redhat.com Brian Stansberry
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: