Bug 10981

Summary: gnome-theme-manager crashed with SIGSEGV in XSetClipMask()
Product: cairo Reporter: Sebastien Bacher <seb128>
Component: generalAssignee: Carl Worth <cworth>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium    
Version: 1.4.2   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Sebastien Bacher 2007-05-17 09:11:28 UTC
The bug has been opened on https://bugs.launchpad.net/ubuntu/+source/control-center/+bug/113655

"may be related to some monkeying around I did with libcairo, I installed (and removed) svn snapshot of cairo at one point.
...
#0  XSetClipMask (dpy=0x807bc08, gc=0x0, mask=0) at ../../src/SetClMask.c:43
No locals.
#1  0xb7496b09 in fbCompositeSolidMask_nx8x0565 (op=135074384, pSrc=0x18, pMask=0xbf9da0a8, pDst=0xb7492550, xSrc=0, ySrc=0, xMask=-18530, yMask=31164, xDst=-18532, yDst=-23978, 
    width=49053, height=41560) at /build/buildd/libcairo-1.4.2/pixman/src/fbpict.c:427
	src = 3078893104
	srca5 = 3214778360
	dstLine = <value optimized out>
	dst = (CARD16 *) 0xb79ef451
	d = <value optimized out>
	t = <value optimized out>
	maskLine = (CARD8 *) 0xb74c4efc " M\a"
	mask = (CARD8 *) 0x80d1250 ""
	m = <value optimized out>
	dstStride = <value optimized out>
	maskStride = 0
	w = 4688
	src16 = 41000
#2  0xb7494412 in pixman_op (newReg=0xb749240e, reg1=<value optimized out>, reg2=<value optimized out>, overlapFunc=0xbf9da018, appendNon1=135203040, appendNon2=-1214350916, 
    pOverlap=0xb79ca256) at /build/buildd/libcairo-1.4.2/pixman/src/pixregion.c:494
	r1 = (pixman_box16_t *) 0xb7491d66
	r2 = (pixman_box16_t *) 0x1
	r1End = (pixman_box16_t *) 0xb79f07fc
	r2End = (pixman_box16_t *) 0xb7842e30
	ybot = -16483
	ytop = <value optimized out>
	oldData = (pixman_region16_data_t *) 0xb79ef451
	prevBand = 6262
	curBand = 65536
	r1BandEnd = (pixman_box16_t *) 0x0
	r2BandEnd = (pixman_box16_t *) 0x832ce00
	top = -20032
	bot = 0
	r1y1 = -1221992550
	r2y1 = <value optimized out>
	newSize = <value optimized out>
	numRects = <value optimized out>
#3  0xb74947e5 in pixman_op (newReg=0x4b, reg1=<value optimized out>, reg2=<value optimized out>, overlapFunc=0x6, appendNon1=6, appendNon2=6, pOverlap=0x6)
    at /build/buildd/libcairo-1.4.2/pixman/src/pixregion.c:572
	r1 = (pixman_box16_t *) 0x0
	r2 = (pixman_box16_t *) 0x0
	r1End = (pixman_box16_t *) 0xc
	r2End = (pixman_box16_t *) 0xbf9da198
	ybot = -16483
	ytop = <value optimized out>
	oldData = (pixman_region16_data_t *) 0xbf9da144
	prevBand = -1080188676
	curBand = -6
	r1BandEnd = (pixman_box16_t *) 0xb74c4efc
	r2BandEnd = <value optimized out>
	top = -23608
	bot = -23069
	r1y1 = 0
	r2y1 = <value optimized out>
	newSize = <value optimized out>
	numRects = <value optimized out>
#4  0xb746c3de in _cairo_surface_mask (surface=0x0, op=3214779652, source=0x0, mask=0x832ce00) at /build/buildd/libcairo-1.4.2/src/cairo-surface.c:1284
	status = <value optimized out>
	dev_source = {base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, status = 1072693248, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, 
      is_snapshot = 0}, matrix = {xx = -nan(0xffffa00000003), yx = 2.1219957880008784e-314, xy = -2.3001927682663948e-42, yy = 1.5883120288779337e-314, 
      x0 = -2.5387970627444266e-42, y0 = 6.7957377821856441e-316}, filter = 3214778872, extend = 3074868190}, solid = {base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, 
      status = 1072693248, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = -nan(0xffffa00000003), 
        yx = 2.1219957880008784e-314, xy = -2.3001927682663948e-42, yy = 1.5883120288779337e-314, x0 = -2.5387970627444266e-42, y0 = 6.7957377821856441e-316}, 
      filter = 3214778872, extend = 3074868190}, color = {red = -0.028949797153472907, green = 3.5595082651292834e-269, blue = 1.2731974748756028e-313, 
      alpha = 1.2731974748756028e-313, red_short = 6, green_short = 0, blue_short = 6, alpha_short = 0}}, surface = {base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, 
      status = 1072693248, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = -nan(0xffffa00000003), 
        yx = 2.1219957880008784e-314, xy = -2.3001927682663948e-42, yy = 1.5883120288779337e-314, x0 = -2.5387970627444266e-42, y0 = 6.7957377821856441e-316}, 
      filter = 3214778872, extend = 3074868190}, surface = 0x2}, gradient = {base = {base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, status = 1072693248, user_data = {
          size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = -nan(0xffffa00000003), yx = 2.1219957880008784e-314, 
          xy = -2.3001927682663948e-42, yy = 1.5883120288779337e-314, x0 = -2.5387970627444266e-42, y0 = 6.7957377821856441e-316}, filter = 3214778872, extend = 3074868190}, 
      n_stops = 2, stops_size = 3214779652, stops = 0x0, stops_embedded = {{x = 137547264, color = {red = 6, green = 0, blue = 6, alpha = 0}}, {x = 6, color = {red = 6, 
            green = 0, blue = 6, alpha = 0}}}}, linear = {base = {base = {type = CAIRO_PATTERN_TYPE_SOLID, ref_count = 0, status = 1072693248, user_data = {size = 0, 
            num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = -nan(0xffffa00000003), yx = 2.1219957880008784e-314, 
            xy = -2.3001927682663948e-42, yy = 1.5883120288779337e-314, x0 = -2.5387970627444266e-42, y0 = 6.7957377821856441e-316}, filter = 3214778872, extend = 3074868190}, 
        n_stops = 2, stops_size = 3214779652, stops = 0x0, stops_embedded = {{x = 137547264, color = {red = 6, green = 0, blue = 6, alpha = 0}}, {x = 6, color = {red = 6, 
              green = 0, blue = 6, alpha = 0}}}}, gradient = {p1 = {x = 6, y = 75}, p2 = {x = 12, y = 6}}}, radial = {base = {base = {type = CAIRO_PATTERN_TYPE_SOLID, 
          ref_count = 0, status = 1072693248, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, matrix = {xx = -nan(0xffffa00000003), 
            yx = 2.1219957880008784e-314, xy = -2.3001927682663948e-42, yy = 1.5883120288779337e-314, x0 = -2.5387970627444266e-42, y0 = 6.7957377821856441e-316}, 
          filter = 3214778872, extend = 3074868190}, n_stops = 2, stops_size = 3214779652, stops = 0x0, stops_embedded = {{x = 137547264, color = {red = 6, green = 0, blue = 6, 
              alpha = 0}}, {x = 6, color = {red = 6, green = 0, blue = 6, alpha = 0}}}}, gradient = {c1 = {x = 6, y = 75, radius = 12}, c2 = {x = 6, y = 6, radius = 6}}}}}
	dev_mask = {base = {type = 6, ref_count = 6, status = 75, user_data = {size = 12, num_elements = 3214778776, element_size = 3214778772, elements = 0xbf9da144, 
      is_snapshot = -1080188676}, matrix = {xx = -0.028936039634034447, yx = -0.028935503192230691, xy = 3.5683811565255342e-269, yy = -1.8281225910081337e-40, 
      x0 = -1.2257654677352403e-40, y0 = 1.6615481974709479e-269}, filter = 134630720, extend = 134630754}, solid = {base = {type = 6, ref_count = 6, status = 75, user_data = {
        size = 12, num_elements = 3214778776, element_size = 3214778772, elements = 0xbf9da144, is_snapshot = -1080188676}, matrix = {xx = -0.028936039634034447, 
        yx = -0.028935503192230691, xy = 3.5683811565255342e-269, yy = -1.8281225910081337e-40, x0 = -1.2257654677352403e-40, y0 = 1.6615481974709479e-269}, filter = 134630720, 
      extend = 134630754}, color = {red = 1.519274939262216e-314, green = 0, blue = 0, alpha = -0.028936922550201416, red_short = 20220, green_short = 46924, blue_short = 41928, 
      alpha_short = 49053}}, surface = {base = {type = 6, ref_count = 6, status = 75, user_data = {size = 12, num_elements = 3214778776, element_size = 3214778772, 
        elements = 0xbf9da144, is_snapshot = -1080188676}, matrix = {xx = -0.028936039634034447, yx = -0.028935503192230691, xy = 3.5683811565255342e-269, 
        yy = -1.8281225910081337e-40, x0 = -1.2257654677352403e-40, y0 = 1.6615481974709479e-269}, filter = 134630720, extend = 134630754}, surface = 0xb7497d37}, gradient = {
    base = {base = {type = 6, ref_count = 6, status = 75, user_data = {size = 12, num_elements = 3214778776, element_size = 3214778772, elements = 0xbf9da144, 
          is_snapshot = -1080188676}, matrix = {xx = -0.028936039634034447, yx = -0.028935503192230691, xy = 3.5683811565255342e-269, yy = -1.8281225910081337e-40, 
          x0 = -1.2257654677352403e-40, y0 = 1.6615481974709479e-269}, filter = 134630720, extend = 134630754}, n_stops = 3075046711, stops_size = 0, stops = 0x0, 
      stops_embedded = {{x = 0, color = {red = 0, green = 0, blue = 0, alpha = 0}}, {x = 0, color = {red = 41380, green = 49053, blue = 20220, alpha = 46924}}}}, linear = {
      base = {base = {type = 6, ref_count = 6, status = 75, user_data = {size = 12, num_elements = 3214778776, element_size = 3214778772, elements = 0xbf9da144, 
            is_snapshot = -1080188676}, matrix = {xx = -0.028936039634034447, yx = -0.028935503192230691, xy = 3.5683811565255342e-269, yy = -1.8281225910081337e-40, 
            x0 = -1.2257654677352403e-40, y0 = 1.6615481974709479e-269}, filter = 134630720, extend = 134630754}, n_stops = 3075046711, stops_size = 0, stops = 0x0, 
        stops_embedded = {{x = 0, color = {red = 0, green = 0, blue = 0, alpha = 0}}, {x = 0, color = {red = 41380, green = 49053, blue = 20220, alpha = 46924}}}}, gradient = {
        p1 = {x = -1080187960, y = 0}, p2 = {x = 1072693248, y = 0}}}, radial = {base = {base = {type = 6, ref_count = 6, status = 75, user_data = {size = 12, 
            num_elements = 3214778776, element_size = 3214778772, elements = 0xbf9da144, is_snapshot = -1080188676}, matrix = {xx = -0.028936039634034447, 
            yx = -0.028935503192230691, xy = 3.5683811565255342e-269, yy = -1.8281225910081337e-40, x0 = -1.2257654677352403e-40, y0 = 1.6615481974709479e-269}, 
          filter = 134630720, extend = 134630754}, n_stops = 3075046711, stops_size = 0, stops = 0x0, stops_embedded = {{x = 0, color = {red = 0, green = 0, blue = 0, 
              alpha = 0}}, {x = 0, color = {red = 41380, green = 49053, blue = 20220, alpha = 46924}}}}, gradient = {c1 = {x = -1080187960, y = 0, radius = 1072693248}, c2 = {
          x = 0, y = 0, radius = 0}}}}}
	__PRETTY_FUNCTION__ = "_cairo_surface_mask"
#5  0xb746ed25 in _cairo_trapezoid_array_translate_and_scale (offset_traps=0xbf9da434, src_traps=0x0, num_traps=0, tx=-0.02894670142122777, ty=-8.9098791666468471e-41, 
    sx=-0.028946529566094278, sy=-2.3534389793309462e-185) at /build/buildd/libcairo-1.4.2/src/cairo-traps.c:272
	i = <value optimized out>
	xoff = 393222
	yoff = 1179729
#6  0xb746f051 in _cairo_traps_contain (traps=0x832ce00, x=-0.028949797153472907, y=6.7959836292510147e-316) at /build/buildd/libcairo-1.4.2/src/cairo-traps.c:512
	i = 5308416
	point = {x = 393222, y = 786507}
#7  0xb746c6db in ?? () at /build/buildd/libcairo-1.4.2/src/cairo-surface.c:1762 from /usr/lib/libcairo.so.2
	_cairo_surface_nil_write_error = {backend = 0x6e980, type = CAIRO_SURFACE_TYPE_IMAGE, content = CAIRO_CONTENT_COLOR, ref_count = 4294967295, 
  status = CAIRO_STATUS_WRITE_ERROR, finished = 0, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, device_transform = {xx = 1, 
    yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, device_transform_inverse = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, x_fallback_resolution = 0, y_fallback_resolution = 0, 
  clip = 0x0, next_clip_serial = 0, current_clip_serial = 0, is_snapshot = 0, has_font_options = 0, font_options = {antialias = CAIRO_ANTIALIAS_DEFAULT, 
    subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT, hint_style = CAIRO_HINT_STYLE_DEFAULT, hint_metrics = CAIRO_HINT_METRICS_DEFAULT}}
	_cairo_surface_nil = {backend = 0x6e980, type = CAIRO_SURFACE_TYPE_IMAGE, content = CAIRO_CONTENT_COLOR, ref_count = 4294967295, status = CAIRO_STATUS_NO_MEMORY, 
  finished = 0, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, device_transform = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, 
  device_transform_inverse = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, x_fallback_resolution = 0, y_fallback_resolution = 0, clip = 0x0, next_clip_serial = 0, 
  current_clip_serial = 0, is_snapshot = 0, has_font_options = 0, font_options = {antialias = CAIRO_ANTIALIAS_DEFAULT, subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT, 
    hint_style = CAIRO_HINT_STYLE_DEFAULT, hint_metrics = CAIRO_HINT_METRICS_DEFAULT}}
	_cairo_surface_nil_read_error = {backend = 0x6e980, type = CAIRO_SURFACE_TYPE_IMAGE, content = CAIRO_CONTENT_COLOR, ref_count = 4294967295, 
  status = CAIRO_STATUS_READ_ERROR, finished = 0, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, device_transform = {xx = 1, yx = 0, 
    xy = 0, yy = 1, x0 = 0, y0 = 0}, device_transform_inverse = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, x_fallback_resolution = 0, y_fallback_resolution = 0, 
  clip = 0x0, next_clip_serial = 0, current_clip_serial = 0, is_snapshot = 0, has_font_options = 0, font_options = {antialias = CAIRO_ANTIALIAS_DEFAULT, 
    subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT, hint_style = CAIRO_HINT_STYLE_DEFAULT, hint_metrics = CAIRO_HINT_METRICS_DEFAULT}}
	_cairo_surface_nil_file_not_found = {backend = 0x6e980, type = CAIRO_SURFACE_TYPE_IMAGE, content = CAIRO_CONTENT_COLOR, ref_count = 4294967295, 
  status = CAIRO_STATUS_FILE_NOT_FOUND, finished = 0, user_data = {size = 0, num_elements = 0, element_size = 0, elements = 0x0, is_snapshot = 0}, device_transform = {xx = 1, 
    yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, device_transform_inverse = {xx = 1, yx = 0, xy = 0, yy = 1, x0 = 0, y0 = 0}, x_fallback_resolution = 0, y_fallback_resolution = 0, 
  clip = 0x0, next_clip_serial = 0, current_clip_serial = 0, is_snapshot = 0, has_font_options = 0, font_options = {antialias = CAIRO_ANTIALIAS_DEFAULT, 
    subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT, hint_style = CAIRO_HINT_STYLE_DEFAULT, hint_metrics = CAIRO_HINT_METRICS_DEFAULT}}
#8  0x0832ce00 in ?? ()
#9  0x00000002 in ?? ()
#10 0xbf9da504 in ?? ()
#11 0x0832e170 in ?? ()
#12 0x00000000 in ?? ()"
Comment 1 Chris Wilson 2008-10-10 06:51:41 UTC
Weird stacktrace, but XSetClipMask(gc=NULL) seems a familar bug that I've fixed, reintroduced and then had to fix again in 1.6.

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.