Summary: | nautilus crashes when thumbnailing an svg with a pattern | ||
---|---|---|---|
Product: | cairo | Reporter: | Sebastien Bacher <seb128> |
Component: | general | Assignee: | Carl Worth <cworth> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | 1.4.6 | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
SVG file crashing Nautilus directly
SVG file freezing Nautilus at 100% CPU usage |
Description
Sebastien Bacher
2007-04-08 10:20:42 UTC
Debug backtrace for the crash: (gdb) r ep065.svg Starting program: /usr/bin/eog ep065.svg (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1226279232 (LWP 6292)] [New Thread -1228252272 (LWP 6295)] Program received signal SIGFPE, Arithmetic exception. [Switching to Thread -1228252272 (LWP 6295)] 0xb7859a32 in fbFetchTransformed (pict=0x83f8f60, x=<value optimized out>, y=<value optimized out>, width=224, buffer=0xb6c9e310, mask=0xb6c9ea10, maskBits=4278190080) at /build/buildd/libcairo-1.4.2/pixman/src/fbcompose.c:3576 warning: Source file is more recent than executable. 3576 y1 = MOD (y1, pict->pDrawable->height); (gdb) thread apply all bt full Thread 2 (Thread -1228252272 (LWP 6295)): #0 0xb7859a32 in fbFetchTransformed (pict=0x83f8f60, x=<value optimized out>, y=<value optimized out>, width=224, buffer=0xb6c9e310, mask=0xb6c9ea10, maskBits=4278190080) at /build/buildd/libcairo-1.4.2/pixman/src/fbcompose.c:3576 x1 = <value optimized out> x2 = <value optimized out> y1 = <value optimized out> distx = <value optimized out> idistx = <value optimized out> b = <value optimized out> tl = <value optimized out> tr = <value optimized out> r = <value optimized out> y2 = <value optimized out> disty = <value optimized out> bl = <value optimized out> br = 0 bits = (FbBits *) 0x81708b8 stride = 307 fetch = (fetchPixelProc) 0xb7850e50 <fbFetchPixel_a8r8g8b8> v = {vector = {-32768, -32768, 65536}} i = 6 box = {x1 = -7656, y1 = -18743, x2 = 24137, y2 = -18555} #1 0xb785724d in pixman_compositeGeneral (op=<value optimized out>, pSrc=0x83f8f60, pMask=0x83fc260, pDst=0x8121920, xSrc=666, ySrc=280, xMask=0, yMask=0, xDst=666, yDst=280, width=224, height=24) at /build/buildd/libcairo-1.4.2/pixman/src/fbcompose.c:4138 region = (pixman_region16_t *) 0x83f06f0 n = 1 pbox = <value optimized out> srcRepeat = 0 maskRepeat = 0 w = <value optimized out> h = <value optimized out> _scanline_buffer = {2675612794 <repeats 136 times>, 2540934259, 2170715746, 1396658495, 336532239, 0, 0, 0, 0, 0, 2675612794 <repeats 39 times>, 2540934259, 2170715746, 1396658495, 336532239, 0 <repeats 155 times>, 989855744, 2298478592, 2969567232, 3355443200, 3422552064 <repeats 101 times>, 0, 0, 0, 0, 0, 0, 50331648, 872415232, 1325400064, 1711276032 <repeats 206 times>, 1493172224, 1040187392, 218103808, 0 <repeats 1302 times>, 2155905152 <repeats 996 times>, 0 <repeats 1292 times>, 3076047185, 0, 0, 0, 0, 0, 0, 0, 3066701360, 0, 0, 429496729, 5, 0, 0, 0, 0, 0, 1035784, 0, 3077156852, 0, 3077055574, 3066701324, 3076046591, 3066701360, 3066703004, 10, 0, 0, 3077055577, 3066703028, 3076162333, 3066702944, 0, 10, 0, 0, 0, 0, 892547121, 3422263, 0 <repeats 248 times>, 100, 3066703028, 3076162648, 3066703056, 49, 3066703056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1035784, 0, 0, 0, 0, 3077055573, 1, 0, 4294967295, 1, 3077157760, 134904944, 0, 10, 1, 3086311456, 3086311458, 0, 0, 0, 0, 0, 0...} scanline_buffer = (CARD32 *) 0xb6c9ea10 #2 0xb78469d2 in _cairo_pixman_composite (op=PIXMAN_OPERATOR_OVER, pSrc=0x83f8f60, pMask=0x83fc260, pDst=0x8121920, xSrc=666, ySrc=280, xMask=0, yMask=0, xDst=666, yDst=280, width=224, height=24) at /build/buildd/libcairo-1.4.2/pixman/src/fbpict.c:1925 ---Type <return> to continue, or q <return> to quit--- region = <value optimized out> n = <value optimized out> pbox = <value optimized out> func = (CompositeFunc) 0xfffffff7 srcRepeat = 1 maskRepeat = 0 srcTransform = 1 maskTransform = 0 maskAlphaMap = <value optimized out> x_msk = <value optimized out> y_msk = <value optimized out> x_src = <value optimized out> y_src = <value optimized out> x_dst = <value optimized out> y_dst = <value optimized out> w = <value optimized out> h = <value optimized out> w_this = <value optimized out> h_this = <value optimized out> mmx_setup = 1 #3 0xb780f425 in _cairo_image_surface_composite_trapezoids (op=CAIRO_OPERATOR_OVER, pattern=0xb6ca4a54, abstract_dst=0x810c818, antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=666, src_y=280, dst_x=666, dst_y=280, width=224, height=24, traps=0x83ff488, num_traps=17) at /build/buildd/libcairo-1.4.2/src/cairo-image-surface.c:1016 attributes = {matrix = {xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, extend = CAIRO_EXTEND_REPEAT, filter = CAIRO_FILTER_BEST, x_offset = 0, y_offset = 0, acquired = 1, extra = 0x0} src = (cairo_image_surface_t *) 0x8267e00 status = 0 mask = (pixman_image_t *) 0x83fc260 format = (pixman_format_t *) 0x83eb6c8 mask_stride = <value optimized out> mask_bpp = 8 #4 0xb781964f in _cairo_surface_composite_trapezoids (op=CAIRO_OPERATOR_OVER, pattern=0xb6ca4a54, dst=0x810c818, antialias=CAIRO_ANTIALIAS_DEFAULT, src_x=666, src_y=280, dst_x=666, dst_y=280, width=224, height=24, traps=0x83ff488, num_traps=17) at /build/buildd/libcairo-1.4.2/src/cairo-surface.c:1414 status = 0 __PRETTY_FUNCTION__ = "_cairo_surface_composite_trapezoids" #5 0xb781c7b0 in _composite_traps_draw_func (closure=0xb6ca4968, op=CAIRO_OPERATOR_OVER, src=0xb6ca4a54, dst=0x810c818, dst_x=0, dst_y=0, extents=0xb6ca4970) at /build/buildd/libcairo-1.4.2/src/cairo-surface-fallback.c:492 pattern = {base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = { size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_PAD}, solid = {base = { type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_PAD}, color = {red = 1, green = 1, blue = 1, alpha = 1, red_short = 65535, green_short = 65535, blue_short = 65535, alpha_short = 65535}}, surface = {base = { ---Type <return> to continue, or q <return> to quit--- type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_PAD}, surface = 0x0}, gradient = {base = { base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_PAD}, n_stops = 0, stops_size = 1072693248, stops = 0x0, stops_embedded = {{x = 1072693248, color = {red = 0, green = 0, blue = 0, alpha = 16368}}, {x = 0, color = {red = 0, green = 16368, blue = 65535, alpha = 65535}}}}, linear = {base = { base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_PAD}, n_stops = 0, stops_size = 1072693248, stops = 0x0, stops_embedded = {{x = 1072693248, color = {red = 0, green = 0, blue = 0, alpha = 16368}}, {x = 0, color = {red = 0, green = 16368, blue = 65535, alpha = 65535}}}}, gradient = { p1 = {x = -1, y = 0}, p2 = {x = 138048800, y = 14060263}}}, radial = {base = {base = { type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_PAD}, n_stops = 0, stops_size = 1072693248, stops = 0x0, stops_embedded = {{x = 1072693248, color = {red = 0, green = 0, blue = 0, alpha = 16368}}, {x = 0, color = {red = 0, green = 16368, blue = 65535, alpha = 65535}}}}, gradient = { c1 = {x = -1, y = 0, radius = 138048800}, c2 = {x = 14060263, y = 1475692, radius = 138400656}}}}} status = <value optimized out> #6 0xb781ba33 in _clip_and_composite (clip=0x0, op=CAIRO_OPERATOR_OVER, src=0xb6ca4a54, draw_func=0xb781c700 <_composite_traps_draw_func>, draw_closure=0xb6ca4968, dst=0x810c818, extents=0xb6ca4970) at /build/buildd/libcairo-1.4.2/src/cairo-surface-fallback.c:391 solid_pattern = {base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = 0, yx = 0, xy = 0, yy = 0, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_FAST, extend = CAIRO_EXTEND_NONE}, solid = {base = { type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = 0, yx = 0, xy = 0, yy = 0, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_FAST, extend = CAIRO_EXTEND_NONE}, color = {red = 0, green = 0, blue = 0, alpha = 0, red_short = 0, green_short = 0, blue_short = 0, alpha_short = 0}}, surface = {base = { type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = 0, yx = 0, xy = 0, yy = 0, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_FAST, extend = CAIRO_EXTEND_NONE}, surface = 0x0}, gradient = {base = { base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = 0, yx = 0, xy = 0, yy = 0, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_FAST, extend = CAIRO_EXTEND_NONE}, n_stops = 0, stops_size = 0, stops = 0x0, stops_embedded = {{x = 0, color = {red = 0, green = 0, blue = 0, alpha = 0}}, {x = 0, color = { red = 0, green = 0, blue = 0, alpha = 0}}}}, linear = {base = {base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = 0, yx = 0, xy = 0, yy = 0, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_FAST, extend = CAIRO_EXTEND_NONE}, n_stops = 0, stops_size = 0, stops = 0x0, stops_embedded = {{x = 0, color = {red = 0, green = 0, blue = 0, alpha = 0}}, {x = 0, color = {red = 0, green = 0, blue = 0, alpha = 0}}}}, gradient = {p1 = {x = 0, y = 0}, p2 = {x = 0, y = 0}}}, radial = { base = {base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, status = CAIRO_STATUS_SUCCESS, user_data = { size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = 0, yx = 0, ---Type <return> to continue, or q <return> to quit--- xy = 0, yy = 0, x0 = 0, y0 = 0}, filter = CAIRO_FILTER_FAST, extend = CAIRO_EXTEND_NONE}, n_stops = 0, stops_size = 0, stops = 0x0, stops_embedded = {{x = 0, color = {red = 0, green = 0, blue = 0, alpha = 0}}, { x = 0, color = {red = 0, green = 0, blue = 0, alpha = 0}}}}, gradient = {c1 = {x = 0, y = 0, radius = 0}, c2 = {x = 0, y = 0, radius = 0}}}}} status = <value optimized out> #7 0xb781c306 in _clip_and_composite_trapezoids (src=0x8, op=43691552, dst=0x810c818, traps=0xb6ca49b8, clip=0x0, antialias=CAIRO_ANTIALIAS_DEFAULT) at /build/buildd/libcairo-1.4.2/src/cairo-surface-fallback.c:644 clip_surface = (cairo_surface_t *) 0xb75c8e30 status = <value optimized out> trap_region = (pixman_region16_t *) 0x0 clear_region = (pixman_region16_t *) 0x0 extents = {x = 666, y = 280, width = 224, height = 24} traps_info = {traps = 0xb6ca49b8, antialias = CAIRO_ANTIALIAS_DEFAULT} #8 0xb781c6e0 in _cairo_surface_fallback_fill (surface=0x810c818, op=CAIRO_OPERATOR_OVER, source=0xb6ca4a54, path=0x812256c, fill_rule=CAIRO_FILL_RULE_WINDING, tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT) at /build/buildd/libcairo-1.4.2/src/cairo-surface-fallback.c:836 status = CAIRO_STATUS_SUCCESS traps = {status = CAIRO_STATUS_SUCCESS, extents = {p1 = {x = 43691552, y = 18391096}, p2 = {x = 58301029, y = 19866788}}, num_traps = 17, traps_size = 32, traps = 0x83ff488, traps_embedded = {{top = 18391096, bottom = 18402253, left = {p1 = {x = 44240766, y = 18391096}, p2 = {x = 44130079, y = 18402253}}, right = {p1 = { x = 57751815, y = 18391096}, p2 = {x = 57862499, y = 18402253}}}}} #9 0xb781a09b in _cairo_surface_fill (surface=0x810c818, op=CAIRO_OPERATOR_OVER, source=0xb6ca4b3c, path=0x812256c, fill_rule=CAIRO_FILL_RULE_WINDING, tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT) at /build/buildd/libcairo-1.4.2/src/cairo-surface.c:1374 status = CAIRO_STATUS_SUCCESS dev_source = {base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = { xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, solid = {base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = { size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = { xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, color = {red = -9.2115661418729682e-45, green = -9.2107786650765771e-45, blue = 2.1288191055277229e-269, alpha = -9.2109496965564141e-45, red_short = 51325, green_short = 46976, blue_short = 32256, alpha_short = 2086}}, surface = {base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, surface = 0x8267e00}, gradient = {base = {base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, n_stops = 136740352, stops_size = 3066710876, stops = 0xb7810f66, stops_embedded = {{x = -1228256568, color = {red = 40644, green = 46977, blue = 32300, alpha = 2086}}, {x = -1236736296, color = {red = 19176, green = 46794, blue = 51325, alpha = 46976}}}}, ---Type <return> to continue, or q <return> to quit--- linear = {base = {base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = { xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, n_stops = 136740352, stops_size = 3066710876, stops = 0xb7810f66, stops_embedded = {{x = -1228256568, color = {red = 40644, green = 46977, blue = 32300, alpha = 2086}}, { x = -1236736296, color = {red = 19176, green = 46794, blue = 51325, alpha = 46976}}}}, gradient = {p1 = { x = 136740352, y = 138327500}, p2 = {x = 834474350, y = 1072858793}}}, radial = {base = {base = { type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, n_stops = 136740352, stops_size = 3066710876, stops = 0xb7810f66, stops_embedded = {{x = -1228256568, color = {red = 40644, green = 46977, blue = 32300, alpha = 2086}}, {x = -1236736296, color = {red = 19176, green = 46794, blue = 51325, alpha = 46976}}}}, gradient = {c1 = {x = 136740352, y = 138327500, radius = 834474350}, c2 = { x = 1072858793, y = 138327500, radius = 0}}}}} __PRETTY_FUNCTION__ = "_cairo_surface_fill" #10 0xb780d1cd in _cairo_gstate_fill (gstate=0x83eb4c0, path=0x812256c) at /build/buildd/libcairo-1.4.2/src/cairo-gstate.c:959 status = CAIRO_STATUS_SUCCESS pattern = {base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = { size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = { xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, solid = {base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = { size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = { xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, color = {red = 3.7539437613275657e+294, green = 1.5954916786903971e-314, blue = -9.5809801153242748e-12, alpha = 3.0800024927714433e-20, red_short = 15025, green_short = 16501, blue_short = 0, alpha_short = 0}}, surface = {base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, surface = 0x8267e00}, gradient = {base = {base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, n_stops = 136740352, stops_size = 2098692820, stops = 0xc07b6085, stops_embedded = {{x = 0, color = {red = 19386, green = 49235, blue = 4508, alpha = 48549}}, { x = 1083003585, color = {red = 11870, green = 15330, blue = 15025, alpha = 16501}}}}, linear = {base = {base = { type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, n_stops = 136740352, stops_size = 2098692820, stops = 0xc07b6085, stops_embedded = {{x = 0, color = {red = 19386, green = 49235, ---Type <return> to continue, or q <return> to quit--- blue = 4508, alpha = 48549}}, {x = 1083003585, color = {red = 11870, green = 15330, blue = 15025, alpha = 16501}}}}, gradient = {p1 = {x = 0, y = 1072693248}, p2 = {x = 0, y = 0}}}, radial = {base = { base = {type = CAIRO_PATTERN_TYPE_SURFACE, ref_count = 1, status = CAIRO_STATUS_SUCCESS, user_data = {size = 0, num_elements = 0, element_size = 12, elements = 0x0, is_snapshot = 0}, matrix = {xx = nan(0x8000000000000), yx = -nan(0x8000000000000), xy = nan(0x8000000000000), yy = -nan(0x8000000000000), x0 = nan(0x8000000000000), y0 = -nan(0x8000000000000)}, filter = CAIRO_FILTER_BEST, extend = CAIRO_EXTEND_REPEAT}, n_stops = 136740352, stops_size = 2098692820, stops = 0xc07b6085, stops_embedded = {{x = 0, color = {red = 19386, green = 49235, blue = 4508, alpha = 48549}}, {x = 1083003585, color = {red = 11870, green = 15330, blue = 15025, alpha = 16501}}}}, gradient = {c1 = {x = 0, y = 1072693248, radius = 0}, c2 = {x = 0, y = 0, radius = 0}}}}} #11 0xb7805dcc in *INT_cairo_fill_preserve (cr=0x8122408) at /build/buildd/libcairo-1.4.2/src/cairo.c:2047 No locals. #12 0xb6489273 in rsvg_cairo_render_path (ctx=0x812c940, bpath_def=0x8170190) at rsvg-cairo-draw.c:575 opacity = <value optimized out> state = (RsvgState *) 0x81258f8 cr = (cairo_t *) 0x8122408 bpath = <value optimized out> i = 11 need_tmpbuf = 0 bbox = {x = 666.18017578125, y = 280.1258544921875, w = 223.92292785644531, h = 23.51727294921875, virgin = 0, affine = {1, 0, 0, 1, 0, 0}} #13 0xb6483ffe in rsvg_render_path (ctx=0x812c940, d=0x83fbd10 "M 675.0605205999999 280.62585000000001 H 881.22276939999995 A8.3803406000000003 8.3803395999999992 0 0 1 889.60311000000002 289.00618960000003 V 294.76279140000003 A8.3803406000000003 8.38033959999999"...) at rsvg-base.c:1641 bpath_def = (RsvgBpathDef *) 0x8170190 #14 0xb647c072 in _rsvg_node_rect_draw (self=0x813e4d0, ctx=0x812c940, dominate=0) at rsvg-shapes.c:457 x = 666.68017999999995 y = 280.62585000000001 w = 222.92293000000001 h = 22.517281000000001 rx = 8.3803406000000003 ry = 8.3803395999999992 d = (GString *) 0x83fa130 buf = "280.62585000000001\000XNʶ�\nH�\000\000\000\000\000\000\000\000\000Nʶ" #15 0xb647c64e in rsvg_node_draw (self=0x0, ctx=0x812c940, dominate=0) at rsvg-structure.c:54 stacksave = (GSList *) 0x0 #16 0xb647c8aa in _rsvg_node_draw_children (self=0x81343f8, ctx=0x812c940, dominate=0) at rsvg-structure.c:73 i = 50 #17 0xb647c64e in rsvg_node_draw (self=0x0, ctx=0x812c940, dominate=0) at rsvg-structure.c:54 stacksave = (GSList *) 0x0 #18 0xb647d0ff in rsvg_node_svg_draw (self=0x8123710, ctx=0x812c940, dominate=0) at rsvg-structure.c:316 state = <value optimized out> affine = {1, 0, 0, 1, 0, 0} affine_old = {1, 0, 0, 1, 0, 0} affine_new = {1, 0, 0, 1, 0, 0} i = 12 nx = 0 ---Type <return> to continue, or q <return> to quit--- ny = 0 nw = 956.25 nh = 356.25 #19 0xb647c64e in rsvg_node_draw (self=0x0, ctx=0x812c940, dominate=0) at rsvg-structure.c:54 stacksave = (GSList *) 0x0 #20 0xb6489907 in rsvg_handle_render_cairo_sub (handle=0x80bae88, cr=0x8122408, id=0x0) at rsvg-cairo-render.c:161 drawsub = (RsvgNode *) 0x81250b0 __PRETTY_FUNCTION__ = "rsvg_handle_render_cairo_sub" #21 0xb6489e21 in rsvg_handle_get_pixbuf_sub (handle=0x80bae88, id=0x0) at rsvg.c:101 dimensions = {width = 956, height = 356, em = 956, ex = 356} output = <value optimized out> surface = (cairo_surface_t *) 0x810c818 cr = (cairo_t *) 0x8122408 rowstride = 3824 __PRETTY_FUNCTION__ = "rsvg_handle_get_pixbuf_sub" #22 0xb6489ef5 in rsvg_handle_get_pixbuf (handle=0x80bae88) at rsvg.c:135 No locals. #23 0xb6ce9c47 in gdk_pixbuf__svg_image_stop_load (data=0x810d8d0, error=0xb6ca51b8) at io-svg.c:154 pixbuf = <value optimized out> #24 0xb78b6954 in IA__gdk_pixbuf_loader_close (loader=0x810d470, error=0x80ed488) at gdk-pixbuf-loader.c:715 tmp = (GError *) 0x0 priv = (GdkPixbufLoaderPrivate *) 0x8109a30 retval = 1 __PRETTY_FUNCTION__ = "IA__gdk_pixbuf_loader_close" #25 0x08071645 in eog_image_load () No symbol table info available. #26 0x0806bd4b in ?? () No symbol table info available. #27 0x0810d390 in ?? () No symbol table info available. #28 0x00000007 in ?? () No symbol table info available. #29 0x080eb610 in ?? () No symbol table info available. #30 0x080ed488 in ?? () No symbol table info available. #31 0x0804fb1e in ?? () No symbol table info available. #32 0x080eb610 in ?? () No symbol table info available. #33 0x00000001 in ?? () No symbol table info available. #34 0x080eb610 in ?? () No symbol table info available. #35 0x00000001 in ?? () No symbol table info available. ---Type <return> to continue, or q <return> to quit--- #36 0xb76a7be0 in ?? () from /lib/tls/i686/cmov/libpthread.so.0 No symbol table info available. #37 0xb6ca5368 in ?? () No symbol table info available. #38 0x0807646a in eog_job_call_action () No symbol table info available. Backtrace stopped: frame did not save the PC Thread 1 (Thread -1226279232 (LWP 6292)): #0 0xffffe410 in __kernel_vsyscall () No symbol table info available. #1 0xb7623893 in poll () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #2 0xb775fe03 in g_main_context_iterate (context=0x80bdf60, block=1, dispatch=1, self=0x8095158) at gmain.c:2979 got_ownership = <value optimized out> max_priority = 2147483647 timeout = -1 some_ready = <value optimized out> nfds = 8 allocated_nfds = <value optimized out> fds = (GPollFD *) 0x8107ed0 __PRETTY_FUNCTION__ = "g_main_context_iterate" #3 0xb7760179 in IA__g_main_loop_run (loop=0x80e5b08) at gmain.c:2881 got_ownership = -1217764288 self = (GThread *) 0x8095158 __PRETTY_FUNCTION__ = "IA__g_main_loop_run" #4 0xb7a89044 in IA__gtk_main () at gtkmain.c:1177 tmp_list = (GList *) 0xbfb853c4 functions = (GList *) 0x0 init = (GtkInitFunction *) 0x809e410 loop = (GMainLoop *) 0x80e5b08 #5 0x0806b349 in main () No symbol table info available. 0xb7859a32 3576 y1 = MOD (y1, pict->pDrawable->height); another example on https://bugs.launchpad.net/ubuntu/+source/libcairo/+bug/111379, http://librarian.launchpad.net/7863868/perspectival_house_01.svg the bug still happens using 1.4.6 Created attachment 11410 [details]
SVG file crashing Nautilus directly
This SVG file contains patterns that makes Nautilus crash directly when opening the folder.
Created attachment 11411 [details]
SVG file freezing Nautilus at 100% CPU usage
This file is the same as the latter, just without some cross-pattern.
the examples work correctly on hardy, closing the bug |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.