[cairo-bugs] [Bug 2675] SIGFPE in _cairo_fixed_from_double

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jul 2 11:37:38 PDT 2007


------- Comment #13 from zuh at iki.fi  2007-07-02 11:37 PST -------
Seems to still happen, though in a different code path than in comment 11.

Since the exception is FE_INEXACT, it sounds like the accuracy of the FP is not
enough to compute the result exactly. I wonder if this has real-life
consequences or not (extreme scaling could of course bring the error visible).

Other than detecting the accuracy of the FP unit (can that be done?) and
rounding the values to acceptable values, I'm guessing there isn't much to do
here. This is a problem that needs to be specifically requested for by setting
the handler anyway.

Current backtrace looks like:

Program received signal SIGFPE, Arithmetic exception.
*INT_cairo_matrix_transform_distance (matrix=0x8053ec8, dx=0xbfeb11d8, 
    dy=0xbfeb11d0) at cairo-matrix.c:331
331         new_x = (matrix->xx * *dx + matrix->xy * *dy);
(gdb) bt
#0  *INT_cairo_matrix_transform_distance (matrix=0x8053ec8, dx=0xbfeb11d8, 
    dy=0xbfeb11d0) at cairo-matrix.c:331
#1  0xb7f3b815 in *INT_cairo_matrix_transform_point (matrix=0x8053ec8, 
    x=0xbfeb11d8, y=0xbfeb11d0) at cairo-matrix.c:350
#2  0xb7f375ba in _cairo_gstate_user_to_backend (gstate=0x8053e10, 
    x=0xbfeb11d8, y=0xbfeb11d0) at cairo-gstate.c:731
#3  0xb7f3134a in *INT_cairo_move_to (cr=0x8053df0, x=19.800000000000001, 
    y=35.200000000000003) at cairo.c:1381
#4  0x080487e9 in main ()

Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.

More information about the cairo-bugs mailing list