Re: Evolution crashing - how to debug ?



----- Original Message -----
From: "Rod Butcher" <rbutcher hyenainternet com>
To: <gnome-devel-list gnome org>
Sent: Sunday, May 01, 2005 10:30 AM
Subject: Re: Evolution crashing - how to debug ?


>
> OK, I've run evolution with gdb and I get the following when I select an
> option such as mail server type. If I comment out line 2749 in
> gtkcombobox.c it does't get this segfault. Why would just setting
> something to FALSE cause a segfault ? No address in pointer ?
> Thanks, Rod.
>
> (evolution-2.4:5297): GLib-GObject-CRITICAL **: g_value_get_pointer:
> assertion `G_VALUE_HOLDS_POINTER (value)' failed
>

First of all you see assertion failture, that means that pointer you get is
not correct, so you can't use it in the future. To figure out the place,
where assertion failture is occured, you should put breakpoint on g_log
function, then debugger will stop in the place where conversion from value
to pointer is incorrect and call backtrace from the debugger can tell you
about reason of problem.

> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1499137824 (LWP 5297)]
> 0xa71522e3 in gtk_combo_box_menu_item_activate (item=0x838d7b8,
> user_data=0x8235aa8)
>      at gtkcombobox.c:2749
> 2749      combo_box->priv->editing_canceled = FALSE;
>

That is not strange, since you've already notified about incorrect pointer.
So assigning on that pointer breaks your program.

Above when you was trying to exctract pointer from GValue, actual error can
be there, or even ealier, when you've packed something to GValue but it
should be a pointer. Futher debugging can give you answer to that questions.






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