[Numpy-discussion] Status of NumPy and Python 3.3

Ronan Lamy ronan.lamy@gmail....
Mon Jul 30 12:04:08 CDT 2012


Le lundi 30 juillet 2012 à 17:10 +0100, Ronan Lamy a écrit :
> Le lundi 30 juillet 2012 à 04:57 +0100, Ronan Lamy a écrit :
> > Le lundi 30 juillet 2012 à 02:00 +0100, Ronan Lamy a écrit :
> > 
> > > 
> > > Anyway, I managed to compile (by blanking
> > > numpy/distutils/command/__init__.py) and to run the tests. I only see
> > > the 2 pickle errors from your latest gist. So that's all good!
> > 
> > And the cause of these errors is that running the test suite somehow
> > corrupts Python's internal cache of bytes objects, causing the
> > following:
> > >>> b'\x01XXX'[0:1]
> > b'\xbb'
> 
> The culprit is test_pickle_string_overwrite() in test_regression.py. The
> test actually tries to check for that kind of problem, but on Python 3,
> it only manages to trigger it without detecting it. Here's a simple way
> to reproduce the issue:
> 
> >>> a = numpy.array([1], 'b')
> >>> b = pickle.loads(pickle.dumps(a))
> >>> b[0] = 77
> >>> b'\x01  '[0:1]
> b'M'
> 
> Actually, this problem is probably quite old: I can see it in 1.6.1 w/
> Python 3.2.3. 3.3 only makes it more visible. 
> 
> I'll open an issue on GitHub ASAP.
> 
https://github.com/numpy/numpy/issues/370



More information about the NumPy-Discussion mailing list