New submission from Robert McLeod:

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.  

https://github.com/pydata/numexpr/issues/252

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.

----------
components: Extension Modules, Library (Lib)
messages: 299722
nosy: Robert McLeod
priority: normal
severity: normal
status: open
title: Py3.6 threading/reference counting issues with `numexpr`
type: crash
versions: Python 3.6

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue31115>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to