[jboss-jira] [JBoss JIRA] (WFLY-12596) Add way for Hibernate bytecode transformer needs to pass classloader into ASM ClassWriter to avoid ClassNotFoundException that caused warnings to be logged

Scott Marlow (Jira) issues at jboss.org
Thu Sep 26 13:23:00 EDT 2019


Scott Marlow created WFLY-12596:
-----------------------------------

             Summary: Add way for Hibernate bytecode transformer needs to pass classloader into ASM ClassWriter to avoid ClassNotFoundException that caused warnings to be logged
                 Key: WFLY-12596
                 URL: https://issues.jboss.org/browse/WFLY-12596
             Project: WildFly
          Issue Type: Bug
          Components: JPA / Hibernate
            Reporter: Scott Marlow
            Assignee: Scott Marlow
             Fix For: 19.0.0.Beta1


Some users have reported seeing warnings like:
{quote}
WARN  [org.jboss.modules.define] (MSC service thread 1-4) Failed to define class BGP in Module "deployment.mine.ear" from Service Module Loader: java.lang.ClassFormatError: Failed to link SuperClassInDifferentEarClassLoader (Module "deployment.mine.ear" from Service Module Loader): Type EntityBean not present
{quote}

Where class SuperClassInDifferentEarClassLoader, is a super class that is contained in a different EAR classloader than the subclass.

The workaround should be passing the classloader to use in to the ASM ClassWriter class, by extending the ClassWriter class and providing an implementation of getClassLoader() method.

{code}
12:56:09,573 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.ClassWriter.getCommonSuperClass(ClassWriter.java:937)
12:56:09,574 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.SymbolTable.addMergedType(SymbolTable.java:1200)
12:56:09,574 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.Frame.merge(Frame.java:1299)
12:56:09,574 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.Frame.merge(Frame.java:1197)
12:56:09,574 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.MethodWriter.computeAllFrames(MethodWriter.java:1607)
12:56:09,574 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1543)
12:56:09,575 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.MethodVisitor.visitMaxs(MethodVisitor.java:762)
12:56:09,575 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.ClassReader.readCode(ClassReader.java:2431)
12:56:09,575 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1283)
12:56:09,575 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.ClassReader.accept(ClassReader.java:688)
12:56:09,575 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.ClassReader.accept(ClassReader.java:400)
12:56:09,575 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.as.hibernate.Hibernate51CompatibilityTransformer.transform(Hibernate51CompatibilityTransformer.java:102)
12:56:09,575 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.as.server.deployment.module.DelegatingClassFileTransformer.transform(DelegatingClassFileTransformer.java:60)
12:56:09,575 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.JLIClassTransformer.transform(JLIClassTransformer.java:55)
12:56:09,576 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:539)
12:56:09,576 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:339)
12:56:09,576 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:126)
12:56:09,576 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.Module.loadModuleClass(Module.java:731)
12:56:09,576 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:247)
12:56:09,576 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
12:56:09,576 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
12:56:09,576 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
12:56:09,577 ERROR [stderr] (MSC service thread 1-4)    at java.lang.ClassLoader.defineClass1(Native Method)
12:56:09,577 ERROR [stderr] (MSC service thread 1-4)    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
12:56:09,577 ERROR [stderr] (MSC service thread 1-4)    at java.lang.ClassLoader.defineClass(ClassLoader.java:839)
12:56:09,577 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:424)
12:56:09,577 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:555)
12:56:09,577 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:339)
12:56:09,577 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:126)
12:56:09,578 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.Module.loadModuleClass(Module.java:731)
12:56:09,578 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:247)
12:56:09,578 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
12:56:09,578 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
12:56:09,578 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
12:56:09,578 ERROR [stderr] (MSC service thread 1-4)    at java.lang.ClassLoader.defineClass1(Native Method)
12:56:09,578 ERROR [stderr] (MSC service thread 1-4)    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
12:56:09,578 ERROR [stderr] (MSC service thread 1-4)    at java.lang.ClassLoader.defineClass(ClassLoader.java:839)
12:56:09,579 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:424)
12:56:09,579 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:555)
12:56:09,579 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:339)
12:56:09,579 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:126)
12:56:09,579 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.Module.loadModuleClass(Module.java:731)
12:56:09,579 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:247)
12:56:09,580 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
12:56:09,580 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
12:56:09,580 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
12:56:09,580 ERROR [stderr] (MSC service thread 1-4)    at java.lang.ClassLoader.defineClass1(Native Method)
12:56:09,580 ERROR [stderr] (MSC service thread 1-4)    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
12:56:09,580 ERROR [stderr] (MSC service thread 1-4)    at java.lang.ClassLoader.defineClass(ClassLoader.java:839)
12:56:09,580 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:424)
12:56:09,580 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:555)
12:56:09,581 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:339)
12:56:09,581 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:126)
12:56:09,581 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.Module.loadModuleClass(Module.java:731)
12:56:09,581 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:247)
12:56:09,581 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
12:56:09,581 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
12:56:09,581 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
12:56:09,582 ERROR [stderr] (MSC service thread 1-4)    at java.lang.Class.forName0(Native Method)
12:56:09,582 ERROR [stderr] (MSC service thread 1-4)    at java.lang.Class.forName(Class.java:348)
12:56:09,582 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.as.ee.utils.ClassLoadingUtils.loadClass(ClassLoadingUtils.java:21)
12:56:09,582 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.as.ee.utils.ClassLoadingUtils.loadClass(ClassLoadingUtils.java:14)
12:56:09,582 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:84)
12:56:09,582 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:76)
12:56:09,582 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:176)
12:56:09,583 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
12:56:09,583 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
12:56:09,583 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
12:56:09,583 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
12:56:09,583 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
12:56:09,583 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
12:56:09,584 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
12:56:09,584 ERROR [stderr] (MSC service thread 1-4)    at java.lang.Thread.run(Thread.java:748)
12:56:09,584 ERROR [stderr] (MSC service thread 1-4) Caused by: java.lang.ClassNotFoundException: SuperClassInDifferentEarClassLoader from [Module "asm.asm" version 7.1 from local module loader @636be97c (finder: local module finder @50a638b5 (roots: /home/smarlow/work/wildfly/dist/target/wildfly-18.0.0.Final-SNAPSHOT/modules,/home/smarlow/work/wildfly/dist/target/wildfly-18.0.0.Final-SNAPSHOT/modules/system/layers/base))]
12:56:09,584 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
12:56:09,584 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
12:56:09,584 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
12:56:09,585 ERROR [stderr] (MSC service thread 1-4)    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
12:56:09,585 ERROR [stderr] (MSC service thread 1-4)    at java.lang.Class.forName0(Native Method)
12:56:09,585 ERROR [stderr] (MSC service thread 1-4)    at java.lang.Class.forName(Class.java:348)
12:56:09,585 ERROR [stderr] (MSC service thread 1-4)    at org.objectweb.asm.ClassWriter.getCommonSuperClass(ClassWriter.java:935)
12:56:09,585 ERROR [stderr] (MSC service thread 1-4)    ... 72 more
{code}



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list