Issues using HotSwap Agent

Hi,

This is maybe not strictly related to Vaadin, but when trying to introduce Hotswap we are getting the following errors.

HOTSWAP AGENT: 11:51:54.894 ERROR (org.hotswap.agent.util.HotswapTransformer) - Error transforming class 'org/springframework/cglib/proxy/Enhancer'.
java.lang.VerifyError: Catch type is not a subclass of Throwable in exception handler 24
Exception Details:
  Location:
    org/hotswap/agent/javassist/CtClassType.makeFieldInitializer(Lorg/hotswap/agent/javassist/bytecode/Bytecode;[Lorg/hotswap/agent/javassist/CtClass;)I @24: astore
  Reason:
    Type 'org/hotswap/agent/javassist/compiler/CompileError' (constant pool 374) is not assignable to 'java/lang/Throwable'
  Bytecode:
    0000000: 033e bb01 5359 2b2a b701 543a 0419 042c
    0000010: 03b6 0175 57a7 000f 3a05 bb01 1a59 1905
    0000020: b701 77bf 2ab4 000d 3a05 1905 c600 4019
    0000030: 05b4 0155 3a06 1906 b601 20b8 009f 9a00
    0000040: 2419 05b4 0156 1906 b601 2219 06b6 0157
    0000050: 2b2c 1904 b601 7836 071d 1507 a200 0615
    0000060: 073e 1905 b401 2b3a 05a7 ffc1 1dac     
  Exception Handler Table:
    bci [13, 21] => handler: 24
  Stackmap Table:
    full_frame(@24,{Object[#66],Object[#304],Object[#150],Integer,Object[#339]},{Object[#374]})
    same_frame(@36)
    append_frame(@42,Object[#297])
    same_frame(@98)
    chop_frame(@108,1)

	at org.hotswap.agent.javassist.ClassPool.makeClass(ClassPool.java:699)
	at org.hotswap.agent.javassist.ClassPool.makeClass(ClassPool.java:677)
	at org.hotswap.agent.annotation.handler.PluginClassFileTransformer.createCtClass(PluginClassFileTransformer.java:135)
	at org.hotswap.agent.annotation.handler.PluginClassFileTransformer.transform(PluginClassFileTransformer.java:203)
	at org.hotswap.agent.annotation.handler.PluginClassFileTransformer.transform(PluginClassFileTransformer.java:112)
	at org.hotswap.agent.util.HotswapTransformer.transform(HotswapTransformer.java:264)
	at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
	at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
	at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:541)
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
	at org.springframework.context.annotation.ConfigurationClassEnhancer.newEnhancer(ConfigurationClassEnhancer.java:131)
	at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:113)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:534)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:311)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:363)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:153)
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:789)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:607)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:335)
	at my.package.WebApplication.main(WebApplication.java:124)

Did anyone experience the same? or has an idea where to look? I’m a bit lost here.

Thanks

Kind regards,
Kristof

Sign in to GitHub · GitHub is probably the best place