Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Sep 2004 20:34:17 -0700
From:      Sean McNeil <sean@mcneil.com>
To:        Joe Marcus Clarke <marcus@marcuscom.com>
Cc:        freebsd-gnome@freebsd.org
Subject:   Re: seahorse crashes immediately
Message-ID:  <1095305657.7380.10.camel@server.mcneil.com>
In-Reply-To: <1095299723.62093.18.camel@shumai.marcuscom.com>
References:  <1095267108.86712.2.camel@server.mcneil.com> <4148757E.8000101@marcuscom.com> <1095293014.76661.2.camel@server.mcneil.com> <1095299723.62093.18.camel@shumai.marcuscom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2004-09-15 at 18:55, Joe Marcus Clarke wrote:
> On Wed, 2004-09-15 at 20:03, Sean McNeil wrote:
> > On Wed, 2004-09-15 at 10:01, Joe Marcus Clarke wrote:
> > > Please rebuild seahorse and libgnomeui with debugging symbols, and get 
> > > the full backtrace again.
> > > 
> > 
> > With symbols for seahorse and libgnomeui:
> > 
> > Backtrace was generated from '/usr/X11R6/bin/seahorse'
> 
> Can you run this from gdb, and get the output of "bt full"?  I don't see
> the problem, and I can't reproduce it.
> 
sure thing.  The seg 11 is in glib, so I recompiled it with symbols:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 100163)]
0x0000000202f55f8f in g_type_check_is_value_type (type=8595649152)
    at gtype.c:3249
3249    gtype.c: No such file or directory.
        in gtype.c

(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=0x5699f0) at gsignal.c:1267
        name = (gchar *) 0x569a00 "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=0x7fffffffe2f0) at gsignal.c:1370
        param_types = (GType *) 0x5699f0
        i = 5378304
        signal_id = 4294959856
#3  0x0000000202f43382 in g_signal_new (signal_name=0x41adec "add",
    itype=5714304, signal_flags=G_SIGNAL_RUN_LAST, class_offset=160,
    accumulator=0, accu_data=0x0, c_marshaller=0x1, return_type=4, n_params=1)
    at gsignal.c:1130
---Type <return> to continue, or q <return> to quit---
        args = {{gp_offset = 48, fp_offset = 48,
    overflow_arg_area = 0x7fffffffe420, reg_save_area = 0x7fffffffe310}}
        signal_id = 4304364
        __PRETTY_FUNCTION__ = "g_signal_new"
#4  0x00000000004131c4 in seahorse_context_class_init (klass=0x56be00)
    at seahorse-context.c:109
        gobject_class = (GObjectClass *) 0x56be00
#5  0x0000000202f511fb in type_class_init_Wm (node=0x573180, pclass=0x0)
    at gtype.c:1907
        slist = (GSList *) 0x0
        init_slist = (GSList *) 0x541180
        class = (GTypeClass *) 0x56be00
        entry = (IFaceEntry *) 0x0
        bnode = (TypeNode *) 0x0
        pnode = (TypeNode *) 0x541180
        i = 0
        __PRETTY_FUNCTION__ = "type_class_init_Wm"
#6  0x0000000202f52f4f in g_type_class_ref (type=5509504) at gtype.c:2404
        ptype = 5509504
        pclass = (GTypeClass *) 0x528d00
        node = (TypeNode *) 0x573180
#7  0x0000000202f35870 in g_object_newv (object_type=5714304, n_parameters=0,
    parameters=0x0) at gobject.c:857
---Type <return> to continue, or q <return> to quit---
        cparams = (GObjectConstructParam *) 0x20054b000
        oparams = (GObjectConstructParam *) 0x200540e00
        nqueue = (GObjectNotifyQueue *) 0x0
        object = (GObject *) 0x200540c00
        class = (GObjectClass *) 0x0
        unref_class = (GObjectClass *) 0x0
        slist = (GSList *) 0x0
        n_total_cparams = 0
        n_cparams = 0
        n_oparams = 0
        n_cvalues = 4294961152
        cvalues = (GValue *) 0x200540000
        clist = (GList *) 0x0
        i = 0
        __PRETTY_FUNCTION__ = "g_object_newv"
#8  0x0000000202f36247 in g_object_new_valist (object_type=5714304,
    first_property_name=0x0, var_args=0x7fffffffe800) at gobject.c:984
        class = (GObjectClass *) 0x0
        params = (GParameter *) 0x0
        name = (const gchar *) 0x7fffffffe998 "\177"
        object = (GObject *) 0x0
        n_params = 0
        n_alloced_params = 16
---Type <return> to continue, or q <return> to quit---
        __PRETTY_FUNCTION__ = "g_object_new_valist"
#9  0x0000000202f356c7 in g_object_new (object_type=5714304,
    first_property_name=0x0) at gobject.c:822
        var_args = {{gp_offset = 16, fp_offset = 48,
    overflow_arg_area = 0x7fffffffe8f0, reg_save_area = 0x7fffffffe820}}
        __PRETTY_FUNCTION__ = "g_object_new"
#10 0x00000000004139eb in seahorse_context_new () at seahorse-context.c:288
No locals.
#11 0x0000000000408f42 in main (argc=1, argv=0x7fffffffe998) at main.c:124
        sctx = (SeahorseContext *) 0x418b77
        err = 32767
        new_path = (gchar *) 0x7fffffffe998 "\177"

There are some bad characters in the new_path line above that will not
cut/paste.  There are 5 unprintable blocks before the \177.  It is
passed up as "name" to g_object_new_valist.

This might be an issue with varargs.  On the amd64 and other processors
(i.e. not x86) a va_list gets passed by reference instead of copy.  This
can cause issues if someone expects the arg pointer to be at the
beginning after it is passed to a function that uses it.

Sean




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1095305657.7380.10.camel>