[Numpy-discussion] Release blockers for 1.4.0 ?

David Cournapeau david@ar.media.kyoto-u.ac...
Mon Dec 7 22:15:30 CST 2009


Charles R Harris wrote:
>
>
> On Mon, Dec 7, 2009 at 10:31 AM, David Cournapeau <cournape@gmail.com
> <mailto:cournape@gmail.com>> wrote:
>
>     On Tue, Dec 8, 2009 at 1:48 AM, Charles R Harris
>     <charlesr.harris@gmail.com <mailto:charlesr.harris@gmail.com>> wrote:
>     >
>     >
>     > On Mon, Dec 7, 2009 at 8:24 AM, David Cournapeau
>     <cournape@gmail.com <mailto:cournape@gmail.com>> wrote:
>     >>
>     >> Hi,
>     >>
>     >> There are a few issues which have been found on numpy 1.4.0,
>     which worry
>     >> me:
>     >>
>     >> # 1317: segfaults for integer division overflow
>     >> # 1318: all FPU exceptions ignored by default
>     >>
>     >> #1318 worries me the most: I think it is a pretty serious
>     regression,
>     >> since things like this go unnoticed:
>     >>
>     >> x = np.array([1, 2, 3, 4]) / 0 # x is an array of 0, no warning
>     printed
>     >>
>     >
>     > Hasn't that always been the case? Unless we have a way to raise
>     exceptions
>     > from ufuncs I don't know what else we can do.
>
>     No, it is a consequence of errors being set to ignored in numpy.ma
>     <http://numpy.ma>:
>
>     http://projects.scipy.org/gitweb?p=numpy;a=blob;f=numpy/ma/core.py;h=f28a5738efa6fb6c4cbf0b3479243b0d7286ae32;hb=master#l107
>
>     So the fix is easy - but then it shows many (> 500) invalid values,
>     etc... related to wrong fpu handling (most of them are limited to the
>     new polynomial code, though).
>
>
> Umm, no. Just four, and easily fixed as I explicitly relied on the
> behaviour.

Yup, my last sentence was not really clear: I just meant that most of
the warnings were printed during polynomial tests.

> After the fix and seterror(all='raise'):
>
> FAILED (KNOWNFAIL=4, SKIP=11, errors=47, failures=1)

47 errors is quite a bit.

So what about the following for 1.4.0:
    - we just remove the seterr set to ignore in numpy.ma
    - we deal with the special case of MIN_INT/-1 to avoid the SIGFPE crash
    - we deal with the spurious warnings during tests in 1.5.0 ?

David


More information about the NumPy-Discussion mailing list