Hi,
I am experiencing the same problem since ubuntu 10.04 (0.18.0 version of
pixman), getting this backtrace in gdb (see the end of the mail).
I don't know if the problem is in clutter, cairo or pixman, but:
On 0.20.2 version of pixman and at line 420 of pixman/pixman.c, info is
NULL, so info->op failed...
I'am stuck on this problme for a long time...
Eric
#0 lookup_composite_function (op=<value optimized out>, src=0x87a5d20,
mask=0x87a66e8, dest=0x87a5c60, src_x=0, src_y=0, mask_x=1, mask_y=0,
dest_x=0,
dest_y=0, width=3, height=12) at ../../pixman/pixman.c:420
#1 pixman_image_composite32 (op=<value optimized out>, src=0x87a5d20,
mask=0x87a66e8, dest=0x87a5c60, src_x=0, src_y=0, mask_x=1, mask_y=0,
dest_x=0,
dest_y=0, width=3, height=12) at ../../pixman/pixman.c:826
#2 0xb72bc693 in _composite_glyphs (closure=0xbfffcd6c, dst=0x87a5c60,
dst_format=PIXMAN_a8, op=CAIRO_OPERATOR_ADD, pattern=0x0, dst_x=0, dst_y=0,
extents=0xbfffcd48, clip_region=0x0) at
/build/buildd/cairo-1.10.2/src/cairo-image-surface.c:4002
#3 0xb72bd971 in _clip_and_composite (dst=0x87a6400, op=CAIRO_OPERATOR_ADD,
src=0x0, draw_func=0xb72bc3c0 <_composite_glyphs>, draw_closure=0xbfffcd6c,
extents=0xbfffcd28, clip=0x0) at
/build/buildd/cairo-1.10.2/src/cairo-image-surface.c:2316
#4 0xb72be004 in _cairo_image_surface_glyphs (abstract_surface=0x87a6400,
op=CAIRO_OPERATOR_OVER, source=0xbfffded8, glyphs=0xbfffd6e0, num_glyphs=1,
scaled_font=0x8787c48, clip=0x0, num_remaining=0xbfffce70) at
/build/buildd/cairo-1.10.2/src/cairo-image-surface.c:4062
#5 0xb72e034b in _cairo_surface_show_text_glyphs (surface=0x87a6400,
op=CAIRO_OPERATOR_OVER, source=0xbfffded8, utf8=0x0, utf8_len=0,
glyphs=0xbfffd6e0,
num_glyphs=1, clusters=0xbfffcee0, num_clusters=0, cluster_flags=0,
scaled_font=0x8787c48, clip=0x0)
at /build/buildd/cairo-1.10.2/src/cairo-surface.c:2640
#6 0xb72b717a in _cairo_gstate_show_text_glyphs (gstate=0xb7343480,
utf8=0x0, utf8_len=0, glyphs=0xbfffe280, num_glyphs=1, clusters=0x0,
num_clusters=<value optimized out>, cluster_flags=0) at
/build/buildd/cairo-1.10.2/src/cairo-gstate.c:1981
#7 0xb72acb0d in cairo_show_glyphs (cr=0xb7343460, glyphs=0xbfffe280,
num_glyphs=1) at /build/buildd/cairo-1.10.2/src/cairo.c:3509
#8 0xb74b82d7 in cogl_pango_renderer_set_dirty_glyph (font=0x87234c8,
glyph=79, value=0x82d6e30) at cogl-pango-render.c:455
#9 0xb74b9427 in _cogl_pango_glyph_cache_set_dirty_glyphs_cb
(key_ptr=0x879e1d0, value_ptr=0x82d6e30, user_data=0xb74b8200) at
cogl-pango-glyph-cache.c:272
#10 0xb7862b44 in g_hash_table_foreach () from
/lib/i386-linux-gnu/libglib-2.0.so.0
#11 0xb74b996c in _cogl_pango_glyph_cache_set_dirty_glyphs (cache=0x82dc3e0,
func=0xb74b8200 <cogl_pango_renderer_set_dirty_glyph>)
at cogl-pango-glyph-cache.c:287
#12 0xb74b9163 in cogl_pango_ensure_glyph_cache_for_layout
(layout=0x8783850) at cogl-pango-render.c:558
#13 0xb745c893 in clutter_text_create_layout (text=<value optimized out>,
allocation_width=-1, allocation_height=-1) at ./clutter-text.c:722
#14 0xb745cd59 in clutter_text_get_preferred_width (self=0x82da148,
for_height=-1, min_width_p=0xbfffe48c, natural_width_p=0xbfffe488)
at ./clutter-text.c:1950
#15 0xb73ec429 in clutter_actor_get_preferred_width (self=0x82da148,
for_height=-1, min_width_p=0xbfffe4d0, natural_width_p=0xbfffe4c8)
at ./clutter-actor.c:5478
#16 0xb73ec81b in clutter_actor_get_preferred_size (self=0x82da148,
min_width_p=0x0, min_height_p=0x0, natural_width_p=0xbfffe550,
natural_height_p=0xbfffe54c) at ./clutter-actor.c:5358
#17 0xb73f61d4 in clutter_actor_allocate_preferred_size (self=0x82da148,
flags=CLUTTER_ALLOCATION_NONE) at ./clutter-actor.c:9908
#18 0xb742407e in clutter_fixed_layout_allocate (manager=0x83908b0,
container=0x82d2078, allocation=0xbfffe704, flags=CLUTTER_ALLOCATION_NONE)
at ./clutter-fixed-layout.c:149
#19 0xb742ba2f in clutter_layout_manager_allocate (manager=0x83908b0,
container=0x82d2078, allocation=0xbfffe704, flags=CLUTTER_ALLOCATION_NONE)
at ./clutter-layout-manager.c:699
#20 0xb7427250 in clutter_group_real_allocate (actor=0x82d2078,
allocation=0xbfffe704, flags=CLUTTER_ALLOCATION_NONE) at
./clutter-group.c:342
#21 0xb744dc95 in clutter_stage_allocate (self=0x82d2078, box=0xbfffe704,
flags=CLUTTER_ALLOCATION_NONE) at ./clutter-stage.c:301
#22 0xb73f534e in clutter_actor_allocate (self=0x82d2078, box=0xbfffe76c,
flags=CLUTTER_ALLOCATION_NONE) at ./clutter-actor.c:5790
#23 0xb744b3e3 in _clutter_stage_maybe_relayout (actor=0x82d2078) at
./clutter-stage.c:801
#24 0xb744b434 in clutter_stage_show (self=0x82d2078) at
./clutter-stage.c:548
#25 0xb793b48c in g_cclosure_marshal_VOID__VOID () from
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#26 0xb791dcc7 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#27 0xb791f372 in g_closure_invoke () from
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#28 0xb79317b6 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#29 0xb793ab29 in g_signal_emit_valist () from
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#30 0xb793acc2 in g_signal_emit () from
/usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#31 0xb73f4ed5 in clutter_actor_show (self=0x82d2078) at
./clutter-actor.c:1243
#32 0xb7fd8357 in ffi_call_SYSV () from /usr/lib/libffi.so.5
#33 0xb7fd80af in ffi_call () from /usr/lib/libffi.so.5
#34 0xb7961b78 in ?? () from /usr/lib/libgirepository-1.0.so.1
#35 0xb7962f4e in g_function_info_invoke () from
/usr/lib/libgirepository-1.0.so.1
#36 0xb79a5bc6 in ?? () from /usr/lib/python2.7/dist-packages/gi/_gi.so
#37 0x080de822 in PyEval_EvalFrameEx ()
#38 0x080e16ee in PyEval_EvalCodeEx ()
2011/6/9 Amperbiguous <[email protected]>
> Hi,
>
> I'm trying to render text through Clutter and seem to be running
> straight into a segfault condition. I'm wondering where I am going
> astray and looking for pointers.
>
> Here is a snippet of test code that fails unexpectedly [ available at
> http://pastebin.com/pNh7zACq ]:
>
> #!/usr/bin/python
> # test.py
> from gi.repository import Clutter
> import sys
> Clutter.init(sys.argv)
> mainStage = Clutter.Stage.get_default()
> txtColor = Clutter.Color.new(255,255,255,255) # White
> txtFont = "Sans 12"
> txtString = "Hello"
> txt = Clutter.Text.new_full(txtFont, txtString, txtColor)
> txt.set_size(200,200)
> txt.get_width()
>
>
> Pasting that into a python interactive terminal will be as expected
> until you execute txt.get_width() which creates the Segmentation Fault
> condition.
>
> The output from "./test.py --cluter-debug=all --cogl-debug=all " is
> at: http://pastebin.com/GEGXrC9p
> dmesg shows:
> [ 4661.699818] test.py[3635]: segfault at 8 ip 00007ffcea3324d8 sp
> 00007fff15847040 error 4 in libpixman-1.so.0.23.1[7ffcea2ff000+70000]
>
> Additional details:
> * pkg-config --list-all : http://pastebin.com/jHFsiMgY
> * I just setup this computer with a fresh install of Xubuntu and have
> primarily been working on getting a Gnome-Dev environment built.
> * I originally ran into this issue with a mostly apt-get installed
> base (I believe I had the GNOME3 PPA configured and GTK3 installed
> though)
> * I've compiled the latest pango, cairo, gtk3, cogl, json-glib,
> pygobject, py2cairo, clutter, etc.. from the git heads in an attempt
> to solve the issue with no luck. Everything was basically configured
> with "gobject-introspection=yes --enable-gtk-doc".
>
>
> So: can anyone reproduce this segfault condition? Any suggestions on
> what I can try to solve this issue?
>
>
> Cheers!
> _______________________________________________
> clutter-app-devel-list mailing list
> [email protected]
> http://lists.clutter-project.org/listinfo/clutter-app-devel-list
>
_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list