This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: multiprocessing: seg fault when creating RawArray from numpy ctypes
Type: crash Stage: resolved
Components: ctypes, Library (Lib) Versions: Python 3.6, Python 3.5
Status: closed Resolution: third party
Dependencies: Superseder:
Assigned To: Nosy List: Anthony Sottile, corona10, sh37211, xtreak
Priority: normal Keywords:

Created on 2018-12-15 04:44 by sh37211, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (5)
msg331888 - (view) Author: (sh37211) Date: 2018-12-15 04:44
After creating this post on StackOverflow... was suggested by one of the respondents that I file a bug report.

The following code produces segmentation faults on certain OSes (Linux: Ubuntu 16.04, 18.04 and Debian) but not others (Mac 10.13.4):

    import numpy as np
    from multiprocessing import sharedctypes

    a = np.ctypeslib.as_ctypes(np.zeros((224,224,3)))
    b = sharedctypes.RawArray(a._type_, a)

The segmentation fault occurs upon the creation of the multiprocessing.sharedctypes.RawArray. 

As a workaround, one can declare an intermediate variable, e.g. "a2", and write

    a = np.zeros((224,224,3))
    a2 = np.ctypeslib.as_ctypes(a)
    b = sharedctypes.RawArray(a2._type_, a2)

User kabanus seemed to think it was more likely to be an error with multiprocessing than with numpy. 

Using Anaconda python distribution, Python 3.5 and 3.6.  Have not tried 3.7 or 3.8 yet.
msg331934 - (view) Author: Anthony Sottile (Anthony Sottile) * Date: 2018-12-16 19:00
This appears to be a bug with numpy, I've made a PR for them:
msg334046 - (view) Author: Dong-hee Na (corona10) * (Python committer) Date: 2019-01-19 08:04
Looks like the numpy PR was merged. We can close this issue?
msg334058 - (view) Author: Anthony Sottile (Anthony Sottile) * Date: 2019-01-19 11:29
yes, please do
msg334061 - (view) Author: Karthikeyan Singaravelan (xtreak) * (Python committer) Date: 2019-01-19 11:54
I am closing this with third party as resolution. Feel free to reopen this if it's an issue with multiprocessing and CPython.

Thanks for triaging.
Date User Action Args
2022-04-11 14:59:09adminsetgithub: 79688
2019-01-19 11:54:16xtreaksetstatus: open -> closed

nosy: + xtreak
messages: + msg334061

resolution: third party
stage: resolved
2019-01-19 11:29:27Anthony Sottilesetmessages: + msg334058
2019-01-19 08:04:23corona10setnosy: + corona10
messages: + msg334046
2018-12-16 19:00:38Anthony Sottilesetnosy: + Anthony Sottile
messages: + msg331934
2018-12-15 04:44:16sh37211create