[issue31115] Py3.6 threading/reference counting issues with `numexpr`

Robert McLeod report at bugs.python.org
Fri Aug 4 17:54:36 EDT 2017


Robert McLeod added the comment:

After building with Python3.7 I was able to get a useful error message that `PyMem` functions were being called inside GIL release.  I will replace these with C-equivalents and try with Python 3.6.

    Fatal Python error: Python memory allocator called without holding the GIL

    Thread 0x0000000004044e00 (most recent call first):
      File "/home/rmcleod/py37/lib/python3.7/site-packages/numexpr3-3.0==19176== 
    ==19176== Process terminating with default action of signal 6 (SIGABRT)
    ==19176==    at 0x579C428: raise (raise.c:54)
    ==19176==    by 0x579E029: abort (abort.c:89)
    ==19176==    by 0x422DF7: Py_FatalError (pylifecycle.c:1849)
    ==19176==    by 0x41ED4C: _PyMem_DebugCheckGIL (obmalloc.c:1972)
    ==19176==    by 0x41ED23: _PyMem_DebugMalloc (obmalloc.c:1980)
    ==19176==    by 0x41FCAC: PyMem_Malloc (obmalloc.c:418)
    ==19176==    by 0xCEA1920: NumExprObject_copy_threadsafe(NumExprObject const*) (interpreter.cpp:147)
    ==19176==    by 0xCEA77CE: th_worker(void*) (module.cpp:73)
    ==19176==    by 0x4E416B9: start_thread (pthread_create.c:333)

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue31115>
_______________________________________


More information about the Python-bugs-list mailing list