xiw/mini-mc

Python 3 incompatibility? ('NoneType' object is not callable)

Opened this issue · 0 comments

Running the script mod_eqv.py with Python 3 (version 3.5.2) on MacOS X El Capitan (version 10.11.6) produces the following unexpected error messages:

[18400] assume (y & -y == y)
[18401] assume ¬(y & -y == y)
[18400] assume (URem(x, y) == x & y - 1)
[18401] assume (URem(x, y) == URem(x, y))
[18402] assume ¬(URem(x, y) == x & y - 1)
[18403] assume ¬(URem(x, y) == URem(x, y))
[18403] unreachable
[18403] exit
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/Users/andryak/Desktop/cppworkspace/lib/z3/build/z3.py", line 280, in __del__
TypeError: 'NoneType' object is not callable
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/Users/andryak/Desktop/cppworkspace/lib/z3/build/z3.py", line 280, in __del__
TypeError: 'NoneType' object is not callable
[18401] exit
[18402] unreachable
[18402] exit
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/Users/andryak/Desktop/cppworkspace/lib/z3/build/z3.py", line 280, in __del__
TypeError: 'NoneType' object is not callable
Exception ignored in: <object repr() failed>
Traceback (most recent call last):
  File "/Users/andryak/Desktop/cppworkspace/lib/z3/build/z3.py", line 280, in __del__
TypeError: 'NoneType' object is not callable
[18400] exit

This problem is frequent but does not manifest itself every time the script is run, it looks like it is due to some weird race-condition between the processes spawned by mini-mc and the way they interact with the Z3 library code.

With Python 2 (version 2.7.10) the script runs fine.

Is there a way to fix this misbehavior related to Python 3?