-
Notifications
You must be signed in to change notification settings - Fork 45
Closed
Labels
ctg-bugIssue is a bugIssue is a bugctg-qaIssue is related to QA processIssue is related to QA processstatus-verifiedBug fix is verifiedBug fix is verified
Milestone
Description
Description
Logs of Concrete Executor do not contain Exceptions any more.
To Reproduce
- Enable logs using
~/.utbot/settings.properties
:logConcreteExecutionErrors=true
- Run any test generation which leads to concrete execution failure. For example, Concrete execution fails when Fuzzing tries to initialize Date with String #739.
Or add the following code and generated tests for it:
/**
* Should find a branch that returns true and size of array is greater than 1 (non-trivial).
*/
public static boolean isDiagonal(Collection<Collection<Double>> matrix) {
int cols = matrix.size();
if (cols <= 1) {
return false;
}
int i = 0;
for (Collection<Double> col : matrix) {
if (col.size() != cols) {
return false;
}
int j = 0;
for (Double value : col) {
if (i == j && value == 0.0) return false;
if (i != j && value != 0.0) return false;
j++;
}
i++;
}
return true;
}
- Generated test contains:
///region Errors report for isDiagonal
public void testIsDiagonal_errors() {
// Couldn't generate some tests. List of errors:
//
// 4 occurrences of:
// Concrete execution failed
}
///endregion
- Find logs in temp folder:
~\AppData\Local\Temp\UTBot\utbot-childprocess-errors
- Open it.
Expected behavior
Log should contain some system information and an exception that is translated into broken test in main process.
Actual behavior
Log contains some child process problem (#848), many lines like this one:
Visual proofs (screenshots, logs, images)
Log is the following:
WARNING: package jdk.internal.jtrfs not in java.base
11:50:04.568 | Info | RdCoroutineScope | 1:main @coroutine#1 | RdCoroutineHost overridden
11:50:04.586 | Info | ClientProtocolBuilder | 1:main @coroutine#1 | pid - 14364, port - 50934
11:50:04.587 | Info | ClientProtocolBuilder | 1:main @coroutine#1 | isJvm8 - false, isJvm9Plus - true, isWindows - true
WARNING: Illegal reflective access by com.esotericsoftware.kryo.kryo5.unsafe.UnsafeUtil (file:/C:/Users/lWX1182794/AppData/Roaming/JetBrains/IntelliJIdea2022.2/plugins/utbot-intellij/lib/utbot-instrumentation-2022.11.495..jar) to constructor java.nio.DirectByteBuffer(long,int)
WARNING: Illegal reflective access by com.esotericsoftware.kryo.kryo5.unsafe.UnsafeUtil (file:/C:/Users/lWX1182794/AppData/Roaming/JetBrains/IntelliJIdea2022.2/plugins/utbot-intellij/lib/utbot-instrumentation-2022.11.495..jar) to method sun.nio.ch.DirectBuffer.cleaner()
11:50:04.685 | Info | ChildProcess | 16:Scheduler for Client50934 | setup started
11:50:04.692 | Info | ChildProcess | 16:Scheduler for Client50934 | setup ended
11:50:04.694 | Info | ClientProtocolBuilder | 1:main @coroutine#1 | signalled
11:50:05.097 | Info | DynamicClassTransformer | 16:Scheduler for Client50934 | Transforming: org/utbot/examples/collections/CollectionExample
11:50:05.162 | Info | DynamicClassTransformer | 16:Scheduler for Client50934 | Transforming: org/utbot/examples/collections/CollectionExample$ConcreteList
11:50:05.163 | Info | DynamicClassTransformer | 16:Scheduler for Client50934 | Transforming: org/utbot/examples/collections/CollectionExample$ConcreteMap
11:51:03.003 | Info | ChildProcess | 1:main @coroutine#1 | runBlocking ending
11:51:03.003 | Info | ChildProcess | 1:main | runBlocking ended
11:51:03.004 | Info | Client | 16:Scheduler for Client50934 | ClientSocket: start terminating lifetime
11:51:03.004 | Info | Client | 16:Scheduler for Client50934 | ClientSocket: termination finished
Environment
Windows 10 Pro
IntelliJ IDEA 2022.2.3
Gradle (UTBotJava) project
JDK 11
Additional context
This was already fixed somehow in #870
Metadata
Metadata
Assignees
Labels
ctg-bugIssue is a bugIssue is a bugctg-qaIssue is related to QA processIssue is related to QA processstatus-verifiedBug fix is verifiedBug fix is verified
Type
Projects
Status
Done