Closed rainoftime closed 4 years ago
sorry, but this is squeezing blood out of stones: These guys are for debugging purposes:
(set-option :nlsat.log_lemmas true)
(set-option :nlsat.check_lemmas true)
Then on top of that you are running some threads in parallel. When one thread finishes, it will cause others to cancel. This is almost for sure the source of the leak as the debugging facilities may not be exception safe with respect to local memory usage. It isn't an objective to ensure that the debugging features have clean exception behavior. They are used to zero in on issues with the mainstream code.
I don't have bandwidth to annotate z3 with detailed information that you should not be using such flags. The general approach is that "if you choose to tweak with flags you better know what you are doing in the first place". It isn't ideal, but a function of what can be documented. Users are invited to add pull requests with documentation hints as well.
So just please don't file bugs with such combinations (trace + threads, log_lemmas, check_lemmas, ddfw, etc). It makes no sense to spend precious time on: you are four to six guys, probably stiff bored by home confinement, spewing out reports that affect random places in z3 by tweaking parameters and exploring variants of examples that bear a very faint scent of user realism. There are not four to six guys on the receiving end. These bugs come with very nice effort on minimization, but without any efforts devoted to identifying root causes. While many of these bug reports contribute to making z3 solid for unsuspecting and innocent users, which is great, it is also a constant source of noise, distraction and time sink. Recently, in more and more cases it is not clear at all whether it is time well spent to plug all and every weird hole. Basically, in many cases I am not sure a single real user of Z3 would benefit. There are many good things coming out: proof objects are getting scrutinized, and arith.solver=6 is exercised much more than simply running on SMTLIB benchmarks provide. Keeping it real is superb. So to be clear, thanks again for the many real bugs that you filed, but an effort to tone down the noise would be appreciated.
Nikolaj, your direct, honest comments are appreciated as they were also partially directed at us :) We will do our best (meaning to the best of our understanding) to focus on filing interesting bugs. As always, your tireless effort is greatly appreciated! @NikolajBjorner @muchang @wintered
Hi, for the following formula
z3 commit 2ac8d346 throws a leak