Closed
Description
Description
ClassNotFoundException is thrown on concrete execution of a method with lambda expression producing an anonymous class inside.
To Reproduce
- Run a project in IntelliJ Idea 2022.1.4 with one of the latest plugin builds from main branch
- Add the following code:
public class A {
public interface Driver {
public int getNumber(int n);
}
public Driver getDriver() {
return n -> 2 * n - 1 ;
}
}
- Use plugin to generate tests for getDriver() method.
- Open the generated test
Expected behavior
Tests are supposed to be generated without errors.
Actual behavior
There is an error test with concrete execution failed.
Visual proofs (screenshots, logs, images)
///region Errors report for getDriver
public void testGetDriver_errors() {
// Couldn't generate some tests. List of errors:
//
// 1 occurrences of:
// Default concrete execution failed
}
///endregion
Concrete execution log - expand for details
16:44:01.974 ERROR| java.lang.ClassNotFoundException: A$$Lambda$15/993989412 at java.net.URLClassLoader.findClass(URLClassLoader.java:387) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at org.utbot.instrumentation.process.HandlerClassesLoader.loadClass(ChildProcess.kt:63) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at org.utbot.framework.plugin.api.util.IdUtilKt.getJClass(IdUtil.kt:100) at org.utbot.framework.concrete.UtAssembleModelConstructorsKt.findUtAssembleModelConstructor(UtAssembleModelConstructors.kt:91) at org.utbot.framework.concrete.UtModelConstructor.tryConstructUtAssembleModel(UtModelConstructor.kt:256) at org.utbot.framework.concrete.UtModelConstructor.constructFromAny(UtModelConstructor.kt:247) at org.utbot.framework.concrete.UtModelConstructor.construct(UtModelConstructor.kt:114) at org.utbot.framework.concrete.UtExecutionInstrumentation$invoke$1$1$concreteExecutionResult$1.invoke(UtExecutionInstrumentation.kt:197) at org.utbot.framework.concrete.UtExecutionInstrumentation$invoke$1$1$concreteExecutionResult$1.invoke(UtExecutionInstrumentation.kt:176) at org.utbot.framework.concrete.UtExecutionInstrumentation.withStaticFields(UtExecutionInstrumentation.kt:313) at org.utbot.framework.concrete.UtExecutionInstrumentation.invoke(UtExecutionInstrumentation.kt:176) at org.utbot.framework.concrete.UtExecutionInstrumentation.invoke(UtExecutionInstrumentation.kt:118) at org.utbot.instrumentation.process.ChildProcessKt$setup$2.invoke(ChildProcess.kt:211) at org.utbot.instrumentation.process.ChildProcessKt$setup$2.invoke(ChildProcess.kt:208) at org.utbot.instrumentation.process.ChildProcessKt$measureExecutionForTermination$2$1$1.invoke(ChildProcess.kt:190) at org.utbot.instrumentation.process.ChildProcessKt$measureExecutionForTermination$1.invokeSuspend(ChildProcess.kt:174) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at org.utbot.instrumentation.process.ChildProcessKt.measureExecutionForTermination(ChildProcess.kt:171) at org.utbot.instrumentation.process.ChildProcessKt.access$measureExecutionForTermination(ChildProcess.kt:1) at org.utbot.instrumentation.process.ChildProcessKt$measureExecutionForTermination$2$1.invokeSuspend(ChildProcess.kt:188) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at org.utbot.instrumentation.process.ChildProcessKt$measureExecutionForTermination$2.invoke(ChildProcess.kt:187) at com.jetbrains.rd.framework.IRdEndpoint$set$1.invoke(TaskInterfaces.kt:182) at com.jetbrains.rd.framework.IRdEndpoint$set$1.invoke(TaskInterfaces.kt:182) 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:56) at com.jetbrains.rd.framework.impl.ProtocolContexts.readMessageContextAndInvoke(ProtocolContexts.kt:148) at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:56) at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:54) at com.jetbrains.rd.util.threading.SingleThreadSchedulerBase.queue$lambda-3(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)Environment
Windows 10 Pro
JDK 8
Metadata
Metadata
Assignees
Type
Projects
Status
Done