pyfftw中的segfault有多个线程

时间:2019-05-23 20:03:23

标签: python segmentation-fault python-multithreading fftw pyfftw

从OSX Mojave上的多个线程(在单独的数组上)调用pyfftw的interfaces.numpy_fft.rfft方法时,我一直遇到SIGSEV。如果使用numpy的rfft方法,我不会遇到问题。在深入探讨之前,我很想听听是否有人遇到过这个问题,以及Python是否有一些简单的解决方法。

通过启用Faulthandler,我得到了以下堆栈跟踪:

Current thread 0x000070000ea0d000 (most recent call first):
  File "/.../lib/python3.6/site-packages/pyfftw/builders/_utils.py", line 348 in __call__
  File "/.../lib/python3.6/site-packages/pyfftw/interfaces/_utils.py", line 138 in _Xfftn
  File "/.../lib/python3.6/site-packages/pyfftw/interfaces/numpy_fft.py", line 205 in rfft

lldb回溯:

thread #11, stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x000000012bd25627 libfftw3.3.dylib`t2fv_8 + 96
    frame #1: 0x000000012bc407ce libfftw3.3.dylib`apply + 81
    frame #2: 0x000000012bc7c06e libfftw3.3.dylib`apply_dit_dft + 23
    frame #3: 0x000000012bc08433 pyfftw.cpython-36m-darwin.so`__pyx_f_6pyfftw_6pyfftw_4FFTW_execute + 99
    frame #4: 0x000000012bc0e1b5 pyfftw.cpython-36m-darwin.so`__pyx_pw_6pyfftw_6pyfftw_4FFTW_37__call__ + 2149

0 个答案:

没有答案