Placing a breakpoint in the signal_handler function lets me get a better
backtrace:

        #0  0xb7c4e9d8 in strcmp () from /lib/i686/cmov/libc.so.6
        No symbol table info available.
        #1  0x0805a663 in gkr_keyring_item_match (item=0x807af20, 
            type=GNOME_KEYRING_ITEM_NETWORK_PASSWORD, attributes=0x806f1b0, 
            match_all=1) at gkr-keyring-item.c:233
                i = 0
                j = 0
                item_attribute = (GnomeKeyringAttribute *) 0x807ed08
                attribute = (GnomeKeyringAttribute *) 0x8082a50
                found = 1
                attributes_matching = 1
                __PRETTY_FUNCTION__ = "gkr_keyring_item_match"
        #2  0x0805847c in gkr_keyring_find_item (keyring=0x80770a0, 
            type=GNOME_KEYRING_ITEM_NETWORK_PASSWORD, attrs=0x806f1b0)
            at gkr-keyring.c:1027
                item = (GkrKeyringItem *) 0x807af20
                l = (GList *) 0x807b700
        #3  0x0805155b in op_create_item (packet=0x807ce3c, result=0x807ce50, 
            req=0xb5a1c368) at gkr-daemon-ops.c:1304
                keyring_name = 0x0
                display_name = 0x807d950 
"webcal://albion.red-redemption.com/cal/robin"
                secret = 0xb7ee4038 "calendar"
                attributes = (GnomeKeyringAttributeList *) 0x806f1b0
                hashed = (GnomeKeyringAttributeList *) 0x0
                item = (GkrKeyringItem *) 0x0
                keyring = (GkrKeyring *) 0x80770a0
                type = 1
                res = GNOME_KEYRING_RESULT_OK
                id = 0
                update_if_exists = 1
        #4  0x0804ebdc in client_worker_main (user_data=0x807ce30)
            at gkr-daemon-io.c:426
                client = (GnomeKeyringClient *) 0x807ce30
                op = GNOME_KEYRING_OP_CREATE_ITEM
                req = {app_ref = 0x807adf0}
                pid = 10608
                uid = 1000
                str = 0x807f208 "evolution"
                __PRETTY_FUNCTION__ = "client_worker_main"
        #5  0x0805d720 in async_worker_thread (data=0x807db58) at 
gkr-async.c:193
                worker = (GkrAsyncWorker *) 0x807db58
                result = (gpointer) 0xb7dc9de8
                __PRETTY_FUNCTION__ = "async_worker_thread"
        #6  0xb7d7c4ff in g_thread_create_proxy (data=0x807cee0)
            at /tmp/buildd/glib2.0-2.14.3/glib/gthread.c:635
                __PRETTY_FUNCTION__ = "g_thread_create_proxy"
        #7  0xb7bca4fb in start_thread () from /lib/i686/cmov/libpthread.so.0
        No symbol table info available.
        #8  0xb7cb360e in clone () from /lib/i686/cmov/libc.so.6
        No symbol table info available.

Looks like it's segfaulting while trying to compare two strings:

        (gdb) print attribute->value.string
        $3 = 0x0
        (gdb) print item_attribute->value.string
        $4 = 0x0

-- 
Sam Morris
http://robots.org.uk/

PGP key id 1024D/5EA01078
3412 EA18 1277 354B 991B  C869 B219 7FDB 5EA0 1078

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to