Referring to this answer, I'm trying the following to run Z3 in parallel from SBV:
runSMTWith z3{extraArgs = ["parallel.true"]} $ do ...
However, the above leads to the following exception:
*** Exception:
*** Data.SBV: fd:21: hGetLine: end of file:
***
*** Sent : (set-option :print-success true)
***
*** Executable: /usr/local/bin/z3
*** Options : -nw -in -smt2
***
*** Hint : Solver process prematurely ended communication.
*** It is likely it was terminated because of a seg-fault.
*** Run with 'transcript=Just "bad.smt2"' option, and feed
*** the generated "bad.smt2" file directly to the solver
*** outside of SBV for further information.
If I remove extraArgs
and simply go with the default thing (even using runSMT
), the computation works perfectly well.