Skip to content

CVC4: update CVC4 to v1.8.1-X to remove buggy finalizers (again)#642

Merged
kfriedberger merged 4 commits intomasterfrom
cvc4-noFinalizers
Apr 9, 2026
Merged

CVC4: update CVC4 to v1.8.1-X to remove buggy finalizers (again)#642
kfriedberger merged 4 commits intomasterfrom
cvc4-noFinalizers

Conversation

@kfriedberger
Copy link
Copy Markdown
Member

@kfriedberger kfriedberger commented Apr 8, 2026

Default CVC4 versions trigger random segmentation faults due to issues with Java finalizers. This PR switches to a custom build that disables them to ensure stability.

This introduces memory leaks for solver-related objects (Terms, Types, SmtEngine, ExprManager). This behavior is consistent with our last 6 years of operation and is deemed an acceptable trade-off for preventing JVM crashes.

Build source: kfriedberger/CVC4@1f9dbdc

PS: If someone wants to play around in Java, we could try to close at least SmtEngine and ExprManager once no longer needed. All objects provide the operation for delete().

@kfriedberger kfriedberger changed the title CVC4: update CVC4 to v1.8.1-8 to remove buggy finalizers (again) CVC4: update CVC4 to v1.8.1-9 to remove buggy finalizers (again) Apr 8, 2026
@kfriedberger kfriedberger changed the title CVC4: update CVC4 to v1.8.1-9 to remove buggy finalizers (again) CVC4: update CVC4 to v1.8.1-X to remove buggy finalizers (again) Apr 8, 2026
@daniel-raffler
Copy link
Copy Markdown
Contributor

Thanks for looking into it! It's already looking a lot better. I think you can just remove the @After in CVC4NativeAPITest to get rid of the remaining crashes:

  @After
  public void freeEnvironment() {
    smtEngine.delete();
    exprMgr.delete();
  }

@kfriedberger kfriedberger merged commit 74f0ec7 into master Apr 9, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants