Problem introduced after 1.0rc2 on AIX with xlc

Tim Hochberg tim.hochberg at ieee.org
Fri Oct 20 22:10:15 CDT 2006


Brian Granger wrote:
> Hi,
>
> i am running numpy on aix compiling with xlc.  Revision 1.0rc2 works
> fine and passes all tests.  But 1.0rc3 and more recent give the
> following on import:
>
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in add
> Warning: invalid value encountered in not_equal
> Warning: invalid value encountered in absolute
> Warning: invalid value encountered in less
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in equal
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in add
> Warning: invalid value encountered in not_equal
> Warning: invalid value encountered in absolute
> Warning: invalid value encountered in less
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in equal
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in multiply
> Warning: invalid value encountered in multiply
> [lots more of this]
>
> The odd thing is that all tests pass.  I have looked, but can't find
> where this Warning is coming from  in the code.  Any thoughts on where
> this is coming from?  What can I do to help debug this?  I am not sure
> what revision introduced this issue.
>   
The reason that you are seeing this now is that the default error state 
has been tightened up. There were some issues with tests failing as a 
result of this, but I believe I fixed those already and you're seeing 
this on import, not when running the tests correct? The first thing to 
do is figure out where the invalids are occurring, and the natural way 
to do that is to set the error state to raise, but you can't set the 
error state till you import it, so that's not going to help here.

I think the first thing that I would try is to throw in a 
seterr(all='raise', under='ignore') right after the call to _setdef in 
numeric.py. If you're lucky, this will point out where the invalids are 
popping up. As a sanity check, you could instead make this 
seterr(all='ignore'), which should make all the warnings go away, but 
won't tell you anything about why there are warnings to begin with.

Regards,

-tim


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642




More information about the Numpy-discussion mailing list