Here is the trace below.

(gdb) thread apply all bt

Thread 1 (Thread 47598724759328 (LWP 6312)):
#0  0x00002b4a70eb3527 in access () from /lib/libc.so.6
#1  0x00002b4a70b5df3d in IA__g_file_test (
    filename=0x14e1ca0 "/home/yachar/.gnome2/keyrings/default.keyring", 
    test=G_FILE_TEST_EXISTS) at gfileutils.c:282
#2  0x000000000040b389 in ?? ()
#3  0x0000000000000000 in ?? ()
#0  0x00002b4a70eb3527 in access () from /lib/libc.so.6
(gdb) 

I think I've spotted where the problem is. Somehow I already had a
(broken) default.keyring file, and in the gnome-keyring-daemon, it loops
looking for a defaultX.keyring, where X is a version number.


Source file : gnome-keyring-daemon-file.c, lines 194 through 205.
     
        version = 0;
        do {
                if (version == 0) {
                        filename = g_strdup_printf ("%s.keyring", base);
                } else {
                        filename = g_strdup_printf ("%s%d.keyring", base, 
version);
                }

                path = g_build_filename (dir, filename, NULL);

                g_free (filename);
        } while (g_file_test (path, G_FILE_TEST_EXISTS));


Unfortunately, there's no incrementation of the "version" integer in that loop, 
so it might be looping forever if there's already such a file (as version 
always ==0). A simple patch would be to increment the version number at the end 
of loop corpse.

Sorry, I never submitted a patch before so I don't know what command I
should use to attach it. No, please don't laugh :p.

Feel free to bash me if this is all bullshit :-D

-- 
Gnome-keyring-daemon takes up 100% CPU and all memory
https://launchpad.net/bugs/60765

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to