Closed
Description
Description
Error while transforming: kotlin.UninitializedPropertyAccessException: lateinit property transformer has not been initialized
is thrown when generating tests for Date.getTime()
To Reproduce
- IntelliJ IDEA with one of the latest UTBot plugin installed.
- Create a project with JDK 8 / 11
- Add the following class:
import java.util.Date;
public class DateExample {
public boolean getTime(Date date) {
return date.getTime() == 100;
}
}
- Use plugin to generate tests - with Symbolic Execution on
- Open the generated test
- Check concrete executor logs
Expected behavior
Tests are supposed to be generated.
Actual behavior
An error test is generated with information about errors in the concrete executor.
Visual proofs (screenshots, logs, images)
There are many exceptions like the following - with org/slf4j/LoggerFactory, org/slf4j/LoggingEvent, org/slf4j/ILoggerFactory, etc.
13:06:00.842 | pid - 14828
13:06:00.844 | isJvm8 - true, isJvm9Plus - false, isWindows - true
13:06:00.877 | kryo created
Transforming: org/slf4j/LoggerFactory
Error while transforming: kotlin.UninitializedPropertyAccessException: lateinit property transformer has not been initialized
at org.utbot.instrumentation.agent.DynamicClassTransformer.getTransformer(DynamicClassTransformer.kt:12)
at org.utbot.instrumentation.agent.DynamicClassTransformer.transform(DynamicClassTransformer.kt:34)
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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at mu.KotlinLogging.logger(KotlinLogging.kt:32)
at org.utbot.rd.UtRdUtilKt.<clinit>(UtRdUtil.kt:14)
at org.utbot.instrumentation.rd.InstrumentationIOKt.obtainClientIO(InstrumentationIO.kt:17)
at org.utbot.instrumentation.process.ChildProcessKt.initiate(ChildProcess.kt:268)
at org.utbot.instrumentation.process.ChildProcessKt.access$initiate(ChildProcess.kt:1)
at org.utbot.instrumentation.process.ChildProcessKt$main$2.invokeSuspend(ChildProcess.kt:150)
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.main(ChildProcess.kt:106)
at org.utbot.instrumentation.process.ChildProcessKt$main$3.invoke(ChildProcess.kt)
at org.utbot.instrumentation.process.ChildProcessKt$main$3.invoke(ChildProcess.kt)
at kotlin.coroutines.intrinsics.IntrinsicsKt__IntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKt__IntrinsicsJvmKt$1.invokeSuspend(IntrinsicsJvm.kt:205)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.coroutines.ContinuationKt.startCoroutine(Continuation.kt:115)
at kotlin.coroutines.jvm.internal.RunSuspendKt.runSuspend(RunSuspend.kt:19)
at org.utbot.instrumentation.process.ChildProcessKt.main(ChildProcess.kt)
Environment
Windows 10 Pro
JDK 8 / 11
Additional context
Same exception is thrown by Concrete executor with the code from #174
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done