-
Notifications
You must be signed in to change notification settings - Fork 62
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
macOS saw "resource vanished (Broken pipe)" on failed verification #888
Comments
Do you get the same results if you use a solver other than EDIT: I see you answered the question about the solver. I'm still interested in the path-sat question. I suspect a configuration issue with your version of |
How do I turn off path-sat? |
The fourth boolean flag to |
Aha. Doing that, I get the following with yices set as the solver:
But with |
What is your yices version? It should be 2.6.2. It would be really nice to check the version of the solver and give more meaningful error messages if they are not in acceptable ranges. This is surprisingly hard to do! |
Indeed my yices is 2.6.2. Also, the weirdness is with all three solvers is path-sat is |
Right now, the path satisfiability checking code for SAW always uses Yices, regardless of what solver you choose for the final proof steps. This really should be configureable, but currently is not. As to the underlying problem... that is very strange. Does yices work for you at all if you invoke it manually? |
It launches fine and gives me a prompt, but I don't know how to check health beyond that. Also, when I choose |
This program is simple enough it probably doesn't have to invoke the solver at all when the program is correct. Try the following interaction:
|
Well that's interesting:
I'll go download and reinstall yices. |
Do you have an older mac? You might have to compile your own yices. The official yices builds assume some relatively new AVX instructions, I believe, and don't have fallback stubs. |
Aha - that's it. I have a 2010 Mac Pro. Huh! |
And with a freshly-built |
Consider the following C code (
zero.c
):and the following saw code (
zero.saw
):On macOS,
saw zero.saw
succeeds without the injected bug, but if I remove the comments beforeif (*x != 123)
, rebuild thezero.bc
, and re-runsaw zero.saw
, I get the following on macOS:While the running the same command on Linux
saw
successfully yields the sought-after counterexample:The latter behavior is much preferable, IMO. If it matters, I'm creating the
zero.bc
from Linux, since my macOS clang is too new, but the successful verification suggests this is okay.Also, this odd macOS behavior exhibits whether I pass
abc
z3
oryices
as the prover.Version info on both macOS and Linux:
The text was updated successfully, but these errors were encountered: