[gnome-db] Crash via GnomeDbCanvasCursor



I just started to look at the libgda project and friends again, and saw
this crash:

Program received signal SIGSEGV, Segmentation fault.
Error while running hook_stop:
Invalid type combination in ordering comparison.
0xb7bc58db in gnome_canvas_item_ungrab (item=0x878a6d0, etime=0x0) at
gnome-canvas.c:969
969     gnome-canvas.c: No such file or directory.
        in gnome-canvas.c
gdb> bt
#0  0xb7bc58db in gnome_canvas_item_ungrab (item=0x878a6d0, etime=0x0)
at gnome-canvas.c:969
#1  0xb7e72d2e in gnome_db_canvas_cursor_finalize (object=0x878a6d0) at
gnome-db-canvas-cursor.c:127
#2  0xb6f14a4f in g_object_unref () from /usr/lib/libgobject-2.0.so.0
#3  0xb7bc9177 in emit_event (canvas=0x845e1a0, event=0x878a4f0) at
gnome-canvas.c:2574
#4  0xb7bc9837 in gnome_canvas_button (widget=0x845e1a0,
event=0x878a4f0) at gnome-canvas.c:2785
#5  0xb76316f2 in gtk_marshal_BOOLEAN__VOID ()
from /usr/lib/libgtk-x11-2.0.so.0
#6  0xb6f0f649 in g_value_set_boxed () from /usr/lib/libgobject-2.0.so.0
#7  0xb6f1108b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#8  0xb6f2231f in g_signal_chain_from_overridden ()
from /usr/lib/libgobject-2.0.so.0
#9  0xb6f22f78 in g_signal_emit_valist ()
from /usr/lib/libgobject-2.0.so.0
#10 0xb6f23349 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#11 0xb7742434 in gtk_widget_get_default_style ()
from /usr/lib/libgtk-x11-2.0.so.0
#12 0xb762ab13 in gtk_propagate_event ()
from /usr/lib/libgtk-x11-2.0.so.0
#13 0xb762bd07 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#14 0xb7324a7a in gdk_add_client_message_filter ()
from /usr/lib/libgdk-x11-2.0.so.0
#15 0xb6e923e1 in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
#16 0xb6e92c28 in g_main_context_dispatch ()
from /usr/lib/libglib-2.0.so.0
#17 0xb6e92fd7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#18 0xb762c181 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#19 0xb7f50239 in gnome_db_main_run (init_func=0x8062710
<create_new_workspace_window>, user_data=0x0) at gnome-db-init.c:132
#20 0x08051f18 in main (argc=Cannot access memory at address 0x0
) at main.c:123
gdb> p *(GnomeDbCanvasCursor *)item
$1 = {object = {object = {item = {object = {parent_instance =
{g_type_instance = {g_class = 0x87930e0}, ref_count = 0x0, qdata = 0x0},
flags = 0x1380}, canvas = 0x0, parent = 0x0, xform = 0x0, x1 = 0, y1 =
0, x2 = 0, y2 = 0}, item_list = 0x0, item_list_end = 0x0}, priv =
0x8787af0}, item = 0x877d678}

and the crashing line in gnome-canvas.c:969 looks like this:

        if (item->canvas->grabbed_item != item)
                return;


Could it be that canvas hasn't been set yet? Or is it a bug in
libgnomecanvas, that they forget to check for a NULL value



Stian Skjelstad




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]