Hi On Sun, Mar 13, 2011 at 9:54 AM, Christoph Gohlke <cgoh...@uci.edu> wrote: > 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);
Sure enough, in python3.2: >>> a[b'f2'] = 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: field named f2 not found. That is - it is specifically passing a python 3 string that causes the segmentation fault. Is this a release blocker? I'm afraid I don't know the code well enough to be confident of the right fix. Is there something I can do to help? Cheers, Matthew _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion