Skip to content

Error while transforming: IAE: JSR/RET are not supported with computeFrames option at org.objectweb.asm.Frame.execute in process logs #1655

Open
@tyuldashev

Description

@tyuldashev

Description
Every time I start ContestEstimator on seata project there are IllegalArgumentException exceptions during transformation in the utbot-instrumentedprocess-errors log files.

To Reproduce

Steps to reproduce the behavior:

  1. Open utbot project
  2. Start org.utbot.contest.ContestEstimatorKt#main for seata project: projectFilter = listOf("seata-core-0.5.0")
  3. When it finished open latest log in C:\Users\xxxx\AppData\Local\Temp\UTBot\utbot-instrumentedprocess-errors folder

Expected behavior

There are no errors in the log

Actual behavior

It contains following error:

18:10:47.248 | ERROR | DynamicClassTransformer   | Error while transforming: java.lang.IllegalArgumentException: JSR/RET are not supported with computeFrames option
	at org.objectweb.asm.Frame.execute(Frame.java:1017)
	at org.objectweb.asm.MethodWriter.visitJumpInsn(MethodWriter.java:1145)
	at org.objectweb.asm.MethodVisitor.visitJumpInsn(MethodVisitor.java:478)
	at org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.InstructionVisitorMethodAdapter.visitJumpInsn(InstructionVisitorMethodAdapter.kt:92)
	at org.objectweb.asm.MethodVisitor.visitJumpInsn(MethodVisitor.java:478)
	at org.objectweb.asm.ClassReader.readCode(ClassReader.java:2282)
	at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1514)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:744)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:424)
	at org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter.visitClass(Instrumenter.kt:33)
	at org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter.visitInstructions(Instrumenter.kt:61)
	at org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter.visitInstructions$default(Instrumenter.kt:60)
	at org.utbot.framework.concrete.UtExecutionInstrumentation.transform(UtExecutionInstrumentation.kt:218)
	at org.utbot.instrumentation.agent.DynamicClassTransformer.transform(DynamicClassTransformer.kt:42)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at org.utbot.instrumentation.process.HandlerClassesLoader.loadClass(InstrumentedProcessMain.kt:50)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at org.utbot.common.ReflectionScannerKt.tryLoadClass(ReflectionScanner.kt:89)
	at org.utbot.common.ReflectionScannerKt$scanForClasses$3.invoke(ReflectionScanner.kt:123)
	at org.utbot.common.ReflectionScannerKt$scanForClasses$3.invoke(ReflectionScanner.kt:117)
	at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:210)
	at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:170)
	at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194)
	at kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:307)
	at kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:303)
	at kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:307)
	at kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:303)
	at kotlin.sequences.DistinctIterator.computeNext(Sequences.kt:570)
	at kotlin.collections.AbstractIterator.tryToComputeNext(AbstractIterator.kt:42)
	at kotlin.collections.AbstractIterator.hasNext(AbstractIterator.kt:29)
	at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:787)
	at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:817)
	at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:808)
	at org.utbot.instrumentation.process.InstrumentedProcessMainKt$setup$1.invoke(InstrumentedProcessMain.kt:120)
	at org.utbot.instrumentation.process.InstrumentedProcessMainKt$setup$1.invoke(InstrumentedProcessMain.kt:117)
	at org.utbot.rd.IdleWatchdog$wrapActiveCall$1$1.invoke(ClientProcessUtil.kt:96)
	at org.utbot.rd.IdleWatchdog.wrapActive(ClientProcessUtil.kt:83)
	at org.utbot.rd.IdleWatchdog$wrapActiveCall$1.invoke(ClientProcessUtil.kt:95)
	at com.jetbrains.rd.framework.IRdEndpoint$set$1.invoke(TaskInterfaces.kt:182)
	at com.jetbrains.rd.framework.IRdEndpoint$set$1.invoke(TaskInterfaces.kt:173)
	at com.jetbrains.rd.framework.impl.RdCall.onWireReceived(RdTask.kt:360)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:57)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:12)
	at com.jetbrains.rd.framework.impl.ProtocolContexts.readMessageContextAndInvoke(ProtocolContexts.kt:151)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:56)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:12)
	at com.jetbrains.rd.util.threading.SingleThreadSchedulerBase$queue$1.run(SingleThreadScheduler.kt:41)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)
 | java.lang.Exception
	at org.utbot.rd.loggers.UtRdConsoleLogger.format(UtRdConsoleLogger.kt:18)
	at org.utbot.rd.loggers.UtRdConsoleLogger.log(UtRdConsoleLogger.kt:26)
	at com.jetbrains.rd.util.SwitchLogger.log(Logger.kt:47)
	at org.utbot.instrumentation.agent.DynamicClassTransformer.transform(DynamicClassTransformer.kt:47)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at org.utbot.instrumentation.process.HandlerClassesLoader.loadClass(InstrumentedProcessMain.kt:50)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at org.utbot.common.ReflectionScannerKt.tryLoadClass(ReflectionScanner.kt:89)
	at org.utbot.common.ReflectionScannerKt$scanForClasses$3.invoke(ReflectionScanner.kt:123)
	at org.utbot.common.ReflectionScannerKt$scanForClasses$3.invoke(ReflectionScanner.kt:117)
	at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:210)
	at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:170)
	at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194)
	at kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:307)
	at kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:303)
	at kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:307)
	at kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:303)
	at kotlin.sequences.DistinctIterator.computeNext(Sequences.kt:570)
	at kotlin.collections.AbstractIterator.tryToComputeNext(AbstractIterator.kt:42)
	at kotlin.collections.AbstractIterator.hasNext(AbstractIterator.kt:29)
	at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:787)
	at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:817)
	at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:808)
	at org.utbot.instrumentation.process.InstrumentedProcessMainKt$setup$1.invoke(InstrumentedProcessMain.kt:120)
	at org.utbot.instrumentation.process.InstrumentedProcessMainKt$setup$1.invoke(InstrumentedProcessMain.kt:117)
	at org.utbot.rd.IdleWatchdog$wrapActiveCall$1$1.invoke(ClientProcessUtil.kt:96)
	at org.utbot.rd.IdleWatchdog.wrapActive(ClientProcessUtil.kt:83)
	at org.utbot.rd.IdleWatchdog$wrapActiveCall$1.invoke(ClientProcessUtil.kt:95)
	at com.jetbrains.rd.framework.IRdEndpoint$set$1.invoke(TaskInterfaces.kt:182)
	at com.jetbrains.rd.framework.IRdEndpoint$set$1.invoke(TaskInterfaces.kt:173)
	at com.jetbrains.rd.framework.impl.RdCall.onWireReceived(RdTask.kt:360)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:57)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:12)
	at com.jetbrains.rd.framework.impl.ProtocolContexts.readMessageContextAndInvoke(ProtocolContexts.kt:151)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:56)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:12)
	at com.jetbrains.rd.util.threading.SingleThreadSchedulerBase$queue$1.run(SingleThreadScheduler.kt:41)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)

18:10:47.252 | INFO  | DynamicClassTransformer   | Tr

Metadata

Metadata

Labels

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions