Unexpected AOP exception; nested exception is java.lang.IllegalStateException: Unable to load cache item

Tito :

A Spring boot app version 2.1.5.RELEASE has been upgraded to version 2.2.5.RELEASE i.e.

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
<!--    <version>2.1.5.RELEASE</version> -->
    </parent>

Also the background java has been ugraded from version 11 to 13 i.e. "

openjdk 11 2018-09-25

openjdk version "13" 2019-09-17

After the bought upgrades i notice that none of my integrational test ( > 60) were working. I am able to compile the jar file out of my project but non of the test are succesefull. They all show the same exception mentioned below. The interesting thing is that the tests used to work befor the change. I have noticed one more exact question on Stackoveflow i.e. java.lang.VerifyError: Stack map does not match the one at exception handle but it is also left without the answer.

The only thing that i was able to find on google about similar exception signature were those two pages (The problem is unfortunatlely i can not read chineese) https://gitmemory.com/issue/eclipse/openj9/5676/489772592 and https://blog.csdn.net/Zhao_yanpeng/article/details/102835149

In the last one the person mention that it is working with openjdk "12.0.1" but i am currenly running version 13 and I still get that exception.

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepositoryImpl' defined in file [Projects/server/target/classes/org/server/Repository/account/user/impl/UserRepositoryImpl.class]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Unexpected AOP exception; nested exception is java.lang.IllegalStateException: Unable to load cache item
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:603)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640)
    ... 121 more
Caused by: org.springframework.aop.framework.AopConfigException: Unexpected AOP exception; nested exception is java.lang.IllegalStateException: Unable to load cache item
    at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:214)
    at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:471)
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:350)
    at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:299)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:431)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595)
    ... 130 more
Caused by: java.lang.IllegalStateException: Unable to load cache item
    at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:79)
    at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34)
    at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:134)
    at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:319)
    at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:569)
    at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:416)
    at org.springframework.aop.framework.ObjenesisCglibAopProxy.createProxyClassAndInstance(ObjenesisCglibAopProxy.java:57)
    at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProxy.java:205)
    ... 137 more
Caused by: java.lang.VerifyError: Stack map does not match the one at exception handler 9
Exception Details:
  Location:
    org/server/Repository/account/user/impl/UserRepositoryImpl$$EnhancerBySpringCGLIB$$f765df37.<init>()V @9: athrow
  Reason:
    Current frame's flags are not assignable to stack map frame's.
  Current Frame:
    bci: @0
    flags: { flagThisUninit }
    locals: { uninitializedThis }
    stack: { 'java/lang/RuntimeException' }
  Stackmap Frame:
    bci: @9
    flags: { }
    locals: { }
    stack: { 'java/lang/Throwable' }
  Bytecode:
    0000000: 2a59 b702 8bb8 0192 b1bf bb01 9c5a 5fb7
    0000010: 019f bf                                
  Exception Handler Table:
    bci [0, 9] => handler: 9
    bci [0, 9] => handler: 9
    bci [0, 9] => handler: 10
  Stackmap Table:
    full_frame(@9,{},{Object[#390]})
    same_locals_1_stack_item_frame(@10,Object[#390])

    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:398)
    at org.springframework.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:571)
    at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:363)
    at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:582)
    at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:110)
    at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:108)
    at org.springframework.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61)
    ... 144 more

I am using Spring tools Suite Version: 4.5.1.RELEASE Build Id: 202001211336 for Development if that is somehow useful and the jar files are runned on Linux 5.3.0-40-generic kernel.

Any ideas or hints how to debug that further are really appreciated.

Update 10.03.2020 : Here is the solution that worked after the Help of Keith and Kriegaex:

I added the artifacts aspectjrt and aspectjweaver with their corresponding versions 1.9.5. Then I upgaded the versions of the artifacts javassist to 3.26.0-GA and cglib-nodep to 3.3.0 and removed the artifact spring-aop. After that all tests are back in business.

Keith W. Campbell :

This seems like https://github.com/eclipse/openj9/issues/5676 which should be fixed in jdk13.

Which specific version of jdk13 are you using (what does 'java -version' say)?

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=195406&siteId=1