-
-
Notifications
You must be signed in to change notification settings - Fork 10.8k
FMod Bug on Windows
Mingye Wang edited this page May 12, 2021
·
13 revisions
There is a crashing bug with fmod
on Windows 10 2004. KB4598291 of February 2021 fixes this issue.
To prevent unexpected runtime behavior, opencv
(and numpy
1.19.4 through 1.19.5) contains a check for this:
from numpy import arange, linalg, float64
try:
a = arange(13 * 13, dtype=float64).reshape(13, 13)
a = a % 17 # calls fmod
linalg.eig(a)
except Exception:
raise RuntimeError("The current Numpy installation (...) fails to pass a sanity check due to a bug in the windows runtime...")
See Pull Request https://github.com/numpy/numpy/pull/17553. You can verify the behavior yourself using the script above too.
If you are unable to upgrade Windows, you can:
- Pinning against NumPy 1.19.3 should help (it uses a newer OpenBLAS version, but this caused other problems). This can be achieved using e.g. with
pip install numpy==1.19.3
or similar depending on your setup. To be clear: The only difference between NumPy 1.19.3 and 1.19.4 is the OpenBLAS version it ships.- Or you can go to earlier versions like 1.18.5. Expect more differences.
- 32bit Python does not have these issues
- In principle you could revert the buggy windows update or deactivate the
_win_os_check
in NumPy (if you are lucky, your code is unaffected by the bug).