[Python-Dev] troubling math bug under IRIX 6.5
Tim Peters
tim.one@home.com
Tue, 13 Feb 2001 19:13:47 -0500
[Tommy]
> sorry- BOTH blew up until I turned off optimization.
OK, that rules out int->float conversion as the cause (one of the examples
didn't do any conversions). That multiplication by 4 triggered it rules out
that any IEEE exceptions are to blame either (mult by 4 doesn't even trigger
the IEEE "inexact" exception).
> now neither does. shall I turn opts back on and try a few more
> cases?
Yes, please, one more:
4.0 * 3.1
Or, if that works, go back to the failing
4.0 * math.exp(-0.5)
In any failing case, can you jump into a debubber and get a stack trace?
Do you happen to have
WANT_SIGFPE_HANDLER
#define'd when you compile Python on this platform? If so, it complicates
the code a lot. I wonder about that because you got a "bus error", and when
WANT_SIGFPE_HANDLER is #defined we get a whole pile of ugly setjmp/longjmp
code that doesn't show up on my box.
Another tack, as a temporary workaround: try disabling optimization only
for Objects/floatobject.c. That will probably fix the problem, and if so
that's enough of a workaround to get you unstuck while pursuing these other
irritations.