Community
Participate
Working Groups
I've ran into something similar to #565254, just that using version 1.9.6 (which is not present as an option in the field above) and Java 11 OpenJ9 (jdk-11.0.8+10_openj9-0.21.0) AspectJ Internal Error: unable to add stackmap attributes. null java.lang.IllegalArgumentException at aj.org.objectweb.asm.ClassReader.readConst(ClassReader.java:3821) at aj.org.objectweb.asm.ClassReader.readCode(ClassReader.java:2392) at aj.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1488) at aj.org.objectweb.asm.ClassReader.accept(ClassReader.java:718) at aj.org.objectweb.asm.ClassReader.accept(ClassReader.java:401) at org.aspectj.weaver.bcel.asm.StackMapAdder.addStackMaps(StackMapAdder.java:45) at org.aspectj.weaver.bcel.LazyClassGen.getJavaClassBytesIncludingReweavable(LazyClassGen.java:764) at org.aspectj.weaver.bcel.BcelWeaver.getClassFilesFor(BcelWeaver.java:1463) at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1425) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1195) at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:551) at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:387) at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:116) at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:51) at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:246) at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188) at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:563) at java.base/java.lang.ClassLoader.defineClassImpl(Native Method) at java.base/java.lang.ClassLoader.defineClassInternal(ClassLoader.java:476) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:437) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:1110) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:898) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:806) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:764) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1078) at java.base/java.lang.Class.forNameImpl(Native Method) at java.base/java.lang.Class.forName(Class.java:412) at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) at java.base/sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:440) at java.base/sun.reflect.annotation.AnnotationParser.parseClassValue(AnnotationParser.java:421) at java.base/sun.reflect.annotation.AnnotationParser.lambda$parseClassArray$0(AnnotationParser.java:719) at java.base/sun.reflect.annotation.AnnotationParser$$Lambda$29/0000000000000000.get(Unknown Source) at java.base/sun.reflect.annotation.AnnotationParser.parseArrayElements(AnnotationParser.java:747) at java.base/sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:718) at java.base/sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:532) at java.base/sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:356) at java.base/sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:287) at java.base/sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:121) at java.base/sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:73) at java.base/java.lang.Class.getAnnotationCache(Class.java:2794) at java.base/java.lang.Class.getAnnotation(Class.java:2442) at java.base/java.lang.Class.isAnnotationPresent(Class.java:2852) at org.hibernate.annotations.common.reflection.java.JavaAnnotationReader.isAnnotationPresent(JavaAnnotationReader.java:33) at org.hibernate.annotations.common.reflection.java.JavaXAnnotatedElement.isAnnotationPresent(JavaXAnnotatedElement.java:43) at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.categorizeAnnotatedClass(AnnotationMetadataSourceProcessorImpl.java:121) at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.<init>(AnnotationMetadataSourceProcessorImpl.java:110) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.<init>(MetadataBuildingProcess.java:155) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:149) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1224) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1255) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:391) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:378) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) The issue is with a JPA entity listener annotated with `org.springframework.beans.factory.annotation.Configurable`, because the JPA entity manager factory is also initialized using the standard JPA bootstrap, so I want it to have its dependencies injected in that case too. @Configurable public class ModelRevisionListener { private String modelRevision; @Inject public void setModelRevision(String modelRevision) { this.modelRevision = modelRevision; } @PrePersist public void prePersist(AuditLogEventEntity entity) { entity.setModelRevision(modelRevision); } }
The weird part is that running the tests from IntelliJ IDEA works fine