Skip to content

StandaloneCoroutine is cancelling. StackOverflowError when running Contest Estimator for guava #1707

Open
@alisevych

Description

@alisevych

Description

StandaloneCoroutine is cancelling. StackOverflowError when running Contest Estimator for guava
method com.google.common.collect.FilteredMultimapValues.size

To Reproduce

  1. Run the 'utbot' project in IntelliJ Idea
  2. Open utbot-junit-contest/src/main/kotlin/org/utbot/contest/ContestEstimator.kt
  3. Change javaHome property to full local path to JDK 8
  4. In fun main change: projectFilter = listOf("guava")
  5. Run fun main - make sure to set JRE in Edit Configurations to JDK 8.
  6. Check logs

Expected behavior

StackOverflowErrors from engine are not supposed to be present.

Actual behavior

The following exception was thrown for method com.google.common.collect.FilteredMultimapValues.size
StandaloneCoroutine is cancelling. StackOverflowError is thrown.

Visual proofs (screenshots, logs, images)

StandaloneCoroutine is cancelling. StackOverflowError is thrown.

17:02:29.638 | INFO  | Started: method com.google.common.collect.FilteredMultimapValues.size
17:02:29.639 | INFO  |  -- Remaining time budget: 61636 ms, #remaining_methods: 5, budget for method: 12327 ms, solver timeout: 1000 ms, budget for symbolic execution: 11127 ms, budget for concrete execution: 1200 ms,  -- 
17:02:40.779 | INFO  | |> Starting concrete execution for remaining state: com.google.common.collect.FilteredMultimapValues.size
17:02:43.171 | INFO  | (X) Cancelling concrete execution: com.google.common.collect.FilteredMultimapValues.size
17:03:07.974 | INFO  | Finished (in 38.331 sec): method com.google.common.collect.FilteredMultimapValues.size :: EXCEPTION :: 
<StatsForMethod> : SUSPICIOUS
	#generatedTC=0
	WITH NO EXCEPTIONS
17:03:07.984 | ERROR | Internal job error
kotlinx.coroutines.JobCancellationException: StandaloneCoroutine is cancelling
Caused by: java.lang.StackOverflowError
	at org.utbot.engine.pc.Z3EvaluatorVisitor.eval(Z3EvaluatorVisitor.kt:55) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:247) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:22) ~[main/:?]
	at org.utbot.engine.pc.UtArraySelectExpression.accept(UtExpression.kt:215) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.eval(Z3EvaluatorVisitor.kt:58) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:247) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:22) ~[main/:?]
	at org.utbot.engine.pc.UtArraySelectExpression.accept(UtExpression.kt:215) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.eval(Z3EvaluatorVisitor.kt:56) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:66) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:22) ~[main/:?]
	at org.utbot.engine.pc.UtArraySelectExpression.accept(UtExpression.kt:215) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.eval(Z3EvaluatorVisitor.kt:58) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:171) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:22) ~[main/:?]
	at org.utbot.engine.pc.UtAddrExpression.accept(UtExpression.kt:513) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.eval(Z3EvaluatorVisitor.kt:58) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:247) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:22) ~[main/:?]
	at org.utbot.engine.pc.UtArraySelectExpression.accept(UtExpression.kt:215) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.eval(Z3EvaluatorVisitor.kt:58) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:247) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:22) ~[main/:?]
	at org.utbot.engine.pc.UtArraySelectExpression.accept(UtExpression.kt:215) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.eval(Z3EvaluatorVisitor.kt:56) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:66) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:22) ~[main/:?]
	at org.utbot.engine.pc.UtArraySelectExpression.accept(UtExpression.kt:215) ~[main/:?]
...
... 
... (same lines 60 times)
	at org.utbot.engine.pc.Z3EvaluatorVisitor.eval(Z3EvaluatorVisitor.kt:58) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:171) ~[main/:?]
	at org.utbot.engine.pc.Z3EvaluatorVisitor.visit(Z3EvaluatorVisitor.kt:22) ~[main/:?]
	at org.utbot.engine.pc.UtAddrExpression.accept(UtExpression.kt:513) ~[main/:?]

Environment

Windows 10 Pro
IntelliJ IDEA 2022.2.4
JDK 8

Metadata

Metadata

Assignees

Labels

comp-contest-estimatorIssue is related to contest estimatorcomp-symbolic-engineIssue is related to the symbolic execution enginectg-bugIssue is a bug

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions