3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-08 10:25:18 +00:00
Commit graph

16906 commits

Author SHA1 Message Date
Anthony Romano 7ae1a338a7
parallel-tactic: fix deadlocking race between shutdown and get_task (#6152)
Deadlock/Race is as follows:
  1. get_task() reads m_shutdown == false and enters loop body
  2. shutdown() is called; sets m_shutdown = true
  3. shutdown() calls m_cond.notify_all()
  4. get_task() finds no task in try_get_task()
  5. get_task() calls m_cond.wait(), missing the notification
  6. solve() waits forever on join()

Provided patch wraps (2) and (3) with the condition variable lock so that
step (5) cannot miss the notification.

Co-authored-by: Anthony Romano <anthony@forallsecure.com>
2022-07-11 09:26:11 -07:00
Stefan Muenzel 99212a2726
Use int64 for ocaml api functions that require it (#6150)
* Use int64 for ocaml api functions that require it

Signed-off-by: Stefan Muenzel <source@s.muenzel.net>

* Use elif

Signed-off-by: Stefan Muenzel <source@s.muenzel.net>
2022-07-11 09:25:05 -07:00
Clemens Eisenhofer 1f2346073a
Fixed missing assignment for binary clauses (#6148)
* Added function to select the next variable to split on

* Fixed typo

* Small fixes

* uint -> int

* Fixed missing assignment for binary clauses
2022-07-11 09:24:03 -07:00
Nikolaj Bjorner 9dd529bb12 missing initialization of List for cmd interpreter 2022-07-11 08:17:38 -07:00
Nikolaj Bjorner b68af0c1e5 working on reconciling perf for arithmetic solvers
this update integrates inferences to smt.arith.solver=6 related to grobner basis computation and handling of div/mod axioms to reconcile performance with smt.arith.solver=2.

The default of smt.arth.nl.grobner_subs_fixed is changed to 1 to make comparison with solver=2 more direct.

The selection of cluster equalities for solver=6 was reconciled with how it is done for solver=2.
2022-07-11 07:38:51 -07:00
Nikolaj Bjorner 9d9414c111 inc version number 2022-07-06 14:00:40 -07:00
Nikolaj Bjorner 0c42d3b079 small format update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 11:41:48 -07:00
Nikolaj Bjorner 6ed071b444 update release notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 11:38:32 -07:00
Kevin Gibbons 0d4169533a
fix js distributable (#6139) 2022-07-06 10:59:01 -07:00
Nikolaj Bjorner cc841caf08 increment minor version for dev branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 10:15:34 -07:00
Nikolaj Bjorner 2ae84f88df Update release.yml for Azure Pipelines 2022-07-06 09:10:16 -07:00
Nikolaj Bjorner 15391fc9b9 remove musll from release.yml
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 07:37:51 -07:00
Nikolaj Bjorner f1b7ab3d3f x64
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 01:53:26 -07:00
Nikolaj Bjorner 7f2ebf84a2 Remove package sub-directory from release script 2022-07-06 01:09:11 -07:00
Nikolaj Bjorner 580ed31afd fix types and incompleteness for feature #6104 2022-07-06 01:08:54 -07:00
Nikolaj Bjorner bda86726af macarm
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 20:02:27 -07:00
Nikolaj Bjorner 4f62336fa8 download arm64
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 18:23:32 -07:00
Nikolaj Bjorner 593d5be202 bind variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 17:21:59 -07:00
Nikolaj Bjorner 8b35b7becc bind variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 17:20:21 -07:00
Nikolaj Bjorner 594b5daa9d remove download of mullinux
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 17:18:04 -07:00
Nikolaj Bjorner 3ce6663536 update release script
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 17:17:07 -07:00
Nikolaj Bjorner 73f35e067c Update release.yml for Azure Pipelines
pre-release
2022-07-05 17:13:55 -07:00
Nikolaj Bjorner 85c3d874dc neatify
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 16:57:41 -07:00
Nikolaj Bjorner f23dc894b4 add disabled pass to detect upper bound range constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 16:51:05 -07:00
Nikolaj Bjorner a374e2c575 ignore qid if they are both numerical - come from the parser
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 15:47:48 -07:00
Nikolaj Bjorner 6e53621146 #6112
add q->get_qid() to comparison of quantifiers
2022-07-05 13:17:04 -07:00
Nikolaj Bjorner a251595467 Merge branch 'master' of https://github.com/z3prover/z3 2022-07-05 12:48:33 -07:00
Nikolaj Bjorner d7472f0726 fix #6124
expression pointers were changed within a function, but not pinned. So the pointers got stale. To enforce their life-time within the function body (for use in logging) pin the expressions.
2022-07-05 12:48:21 -07:00
Kevin Gibbons db09d38134
bump emscripten version used to build wasm artifact (#6136) 2022-07-05 12:39:43 -07:00
Nikolaj Bjorner f82ca197d2 #6104 also in the new core 2022-07-05 12:38:07 -07:00
Nikolaj Bjorner de41cfd277 fix #6104
add equality reasoning to bit-vector solver to instantiate int2bv(bv2int(x)) = x identity on demand.
2022-07-05 12:23:24 -07:00
Nikolaj Bjorner 282c786f1c setting version to release
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 11:51:12 -07:00
Nikolaj Bjorner 2a5d23b301 rename URL
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 11:49:52 -07:00
Nikolaj Bjorner cd416ee9a9 add note about opt.incremental
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 08:20:46 -07:00
Nikolaj Bjorner ac822acb0f add parameter incremental to ensure preprocessing does not interefere with adding constraints during search
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 08:10:20 -07:00
Nikolaj Bjorner 2cf0c8173b
Update RELEASE_NOTES.md 2022-07-04 17:16:56 -07:00
Nikolaj Bjorner 2990b69299
Update RELEASE_NOTES.md 2022-07-04 17:16:12 -07:00
Nikolaj Bjorner 605a3128d9 make release notes markdown
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-04 17:06:21 -07:00
Nikolaj Bjorner 71fc83c051 Move out equality use out of the loop 2022-07-04 12:42:39 -07:00
Nikolaj Bjorner 0353fc38ff fix #6127 again
this time adding inheritance to the recfun plugin so it properly contains the recursive definitions from the source.
2022-07-04 12:42:11 -07:00
Nikolaj Bjorner 6ed2b444b5 probably won't fix #6127
recfun decl plugin does not get copied so recursive functions are lost when cloning.
Fix is risky and use case is limited to threads + recursive definitions
2022-07-03 18:10:52 -07:00
Nikolaj Bjorner ac8aaed1d4 fix #6126 2022-07-03 17:47:05 -07:00
Nikolaj Bjorner d61d0f6a66 prepare release notes 2022-07-03 17:00:40 -07:00
Nikolaj Bjorner 02a92fb9e9 revert to use GCHandle for UserPropagator
avoids using a global static array
2022-07-03 17:00:40 -07:00
Nikolaj Bjorner 1e8f9078e3 fix unsoundness in explanation handling for nested datatypes and sequences 2022-07-03 17:00:39 -07:00
Nikolaj Bjorner e6e0c74324
Update update_api.py
fix typo
2022-07-02 13:17:14 -07:00
Nikolaj Bjorner bb966776b8
Update UserPropagator.cs 2022-07-02 13:15:05 -07:00
Nikolaj Bjorner d37ed4171d
Update Expr.cs
Add a Dup functionality that allows extending the life-time of expressions that are passed by the UserPropagator callbacks (or other code).
2022-07-02 13:12:54 -07:00
Nikolaj Bjorner c35d0d1e49
Update update_api.py
add automation!
2022-07-02 13:05:35 -07:00
Nikolaj Bjorner 54b16f0496
Update NativeStatic.txt
not so automatically generated
2022-07-02 13:04:09 -07:00