Author Robert McLeod
Recipients Robert McLeod
Date 2017-08-03.21:04:48
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
I'm working on the development branch of the `numexpr` module and I've run into some problems on Python 3.6, where I seem to get a variety of errors relating to threading or reference counting errors. This module is commonly used for accelerating NumPy code, as it can parse an expression into a C-extension virtual machine program and break the calculations down into blocks which are then dispatched over multiple threads. I get similar errors on both Ubuntu 16.04 with GCC5.4 and Win7 with MSVC2015.  I created an issue here where I provide some of the `gcc` error outputs.

Typically I'm getting a different error on every run. 

We use a wrapper for Windows threads that emulated pthreads, and I found on Windows crashes occurred on calling the Windows system function `WaitForSingleObject(cond->sema, INFINITE);` in the file numexpr3/win32/pthread.c.  

I cannot replicate this problem in Python 2.7/3.4/3.5 on Windows or Linux. I'm using Anaconda in both instances, with nomkl NumPy on Linux and mkl NumPy on Windows.  

I tried valgrinding with Python 3.5 and 3.6, and I get numerous errors coming from places like pickle and ast (which the new NumExpr uses) in 3.6 and it's basically clean in 3.5.  The logs are attached to the issue linked above.
Date User Action Args
2017-08-03 21:04:49Robert McLeodsetrecipients: + Robert McLeod
2017-08-03 21:04:49Robert McLeodsetmessageid: <>
2017-08-03 21:04:49Robert McLeodlinkissue31115 messages
2017-08-03 21:04:48Robert McLeodcreate