[Numpy-discussion] Segfault with python 3.2 structured array non-existent field
Christoph Gohlke
cgohlke at uci.edu
Sun Mar 13 12:54:10 EDT 2011
On 3/13/2011 1:57 AM, Matthew Brett wrote:
> Hi,
>
> I have this on my OSX 10.6 system and numpy 1.5.1 and current numpy
> head (30ee1d352):
>
> $ python3.2
> Python 3.2 (r32:88452, Feb 20 2011, 11:12:31)
> [GCC 4.2.1 (Apple Inc. build 5664)] on darwin
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import numpy as np
>>>> a = np.zeros((1,), dtype=[('f1', 'f')])
>>>> a['f1'] = 1
>>>> a['f2'] = 1
> Segmentation fault
>
> All tests pass with np.test()
>
> Expected behavior with same code on python2.6:
>
>>>> a['f2'] = 1
> Traceback (most recent call last):
> File "<stdin>", line 1, in<module>
> ValueError: field named f2 not found.
>
> Cheers,
>
> Matthew
Confirmed on Windows. The crash is in line 816 of mapping.c:
PyErr_Format(PyExc_ValueError,
"field named %s not found.",
PyString_AsString(index));
This works with Python 3.x:
PyErr_Format(PyExc_ValueError,
"field named %S not found.",
index);
Christoph
More information about the NumPy-Discussion
mailing list