[NumPy-Tickets] [NumPy] #2250: array "reshape" crashes when size in one dimension is greater than 2^31
NumPy Trac
numpy-tickets@scipy....
Wed Nov 21 07:09:27 CST 2012
#2250: array "reshape" crashes when size in one dimension is greater than 2^31
------------------------+---------------------------------------------------
Reporter: tjligocki | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone: Unscheduled
Component: numpy.core | Version: 1.6.2
Keywords: |
------------------------+---------------------------------------------------
I am having a problem with "reshape" crashing:
> python[[BR]]
Python 2.6.4 (r264:75706, Jan 16 2010, 21:11:47)[[BR]]
[GCC 4.3.2] on linux2[[BR]]
Type "help", "copyright", "credits" or "license" for more
information.[[BR]]
>>> import numpy[[BR]]
>>> numpy.version.version[[BR]]
'1.6.2'[[BR]]
>>> npData = numpy.ones([701,701,7899],dtype=numpy.dtype('b'))[[BR]]
>>> npDataSubset = npData[ [slice(0,700),slice(0,700),slice(0,5000)]
][[BR]]
>>> npDataOutput = npDataSubset.reshape([700*700*5000],order='F')[[BR]]
Segmentation fault[[BR]]
If I change the "5000" to a "4000", everything is fine. I'm not running
out of memory - my system had 48 GB of memory and nothing else is using a
significant portion of this memory.
Note: 700x700x4000 = 1,960,000,000 < 2**31 and 700x700x5000 = 2450000000
> 2**31. I suspect somewhere in the underlying code there is a signed
32-bit integer being used for an index/pointer offset (this is running on
a 64-bit machine).
I did some searching of the archives and didn't find a match for this
problem and posted to the numpy-discussion group. Francesc Alted
suggested I submit a ticket.
Thank you for any and all help!
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/2250>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list