Closed rbygrave closed 4 years ago
I am getting a similar error in IntelliJ Ultimate 2019.3 I am using the latest ebean enhancement plugin
java.lang.IllegalArgumentException: JSR/RET are not supported with computeFrames option
at io.ebean.enhance.asm.Frame.execute(Frame.java:1017)
at io.ebean.enhance.asm.MethodWriter.visitJumpInsn(MethodWriter.java:1145)
at io.ebean.enhance.asm.MethodVisitor.visitJumpInsn(MethodVisitor.java:477)
at io.ebean.enhance.asm.commons.AdviceAdapter.visitJumpInsn(AdviceAdapter.java:505)
at io.ebean.enhance.asm.ClassReader.readCode(ClassReader.java:2253)
at io.ebean.enhance.asm.ClassReader.readMethod(ClassReader.java:1488)
at io.ebean.enhance.asm.ClassReader.accept(ClassReader.java:718)
at io.ebean.enhance.asm.ClassReader.accept(ClassReader.java:401)
at io.ebean.enhance.Transformer.transactionalEnhancement(Transformer.java:304)
at io.ebean.enhance.Transformer.enhanceEntityAndTransactional(Transformer.java:235)
at io.ebean.enhance.Transformer.transform(Transformer.java:183)
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.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at com.stevesoft.pat.Regex.mkMulti(Regex.java:1126)
at com.stevesoft.pat.Regex.addMulti(Regex.java:1120)
at com.stevesoft.pat.Regex.compile1(Regex.java:1002)
at com.stevesoft.pat.Regex._compile(Regex.java:1079)
at com.stevesoft.pat.Regex._compile(Regex.java:1070)
at com.stevesoft.pat.Regex.compile(Regex.java:480)
at com.stevesoft.pat.Regex.
Thanks @awestwell - I have logged this as https://github.com/ebean-orm/ebean-agent/issues/151 ... should be able to fix by moving the catch for this exception to a higher/broader level.
That is this 130 change fixed this for Transformer.enhanceQueryBean()
but not Transformer.enhanceEntityAndTransactional()
so with 151 we should move the associated catch block to catch both cases.
The underlying issue is that some byte code being read has this invalid state (like the bsh/Interpreter
class)
Hi @awestwell , I have published an update IntelliJ plugin to Jetbrains. It usually takes a couple of days for them to approve and then it should be available. Cheers, Rob.
Just started getting this when running a test via the IDE - I think it's related to intellij update and the shell plugin (the
bsh/Interpreter
class) .The issue is when the querybean enhancement is reading the
bsh/Interpreter
. The fix is to ignore that class as part of enhancement.