Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Apron compare function usage #1506

Merged
merged 6 commits into from
Jul 8, 2024
Merged

Fix Apron compare function usage #1506

merged 6 commits into from
Jul 8, 2024

Conversation

sim642
Copy link
Member

@sim642 sim642 commented Jun 8, 2024

antoinemine/apron#99 is mitigated by antoinemine/apron#108, which should be released as Apron v0.9.15 soon.

This PR aims to fix compatibility with this breaking change. It would be possible for us to implement a proper GobApron.Environment.compare, but I don't know if we really need it.
I'm more worried about our comparison of Apron.Abstract1.t-s via Stdlib.compare, which won't work now. It doesn't seem to break our tests, but it might still be possible in some case we end up needing to call such comparison and crashing (which will explicitly break instead of being implicitly wrong sometimes).

TODO

  • Remove Apron from lock file.

@sim642 sim642 added type-safety Type-safety improvements setup Dependencies, CI, releasing dependencies Pull requests that update a dependency file relational Relational analyses (Apron, affeq, lin2var) labels Jun 8, 2024
@sim642 sim642 added this to the v2.4.0 milestone Jun 8, 2024
@sim642 sim642 self-assigned this Jun 8, 2024
@sim642
Copy link
Member Author

sim642 commented Jul 5, 2024

The new Apron is now published on opam (ocaml/opam-repository#26174) and all versions of Goblint are incompatible (ocaml/opam-repository#26199), so this fix is crucial for release.

This is probably easiest done after #1522.

@sim642 sim642 marked this pull request as ready for review July 5, 2024 10:10
@sim642
Copy link
Member Author

sim642 commented Jul 8, 2024

Since the release on opam-repository, all our nightly unlocked CI builds fail spectacularly, so I'll just merge these fixes before #1522.

A 1 minute sv-benchmarks run didn't reveal any new EXCEPTION (Failure) results, so we haven't been relying on the old problematic compare functions in a significant manner.

@sim642 sim642 merged commit 8f0301f into master Jul 8, 2024
22 checks passed
@sim642 sim642 deleted the apron-compare-fix branch July 8, 2024 08:54
@sim642 sim642 mentioned this pull request Jul 8, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file relational Relational analyses (Apron, affeq, lin2var) setup Dependencies, CI, releasing type-safety Type-safety improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant