[cairo] Crash in sse2_composite_add_8_8

LRN lrn1986 at gmail.com
Sun May 12 20:41:50 PDT 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Happens in gtk every time i have at least two windows on the screen. If
i start dragging windows around and resizing them, i get a SIGSEGV.

This does not depend on cairo version much (happens as early as 1.12.6;
i haven't been able to make 1.12.(2,4) to work - maybe i needed to
recompile gtk against them, i don't know), but does depend on pixman
version (0.26.2 doesn't crash, 0.28.2 does). I suspect pixman glyph cache.

Backtrace is attached.


- -- 
O< ascii ribbon - stop html email! - www.asciiribbon.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (MingW32)

iQEcBAEBAgAGBQJRkGD9AAoJEOs4Jb6SI2CwaPkH/0QhSKtEhkFEz7yh3saigqTJ
NMoGycE7akgb6ZtY6ubWaHc0AK5oAjNOGcolW/T4aynvTvvgJdIgBgLrTFzpKOXc
+IYl2KMniYtKOpZ6pgUieZBlnAm/VhX5bSgG7zjzB74iC0rlWuYpKKOmwVOwVuho
HDjpHnaVjKzrF01dujzADFYCOYHCG4f8c6D246dsOhuiJ9ramTQA6Rf4sXp3i1Jw
I5hWmru4EiBZs7aVbcJIhHpHfv049NeCCKxMoAUNCuS1bqSvv1rYLBruM5YEYKm6
Gd1Kyk0sFXrq65zJlrK1Vzl3HNLutK0B/xnIb3DglvXK3PGeiL3D389OAgnXwtc=
=F4eB
-----END PGP SIGNATURE-----
-------------- next part --------------
#0  0x009664a0 in _mm_set_epi32 (__q0=0, __q1=0, __q2=0, __q3=0) at f:/s29/mingw/lib/gcc/i686-w64-mingw32/4.8.0/include/emmintrin.h:585
#1  _mm_cvtsi32_si128 (__A=0) at f:/s29/mingw/lib/gcc/i686-w64-mingw32/4.8.0/include/emmintrin.h:1461
#2  sse2_combine_add_u (width=3, mask=0x0, src=0x3395ee8, dst=0x33d0a28, op=PIXMAN_OP_ADD, imp=0xb333e0) at ../../pixman-0.30.0/pixman/pixman-sse2.c:1368
#3  sse2_composite_add_8_8 (imp=0xb333e0, info=0x28a260) at ../../pixman-0.30.0/pixman/pixman-sse2.c:4484
#4  0x008a78c2 in add_glyphs (cache=0x3375df0, dest=0x33d0710, off_x=0, off_y=0, n_glyphs=7, glyphs=0x28a3e4) at ../../pixman-0.30.0/pixman/pixman-glyph.c:606
#5  0x008a79f0 in pixman_composite_glyphs (op=PIXMAN_OP_OVER, src=0x33d0330, dest=0x33c7db8, mask_format=PIXMAN_a8, src_x=0, src_y=0, mask_x=0, mask_y=0, dest_x=0, dest_y=0, width=50, height=12, cache=0x3375df0, n_glyphs=7, glyphs=0x28a3e4) at ../../pixman-0.30.0/pixman/pixman-glyph.c:661
#6  0x68dec934 in composite_glyphs (_dst=0x33cb6f0, op=CAIRO_OPERATOR_OVER, _src=0x33d05f0, src_x=0, src_y=0, dst_x=0, dst_y=0, info=0x28ac5c) at ../../cairo-1.12.6/src/cairo-image-compositor.c:870
#7  0x68e53908 in composite_glyphs (clip=<optimized out>, extents=0x28ad14, dst_y=0, dst_x=0, src_y=<optimized out>, src_x=<optimized out>, src=0x33d05f0, op=CAIRO_OPERATOR_OVER, closure=0x28ac5c, dst=0x33cb6f0, compositor=0x68ec1260) at ../../cairo-1.12.6/src/cairo-traps-compositor.c:2256
#8  clip_and_composite (need_clip=0, draw_closure=0x28ac5c, mask_func=0x0, draw_func=0x68e4f8a0 <composite_glyphs>, extents=0x28acdc, compositor=0x68ec1260) at ../../cairo-1.12.6/src/cairo-traps-compositor.c:1038
#9  _cairo_traps_compositor_glyphs (_compositor=0x68ec1260, extents=0x28acdc, scaled_font=0x3310048, glyphs=0x33d8898, num_glyphs=7, overlap=1) at ../../cairo-1.12.6/src/cairo-traps-compositor.c:2299
#10 0x68ddf17f in _cairo_compositor_glyphs (compositor=0x68ec1260, surface=surface at entry=0x33cb6f0, op=op at entry=CAIRO_OPERATOR_OVER, source=source at entry=0x28b134, glyphs=glyphs at entry=0x33d8898, num_glyphs=num_glyphs at entry=7, scaled_font=scaled_font at entry=0x3310048, clip=clip at entry=0x346d0e8) at ../../cairo-1.12.6/src/cairo-compositor.c:250
#11 0x68df3a89 in _cairo_image_surface_glyphs (abstract_surface=0x33cb6f0, op=CAIRO_OPERATOR_OVER, source=0x28b134, glyphs=0x33d8898, num_glyphs=7, scaled_font=0x3310048, clip=0x346d0e8) at ../../cairo-1.12.6/src/cairo-image-surface.c:996
#12 0x68e3ae18 in _cairo_surface_show_text_glyphs (surface=surface at entry=0x33cb6f0, op=op at entry=CAIRO_OPERATOR_OVER, source=0x28b134, utf8=utf8 at entry=0x0, utf8_len=utf8_len at entry=0, glyphs=glyphs at entry=0x33d8898, num_glyphs=num_glyphs at entry=7, clusters=clusters at entry=0x0, num_clusters=num_clusters at entry=0, cluster_flags=cluster_flags at entry=(unknown: 0), scaled_font=scaled_font at entry=0x3310048, clip=clip at entry=0x346d0e8) at ../../cairo-1.12.6/src/cairo-surface.c:2487
#13 0x68e4338e in _cairo_surface_offset_glyphs (surface=surface at entry=0x33cb6f0, x=49, y=50, op=CAIRO_OPERATOR_OVER, source=0x28b134, source at entry=0x28b36c, scaled_font=scaled_font at entry=0x3310048, glyphs=glyphs at entry=0x33cb1f8, num_glyphs=num_glyphs at entry=7, clip=0x346e0c0) at ../../cairo-1.12.6/src/cairo-surface-offset.c:296
#14 0x68de2a7f in _cairo_fallback_compositor_glyphs (_compositor=0x68eaf7c8, extents=0x28b2ec, scaled_font=0x3310048, glyphs=0x33cb1f8, num_glyphs=7, overlap=1) at ../../cairo-1.12.6/src/cairo-fallback-compositor.c:166
#15 0x68ddf17f in _cairo_compositor_glyphs (compositor=0x68eaf7c8, surface=surface at entry=0x33c8cd8, op=op at entry=CAIRO_OPERATOR_OVER, source=source at entry=0x28ba2c, glyphs=glyphs at entry=0x33cb1f8, num_glyphs=num_glyphs at entry=7, scaled_font=scaled_font at entry=0x3310048, clip=clip at entry=0x346e070) at ../../cairo-1.12.6/src/cairo-compositor.c:250
#16 0x68e70149 in _cairo_win32_display_surface_glyphs (surface=0x33c8cd8, op=CAIRO_OPERATOR_OVER, source=0x28ba2c, glyphs=0x33cb1f8, num_glyphs=7, scaled_font=0x3310048, clip=0x346e070) at ../../cairo-1.12.6/src/win32/cairo-win32-display-surface.c:854
#17 0x68e3ae18 in _cairo_surface_show_text_glyphs (surface=surface at entry=0x33c8cd8, op=op at entry=CAIRO_OPERATOR_OVER, source=source at entry=0x28ba2c, utf8=utf8 at entry=0x0, utf8_len=utf8_len at entry=0, glyphs=glyphs at entry=0x33cb1f8, num_glyphs=num_glyphs at entry=7, clusters=clusters at entry=0x0, num_clusters=num_clusters at entry=0, cluster_flags=cluster_flags at entry=(unknown: 0), scaled_font=scaled_font at entry=0x3310048, clip=clip at entry=0x346e070) at ../../cairo-1.12.6/src/cairo-surface.c:2487
#18 0x68e431de in _cairo_surface_offset_glyphs (surface=0x33c8cd8, x=0, y=0, op=op at entry=CAIRO_OPERATOR_OVER, source=source at entry=0x28ba2c, scaled_font=scaled_font at entry=0x3310048, glyphs=glyphs at entry=0x28bd54, num_glyphs=num_glyphs at entry=7, clip=clip at entry=0x346e070) at ../../cairo-1.12.6/src/cairo-surface-offset.c:296
#19 0x68e43acd in _cairo_surface_subsurface_glyphs (abstract_surface=0x33c8b80, op=CAIRO_OPERATOR_OVER, source=0x28ba2c, glyphs=0x28bd54, num_glyphs=7, scaled_font=0x3310048, clip=0x33c6220) at ../../cairo-1.12.6/src/cairo-surface-subsurface.c:215
#20 0x68e3ae18 in _cairo_surface_show_text_glyphs (surface=0x33c8b80, op=op at entry=CAIRO_OPERATOR_OVER, source=source at entry=0x28ba2c, utf8=0x0, utf8_len=0, glyphs=0x28bd54, num_glyphs=7, clusters=0x0, num_clusters=0, cluster_flags=(unknown: 0), scaled_font=0x3310048, clip=0x33c6220) at ../../cairo-1.12.6/src/cairo-surface.c:2487
#21 0x68dea88f in _cairo_gstate_show_text_glyphs (gstate=0x33d0040, glyphs=0x28cde4, num_glyphs=7, info=0x0) at ../../cairo-1.12.6/src/cairo-gstate.c:2008
#22 0x68dd87ae in cairo_show_glyphs (cr=0x331adc8, glyphs=0x28cde4, num_glyphs=7) at ../../cairo-1.12.6/src/cairo.c:3315
#23 0x6d4c468c in pango_cairo_renderer_show_text_glyphs (renderer=renderer at entry=0x3364058, text=text at entry=0x0, text_len=text_len at entry=0, clusters=clusters at entry=0x0, num_clusters=num_clusters at entry=0, backward=backward at entry=0, font=font at entry=0x22a2180, x=x at entry=0, y=y at entry=13312, glyphs=0x22cce00, glyphs=0x22cce00) at ../../pango-1.34.0/pango/pangocairo-render.c:367
#24 0x6d4c497e in pango_cairo_renderer_draw_glyphs (renderer=0x3364058, font=0x22a2180, glyphs=0x22cce00, x=0, y=13312) at ../../pango-1.34.0/pango/pangocairo-render.c:383
#25 0x65599ea7 in pango_renderer_draw_glyphs (renderer=0x3364058, font=0x22a2180, glyphs=0x22cce00, x=0, y=13312) at ../../pango-1.34.0/pango/pango-renderer.c:641
#26 0x6559aa0b in pango_renderer_draw_layout_line (renderer=renderer at entry=0x3364058, line=line at entry=0x33f1c48, x=0, y=13312) at ../../pango-1.34.0/pango/pango-renderer.c:570
#27 0x6559ac07 in pango_renderer_draw_layout (renderer=0x3364058, layout=0x2348528, x=0, y=0) at ../../pango-1.34.0/pango/pango-renderer.c:194
#28 0x6d4c4b0b in _pango_cairo_do_layout (cr=0x331adc8, layout=0x2348528, do_path=0) at ../../pango-1.34.0/pango/pangocairo-render.c:877
#29 0x6661d01e in gtk_theming_engine_render_layout (engine=0x22642c0, cr=0x331adc8, x=25, y=5, layout=0x2348528) at ../../gtk+-3.9.1a1/gtk/gtkthemingengine.c:2038


More information about the cairo mailing list