The bug has been opened on https://bugs.launchpad.net/bugs/104309 "Binary package hint: nautilus When displaying a folder with a particular svg in it, Nautilus uses 100% and eventually stops responding. I've pinned it down to one svg feature in particular: patterns. If the pattern definition is removed from the svg, nautilus thumbnails it with no problems ... gdb backtrace points at libcairo ... http://librarian.launchpad.net/7216152/ep065.svg.gz svg that crashes nautilus ... this same file crashes eog and gthumb too. Looks like a librsvg or libcairo bug. ..."
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.