参考这个答案,我正在尝试以下从 SBV 并行运行 Z3:
runSMTWith z3{extraArgs = ["parallel.true"]} $ do ...
但是,上述导致以下异常:
*** 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.
如果我删除extraArgs
并简单地使用默认值(即使使用runSMT
),计算工作得非常好。