[cairo] GIMP crashing with GTKDFB
Attilio Fiandrotti
attilio.fiandrotti at gmail.com
Wed Oct 4 07:55:06 PDT 2006
Hi
Today i ran into a crash while testing the GIMP in a DirectFrameBuffer
environment.
I was using GTK+ from cvs HEAD, cairo 1.4.2 and DFB 0.9.25.1 and i
repeated tests rendering on both SDL and fb with the same result.
I can easily reproduce this bug it by closing the fonts window just
after GIMP has started.
I never ran into this before, i don't even know if this is really
related to cairodfb or gtkdfb or dfb or what else, but for sure it's a
crasher, at least on my system.
I wonder if this crash can be due to something in the gtk or glib core
that causes crashes like [1].
Attached to this mail are some debugging informations, please ask if you
need more debug datas.
cheers
Attilio
[1] http://bugzilla.gnome.org/show_bug.cgi?id=357611
-------------- next part --------------
*** glibc detected *** corrupted double-linked list: 0xa77264f8 ***
Program received signal SIGABRT, Aborted.
[Switching to Thread -1492587776 (LWP 4565)]
0xffffe410 in __kernel_vsyscall ()
(gdb) i threads
4 Thread -1518273616 (LWP 4570) 0xffffe410 in __kernel_vsyscall ()
3 Thread -1505510480 (LWP 4569) 0xffffe410 in __kernel_vsyscall ()
2 Thread -1496679504 (LWP 4568) 0xffffe410 in __kernel_vsyscall ()
* 1 Thread -1492587776 (LWP 4565) 0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xa7620821 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xa7621fb9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xa7655c4a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6
#4 0xa765bc9c in malloc_usable_size () from /lib/tls/i686/cmov/libc.so.6
#5 0xa765db78 in free () from /lib/tls/i686/cmov/libc.so.6
#6 0xa765f83f in malloc () from /lib/tls/i686/cmov/libc.so.6
#7 0xa793338b in _cairo_path_arg_buf_create () at cairo-path.c:462
#8 0xa7933203 in _cairo_path_fixed_add (path=0x8b38208, op=CAIRO_PATH_OP_MOVE_TO, points=0xaff09dec, num_points=1)
at cairo-path.c:384
#9 0xa7932dce in _cairo_path_fixed_move_to (path=0x8b38208, x=0, y=0) at cairo-path.c:187
#10 0xa79281da in *INT_cairo_move_to (cr=0x8b38200, x=0, y=0) at cairo.c:1209
#11 0xa7928933 in cairo_rectangle (cr=0x8b38200, x=0, y=0, width=238, height=176) at cairo.c:1611
#12 0xa7a045c3 in IA__gdk_cairo_rectangle (cr=0x6, rectangle=0x0) at gdkcairo.c:90
#13 0xa7c32b05 in gtk_default_draw_focus (style=0xa4f80f00, window=0x8b2e2c0, state_type=GTK_STATE_NORMAL, area=0xaff0a76c,
widget=0x87a28c0, detail=0x0, x=1, y=1, width=236, height=174) at gtkstyle.c:4586
#14 0xa7c2b799 in IA__gtk_paint_focus (style=0xa4f80f00, window=0x8b2e2c0, state_type=GTK_STATE_NORMAL, area=0xaff0a76c,
widget=0x87a28c0, detail=0x0, x=1, y=1, width=236, height=174) at gtkstyle.c:6196
#15 0xa7cc1ca4 in gtk_tree_view_expose (widget=0x87a28c0, event=0xaff0a760) at gtktreeview.c:4005
#16 0xa7bae90a in _gtk_marshal_BOOLEAN__BOXED (closure=0x83b3e80, return_value=0xaff0a3a0, n_param_values=2,
param_values=0xaff0a47c, invocation_hint=0xaff0a38c, marshal_data=0xa7cc0180) at gtkmarshalers.c:84
#17 0xa7872fe9 in g_type_class_meta_marshal (closure=0x83b3e80, return_value=0xaff0a3a0, n_param_values=2,
param_values=0xaff0a47c, invocation_hint=0xaff0a38c, marshal_data=0xc8) at gclosure.c:567
#18 0xa7874a2b in IA__g_closure_invoke (closure=0x83b3e80, return_value=0xaff0a3a0, n_param_values=2,
param_values=0xaff0a47c, invocation_hint=0xaff0a38c) at gclosure.c:490
#19 0xa788560f in signal_emit_unlocked_R (node=0x83b3f70, detail=0, instance=0x87a28c0, emission_return=0xaff0a63c,
instance_and_params=0xaff0a47c) at gsignal.c:2476
#20 0xa78862a8 in IA__g_signal_emit_valist (instance=0x87a28c0, signal_id=36, detail=0,
---Type <return> to continue, or q <return> to quit---
var_args=0xaff0a6c0 "Êð¯`§ð¯Ã(z\bDåçÃ(z\b\210ý:\b") at gsignal.c:2207
#21 0xa7886679 in IA__g_signal_emit (instance=0x87a28c0, signal_id=36, detail=0) at gsignal.c:2241
#22 0xa7cd9394 in gtk_widget_event_internal (widget=0x87a28c0, event=0xaff0a760) at gtkwidget.c:3911
#23 0xa7ba7fee in IA__gtk_main_do_event (event=0xaff0a760) at gtkmain.c:1380
#24 0xa7a358f2 in gdk_window_impl_directfb_process_updates (paintable=0x8b2e318, update_children=1)
at gdkwindow-directfb.c:2903
#25 0xa7a1e337 in IA__gdk_window_process_updates (window=0x8b2e2c0, update_children=1) at gdkwindow.c:2425
#26 0xa7a35dc9 in gdk_window_update_idle (data=0x0) at gdkwindow-directfb.c:90
#27 0xa77faa31 in g_idle_dispatch (source=0x8d2dcb8, callback=0x6, user_data=0x0) at gmain.c:3926
#28 0xa77fc7b1 in IA__g_main_context_dispatch (context=0x83a0188) at gmain.c:2045
#29 0xa77ff826 in g_main_context_iterate (context=0x83a0188, block=1, dispatch=1, self=0x83bbfb8) at gmain.c:2677
#30 0xa77ffbe7 in IA__g_main_loop_run (loop=0x8a80e70) at gmain.c:2881
#31 0x080630b1 in app_run (full_prog_name=0x0, gimp_argc=0, gimp_argv=0xaff0ab38, alternate_system_gimprc=0x0,
alternate_gimprc=0x0, session_name=0x0, batch_interpreter=0x0, batch_commands=0x0, no_interface=0, no_data=0,
no_fonts=0, no_splash=0, be_verbose=0, use_shm=0, use_cpu_accel=6, console_messages=0,
stack_trace_mode=GIMP_STACK_TRACE_NEVER, pdb_compat_mode=GIMP_PDB_COMPAT_OFF) at app_procs.c:376
#32 0x080639fc in main (argc=1, argv=0xaff0ab34) at main.c:473
(gdb) f 20
#20 0xa78862a8 in IA__g_signal_emit_valist (instance=0x87a28c0, signal_id=36, detail=0,
var_args=0xaff0a6c0 "Êð¯`§ð¯Ã(z\bDåçÃ(z\b\210ý:\b") at gsignal.c:2207
2207 gsignal.c: No such file or directory.
in gsignal.c
(gdb) p var_args
$1 = 0xaff0a6c0 "Êð¯`§ð¯Ã(z\bDåçÃ(z\b\210ý:\b"
(gdb) f 7
#7 0xa793338b in _cairo_path_arg_buf_create () at cairo-path.c:462
462 arg_buf = malloc (sizeof (cairo_path_arg_buf_t));
(gdb) p arg_buf
$2 = (cairo_path_arg_buf_t *) 0x8b493e8
(gdb) p *arg_buf
$3 = {num_points = 1, points = {{x = 146054656, y = 265}, {x = 146032960, y = 146032960}, {x = 146032960, y = 266}, {
x = 146032992, y = 146032992}, {x = 146032992, y = 267}, {x = 146033024, y = 146033024}, {x = 146033024, y = 268}, {
x = 146033056, y = 146033056}, {x = 0, y = 0}, {x = 33, y = 146006624}, {x = 1634495599, y = 1852793632}, {
x = 1836019232, y = 774778469}, {x = 1629511936, y = 1819635310}, {x = 17, y = 146007480}, {x = 1953718640, y = 101},
{x = 49, y = 145993712}, {x = 1819043171, y = 1634476129}, {x = 1869767456, y = 1869377390}, {x = 543254887,
y = 1970171489}, {x = 1835101292, y = 1769238117}, {x = 146055424, y = 48}, {x = 49, y = 146052552}, {x = 0, y = 0}, {
x = 0, y = 0}, {x = 0, y = 0}, {x = 0, y = 0}, {x = 0, y = 0}, {x = 25, y = 146017800}, {x = 1718968877,
y = 762471782}, {x = 1970169197, y = 0}, {x = 41, y = 146049776}, {x = -1484297536, y = 146011576}, {x = -1484297168,
y = 145965344}, {x = -1481976656, y = 145965344}, {x = -1481976656, y = 0}, {x = 41, y = 146057712}, {
x = -1484297536, y = 145987688}, {x = -1484297168, y = 145965344}, {x = -1481976656, y = 145965344}, {
x = -1481976656, y = 145973272}, {x = 41, y = 146052352}, {x = -1484297536, y = 145987056}, {x = -1484297168,
y = 145965344}, {x = -1481976656, y = 145965344}, {x = -1481976656, y = 145973552}, {x = 41, y = 146052392}, {
x = -1484297536, y = 145986896}, {x = -1484297168, y = 145965344}, {x = -1481976656, y = 145965344}, {
x = -1481976656, y = 145969200}, {x = 41, y = 146052432}, {x = -1484297536, y = 145986976}, {x = -1484297168,
y = 145965344}, {x = -1481976656, y = 145965344}, {x = -1481976656, y = 145985232}, {x = 41, y = 146057592}, {
x = -1484297536, y = 145988008}, {x = -1484297168, y = 145965344}, {x = -1481976656, y = 145965344}, {
x = -1481976656, y = 146039552}, {x = 49, y = 146051912}, {x = -1484297536, y = 145987768}, {x = -1484297168,
y = 145965344}, {x = -1481976656, y = 145965344}}, next = 0xa7aad4b0, prev = 0x8b38df8}
------------ valgrind output ------------
==4577== Invalid free() / delete / delete[]
==4577== at 0x401D139: free (vg_replace_malloc.c:233)
==4577== by 0x46E5BD0: g_free (gmem.c:187)
==4577== by 0x8123F6C: gimp_dockable_destroy (gimpdockable.c:245)
==4577== by 0x4687EBA: g_cclosure_marshal_VOID__VOID (gmarshal.c:77)
==4577== by 0x4678FE8: g_type_class_meta_marshal (gclosure.c:567)
==4577== by 0x467AB1B: g_closure_invoke (gclosure.c:490)
==4577== by 0x468B775: signal_emit_unlocked_R (gsignal.c:2554)
==4577== by 0x468C4C8: g_signal_emit_valist (gsignal.c:2197)
==4577== by 0x468C678: g_signal_emit (gsignal.c:2241)
==4577== by 0x42B173B: gtk_object_dispose (gtkobject.c:418)
==4577== by 0x43BFF11: gtk_widget_dispose (gtkwidget.c:6883)
==4577== by 0x467CCFA: g_object_unref (gobject.c:1757)
==4577== Address 0x8C935A0 is 0 bytes inside a block of size 10 free'd
==4577== at 0x401D139: free (vg_replace_malloc.c:233)
==4577== by 0x46E5BD0: g_free (gmem.c:187)
==4577== by 0x8123F82: gimp_dockable_destroy (gimpdockable.c:251)
==4577== by 0x4687EBA: g_cclosure_marshal_VOID__VOID (gmarshal.c:77)
==4577== by 0x4678FE8: g_type_class_meta_marshal (gclosure.c:567)
==4577== by 0x467AB1B: g_closure_invoke (gclosure.c:490)
==4577== by 0x468B775: signal_emit_unlocked_R (gsignal.c:2554)
==4577== by 0x468C4C8: g_signal_emit_valist (gsignal.c:2197)
==4577== by 0x468C678: g_signal_emit (gsignal.c:2241)
==4577== by 0x42B173B: gtk_object_dispose (gtkobject.c:418)
==4577== by 0x43BFF11: gtk_widget_dispose (gtkwidget.c:6883)
==4577== by 0x467D0D0: g_object_run_dispose (gobject.c:570)
More information about the cairo
mailing list