seahorse crashes immediately
Sean McNeil
sean at mcneil.com
Sun Sep 26 11:33:45 PDT 2004
On Fri, 2004-09-24 at 22:14, Joe Marcus Clarke wrote:
> On Thu, 2004-09-23 at 19:25, Sean McNeil wrote:
> > On Thu, 2004-09-23 at 16:10, Joe Marcus Clarke wrote:
> > > On Wed, 2004-09-22 at 02:31, Sean McNeil wrote:
> > >
> > > > This is what I got:
> > >
> > > Can you send the output of "bt full". Specifically, I want to know what
> > > node is. Also, do you have malloc scrubbing enabled? If so, does it
> > > still crash if you disable it?
> >
> > I've tried this with an /etc/malloc.conf of "aj" and without an
> > /etc/malloc.conf.
> >
> > Here is the bt full:
>
> Thanks, but where is frame #0?
Was caught up in some other things and I guess I got sloppy on
cut/paste. Here is the first few frames again:
(gdb) r
Starting program: /usr/X11R6/bin/seahorse
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 100205)]
0x0000000202f55f8f in g_type_check_is_value_type (type=8595649152)
at gtype.c:3249
3249 if (node && node->mutatable_check_cache)
(gdb) bt full
#0 0x0000000202f55f8f in g_type_check_is_value_type (type=8595649152)
at gtype.c:3249
No locals.
#1 0x0000000202f43faa in g_signal_newv (signal_name=0x0, itype=5714304,
signal_flags=G_SIGNAL_RUN_LAST, class_closure=0x56f980,
accumulator=0,
accu_data=0x0, c_marshaller=0x1, return_type=4, n_params=1,
param_types=0x569a00) at gsignal.c:1267
name = (gchar *) 0x569a10 "add"
signal_id = 0
i = 0
node = (SignalNode *) 0x0
__PRETTY_FUNCTION__ = "g_signal_newv"
#2 0x0000000202f44b98 in g_signal_new_valist (signal_name=0x41adec
"add",
itype=5714304, signal_flags=G_SIGNAL_RUN_LAST,
class_closure=0x56f980,
accumulator=0, accu_data=0x0, c_marshaller=0x1, return_type=1,
n_params=1,
args=0x7fffffffe2e0) at gsignal.c:1370
param_types = (GType *) 0x569a00
i = 5378304
signal_id = 4294959840
I've looked over the code and I think I know what is going on (maybe).
GType is a gulong. This is 64 bits on amd64. There is a define
#define SEAHORSE_TYPE_KEY (seahorse_key_get_type ())
that is passing what is suppose to be a GType as a vararg to
g_signal_new. I did a break in seahorse_key_get_type and looked at what
the key is suppose to be and I looked at the param_type[0] which is
passed in:
(gdb) p key_type
$4 = 5714560
(gdb) p param_types[0]
$5 = 8595649152
Cheers,
Sean
More information about the freebsd-gnome
mailing list