Skip to content

Commit 74f0ec7

Browse files
authored
Merge pull request #642 from sosy-lab/cvc4-noFinalizers
CVC4: update CVC4 to v1.8.1-X to remove buggy finalizers (again)
2 parents c03602c + 72ac1f4 commit 74f0ec7

4 files changed

Lines changed: 3 additions & 21 deletions

File tree

build/build-publish-solvers/solver-cvc4.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This file is part of JavaSMT,
55
an API wrapper for a collection of SMT solvers:
66
https://github.com/sosy-lab/java-smt
77
8-
SPDX-FileCopyrightText: 2024 Dirk Beyer <https://www.sosy-lab.org>
8+
SPDX-FileCopyrightText: 2026 Dirk Beyer <https://www.sosy-lab.org>
99
1010
SPDX-License-Identifier: Apache-2.0
1111
-->

lib/ivy.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ SPDX-License-Identifier: Apache-2.0
190190
<dependency org="org.sosy_lab" name="javasmt-solver-z3" rev="4.17.0-1009b13" conf="runtime-z3-x64->solver-z3-x64; runtime-z3-arm64->solver-z3-arm64; contrib->sources,javadoc" />
191191
<dependency org="org.sosy_lab" name="javasmt-solver-opensmt" rev="2.9.2-ge4c80308" conf="runtime-opensmt-x64->solver-opensmt-x64; runtime-opensmt-arm64->solver-opensmt-arm64; contrib->sources,javadoc"/>
192192
<dependency org="org.sosy_lab" name="javasmt-solver-optimathsat" rev="1.7.3-sosy1" conf="runtime-optimathsat->solver-optimathsat" />
193-
<dependency org="org.sosy_lab" name="javasmt-solver-cvc4" rev="1.8.1-g40eac7f05" conf="runtime-cvc4->solver-cvc4; contrib->sources,javadoc" />
193+
<dependency org="org.sosy_lab" name="javasmt-solver-cvc4" rev="1.8.1-11-g1f9dbdca4" conf="runtime-cvc4->solver-cvc4; contrib->sources,javadoc" />
194194
<dependency org="org.sosy_lab" name="javasmt-solver-cvc5" rev="2026-02-26-d22638a" conf="runtime-cvc5-x64->solver-cvc5-x64; runtime-cvc5-arm64->solver-cvc5-arm64"/>
195195
<dependency org="org.sosy_lab" name="javasmt-solver-boolector" rev="3.2.2-g1a89c229" conf="runtime-boolector->solver-boolector" />
196196
<dependency org="org.sosy_lab" name="javasmt-solver-bitwuzla" rev="0.9.0-gd13ef925" conf="runtime-bitwuzla-x64->solver-bitwuzla-x64; runtime-bitwuzla-arm64->solver-bitwuzla-arm64; contrib->sources,javadoc"/>

src/org/sosy_lab/java_smt/solvers/cvc4/CVC4SolverContext.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
import edu.stanford.CVC4.ExprManager;
1414
import edu.stanford.CVC4.SExpr;
1515
import edu.stanford.CVC4.SmtEngine;
16-
import java.util.ArrayList;
17-
import java.util.List;
1816
import java.util.Set;
1917
import java.util.function.Consumer;
2018
import java.util.logging.Level;
@@ -31,10 +29,6 @@
3129

3230
public final class CVC4SolverContext extends AbstractSolverContext {
3331

34-
// Keep a global list of all contexts to prevent the garbge collector from doing its job
35-
// See https://github.com/sosy-lab/java-smt/issues/169
36-
private static List<CVC4SolverContext> contexts = new ArrayList<>();
37-
3832
// creator is final, except after closing, then null.
3933
private CVC4FormulaCreator creator;
4034
private final ShutdownNotifier shutdownNotifier;
@@ -49,10 +43,6 @@ private CVC4SolverContext(
4943
this.creator = creator;
5044
shutdownNotifier = pShutdownNotifier;
5145
randomSeed = pRandomSeed;
52-
53-
synchronized (CVC4SolverContext.class) {
54-
contexts.add(this);
55-
}
5646
}
5747

5848
public static SolverContext create(

src/org/sosy_lab/java_smt/solvers/cvc4/CVC4TheoremProver.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@
3737
class CVC4TheoremProver extends AbstractProverWithAllSat<Void>
3838
implements ProverEnvironment, BasicProverEnvironment<Void> {
3939

40-
// Keep a global list of all provers to prevent the garbge collector from doing its job
41-
// See https://github.com/sosy-lab/java-smt/issues/169
42-
private static List<CVC4TheoremProver> provers = new ArrayList<>();
43-
4440
private final CVC4FormulaCreator creator;
4541
private final int randomSeed;
4642
SmtEngine smtEngine; // final except for SL theory
@@ -68,10 +64,6 @@ class CVC4TheoremProver extends AbstractProverWithAllSat<Void>
6864
BooleanFormulaManager pBmgr) {
6965
super(pOptions, pBmgr, pShutdownNotifier);
7066

71-
synchronized (CVC4TheoremProver.class) {
72-
provers.add(this);
73-
}
74-
7567
creator = pFormulaCreator;
7668
randomSeed = pRandomSeed;
7769
incremental = !enableSL;
@@ -245,7 +237,7 @@ public Optional<List<BooleanFormula>> unsatCoreOverAssumptions(
245237
@Override
246238
public void close() {
247239
if (!closed) {
248-
// Never release a prover
240+
// Never close the context
249241
}
250242
super.close();
251243
}

0 commit comments

Comments
 (0)