Skip to content

OSError: Failed to open shared memory #3

@mekman

Description

@mekman

Hi,

thanks for sharing this package! On a fresh installation (tested both Mac OS X and Linux) I'm getting this error.

In [17]: np.__version__
Out[17]: '1.9.0'

In [18]: import sharedmem as shm

In [19]: array = shm.zeros((300,300,1), dtype=float) # works fine

However, this results in the error posted below. Do you have any idea what might be causing this?

In [20]: array = shm.zeros((300,300,10), dtype=float)


---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-20-cbadca5ba769> in <module>()
----> 1 array = shm.zeros((300,300,10), dtype=float)

/Users/mekman/anaconda/lib/python2.7/site-packages/sharedmem/array.pyc in shared_zeros(shape, dtype, order)
    132     """ Create a shared-memory ndarray filled with 0s.
    133     """
--> 134     arr = shared_empty(shape, dtype, order)
    135     x = np.zeros((), arr.dtype)
    136     arr[...] = x

/Users/mekman/anaconda/lib/python2.7/site-packages/sharedmem/array.pyc in shared_empty(shape, dtype, order)
    123     size = int(np.prod(shape))
    124     nbytes = size * dtype.itemsize
--> 125     wrapper = heap.BufferWrapper(nbytes)
    126     strides = None
    127     offset = 0

/Users/mekman/anaconda/lib/python2.7/site-packages/sharedmem/heap.pyc in __init__(self, size)
     63     def __init__(self, size):
     64         self.size = size
---> 65         self.offset, self.buf = _heap.allocate(size)
     66 
     67     def __setstate__(self, _state):

/Users/mekman/anaconda/lib/python2.7/site-packages/sharedmem/heap.pyc in allocate(self, size)
     50         with self.lock:
     51             if size > mmap.PAGESIZE:
---> 52                 offset, buf = self._allocate_big(size)
     53             else:
     54                 offset, buf = self._allocate_tiny(size)

/Users/mekman/anaconda/lib/python2.7/site-packages/sharedmem/heap.pyc in _allocate_big(self, size)
     42 
     43     def _allocate_big(self, size):
---> 44         buf = SharedMemoryBuffer(size)
     45         addr, _ = buf.getbuffer()
     46         return 0, buf

/Users/mekman/anaconda/lib/python2.7/site-packages/sharedmem/sharedmemory_sysv.so in sharedmem.sharedmemory_sysv.SharedMemoryBuffer.__init__ (sharedmem/sharedmemory_sysv.c:2759)()

/Users/mekman/anaconda/lib/python2.7/site-packages/sharedmem/sharedmemory_sysv.so in sharedmem.sharedmemory_sysv.SharedMemoryBuffer.__init__ (sharedmem/sharedmemory_sysv.c:2491)()

OSError: Failed to open shared memory

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions