[Numpy-discussion] Python crashes while printing a huge numpy array (Windows 1.6b2)

Charles R Harris charlesr.harris at gmail.com
Sat Apr 23 13:41:00 EDT 2011


On Sat, Apr 23, 2011 at 11:09 AM, Bruce Southey <bsouthey at gmail.com> wrote:

> On Sat, Apr 23, 2011 at 9:58 AM, Till Stensitzki <mail.till at gmx.de> wrote:
> >
> >> Do you also have an earlier version of numpy installed? As David says,
> this
> >>should raise an error for recent numpy and
> >>I'm wondering if you are inadvertently
> >>running an earlier version.Chuck
> >
> >
> > I only have one python installation and
> > numpy.__version__ shows 1.6b.
> > I could reinstall numpy, if it would help.
> >
> > _______________________________________________
> > NumPy-Discussion mailing list
> > NumPy-Discussion at scipy.org
> > http://mail.scipy.org/mailman/listinfo/numpy-discussion
> >
>
> Hi,
> I can get this with 64-bit Win 7, 32-bit Python 2.6, 2.7 (below) and
> 3.1 and numpy 1.6b (fresh install)  IDLE and the command line. I can
> also confirm the 'ValueError' with Python2.6 and numpy 1.51 on the
> same system.
>
> Actually this is 'weird' when printing and crashed with the range -
> accessing unassigned memory?
> A smaller array gives an numpy error or memory error in idle.
>
> Bruce
>
>
> >>> import numpy as np
> >>> x=np.zeros((262144, 262144))
> >>> x
> array([], shape=(262144, 262144), dtype=float64)
> >>> x[0,0]
> 2.1453735050108555e-314
> >>> x[1:10,1:10]
>
> >>> ================================ RESTART
> ================================
> >>> import numpy as np
>
> >>> x=np.zeros((26214, 26214))
>
> Traceback (most recent call last):
>  File "<pyshell#7>", line 1, in <module>
>    x=np.zeros((26214, 26214))
> ValueError: array is too big.
> >>>
> >>> x=np.zeros((262144, 26214))
>
> Traceback (most recent call last):
>  File "<pyshell#8>", line 1, in <module>
>    x=np.zeros((262144, 26214))
> MemoryError
> _____
>

This was fixed before, maybe it got broken again. Since this looks windows
specific, I'm guessing it has something to do with the size of long being 32
bits.

The previous problem was integer overflow when multiplying the dimensions
together to get the array size when repeated divisions of the maximum size
should have be used instead.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20110423/b3b3ed00/attachment.html>


More information about the NumPy-Discussion mailing list