Description of problem: gpa crashes on start Version-Release number of selected component (if applicable): gpa-0.7.0-4 How reproducible: Always Steps to Reproduce: 1. install gpa 2. start gpa Actual Results: $ gpa *** glibc detected *** gpa: corrupted double-linked list: 0x08a5cd20 *** ======= Backtrace: ========= /lib/libc.so.6[0x5a019f] /lib/libc.so.6(__libc_free+0x77)[0x5a065f] /usr/lib/libgpgme.so.11[0x9a7cc8] /usr/lib/libgpgme.so.11[0x9aed6f] /usr/lib/libgpgme.so.11(gpgme_release+0x34)[0x9aedc3] gpa[0x8070762] gpa[0x804feb7] /lib/libc.so.6(__libc_start_main+0xdf)[0x551d5f] gpa[0x804f831] ======= Memory map: ======== 00111000-00112000 r-xp 00000000 08:01 1885630 /usr/X11R6/lib/X11/locale/lib/common/xlcUTF8Load.so.2 00112000-00113000 rwxp 00000000 08:01 1885630 /usr/X11R6/lib/X11/locale/lib/common/xlcUTF8Load.so.2 00113000-0011c000 r-xp 00000000 08:01 424357 /lib/libgcc_s-4.0.1-20050727.so.1 0011c000-0011d000 rwxp 00009000 08:01 424357 /lib/libgcc_s-4.0.1-20050727.so.1 00158000-0017b000 r-xp 00000000 08:01 1765928 /usr/lib/libpangoft2-1.0.so.0.800.1 0017b000-0017d000 rwxp 00022000 08:01 1765928 /usr/lib/libpangoft2-1.0.so.0.800.1 00187000-00191000 r-xp 00000000 08:01 1759519 /usr/lib/libpangox-1.0.so.0.800.1 00191000-00192000 rwxp 00009000 08:01 1759519 /usr/lib/libpangox-1.0.so.0.800.1 0019c000-001a0000 r-xp 00000000 08:01 1757860 /usr/X11R6/lib/libXfixes.so.3.0 001a0000-001a1000 rwxp 00003000 08:01 1757860 /usr/X11R6/lib/libXfixes.so.3.0 001cc000-001cf000 r-xp 00000000 08:01 1758666 /usr/X11R6/lib/libXrandr.so.2.0 001cf000-001d0000 rwxp 00002000 08:01 1758666 /usr/X11R6/lib/libXrandr.so.2.0 0023c000-00243000 r-xp 00000000 08:01 1757716 /usr/X11R6/lib/libXrender.so.1.2.2 00243000-00244000 rwxp 00007000 08:01 1757716 /usr/X11R6/lib/libXrender.so.1.2.2 0027d000-00284000 r-xp 00000000 08:01 1758670 /usr/X11R6/lib/libXi.so.6.0 00284000-00285000 rwxp 00006000 08:01 1758670 /usr/X11R6/lib/libXi.so.6.0 0051f000-00539000 r-xp 00000000 08:01 424353 /lib/ld-2.3.5.so 00539000-0053a000 r-xp 00019000 08:01 424353 /lib/ld-2.3.5.so 0053a000-0053b000 rwxp 0001a000 08:01 424353 /lib/ld-2.3.5.so 0053d000-00660000 r-xp 00000000 08:01 424354 /lib/libc-2.3.5.so 00660000-00662000 r-xp 00123000 08:01 424354 /lib/libc-2.3.5.so 00662000-00664000 rwxp 00125000 08:01 424354 /lib/libc-2.3.5.so 00664000-00666000 rwxp 00664000 00:00 0 00668000-0068b000 r-xp 00000000 08:01 424355 /lib/libm-2.3.5.so 0068b000-0068c000 r-xp 00022000 08:01 424355 /lib/libm-2.3.5.so 0068c000-0068d000 rwxp 00023000 08:01 424355 /lib/libm-2.3.5.so 0068f000-00691000 r-xp 00000000 08:01 424356 /lib/libdl-2.3.5.so 00691000-00692000 r-xp 00001000 08:01 424356 /lib/libdl-2.3.5.so 00692000-00693000 rwxp 00002000 08:01 424356 /lib/libdl-2.3.5.so 0069e000-0069f000 r-xp 0069e000 00:00 0 [vdso] 00762000-00770000 r-xp 00000000 08:01 1757709 /usr/X11R6/lib/libXext.so.6.4 00770000-00771000 rwxp 0000e000 08:01 1757709 /usr/X11R6/lib/libXext.so.6.4 007d6000-007ea000 r-xp 00000000 08:01 1754476 /usr/lib/libgdk_pixbuf-2.0.so.0.600.10 007ea000-007ec000 rwxp 00013000 08:01 1754476 /usr/lib/libgdk_pixbuf-2.0.so.0.600.10 007f4000-00806000 r-xp 00000000 08:01 1765911 /usr/lib/libz.so.1.2.2.2 00806000-00807000 rwxp 00011000 08:01 1765911 /usr/lib/libz.so.1.2.2.2 0080f000-0082c000 r-xp 00000000 08:01 1762442 /usr/lib/libexpat.so.0.5.0 0082c000-0082e000 rwxp 0001c000 08:01 1762442 /usr/lib/libexpat.so.0.5.0 00830000-00856000 r-xp 00000000 08:01 1765926 /usr/lib/libfontconfig.so.1.0.4 00856000-00859000 rwxp 00026000 08:01 1765926 /usr/lib/libfontconfig.so.1.0.4 00859000-0085a000 rwxp 00859000 00:00 0 0085c000-0086e000 r-xp 00000000 08:01 1765927 /usr/X11R6/lib/libXft.so.2.1.2 0086e000-0086f000 rwxp 00012000 08:01 1765927 /usr/X11R6/lib/libXft.so.2.1.2 00874000-008f8000 r-xp 00000000 08:01 1759763 /usr/lib/libglib-2.0.so.0.600.6 008f8000-008fd000 rwxp 00084000 08:01 1759763 /usr/lib/libglib-2.0.so.0.600.6 008ff000-00937000 r-xp 00000000 08:01 1753676 /usr/lib/libgobject-2.0.so.0.600.6 00937000-0093b000 rwxp 00037000 08:01 1753676 /usr/lib/libgobject-2.0.so.0.600.6 0093d000-00940000 r-xp 00000000 08:01 1761342 /usr/lib/libgmodule-2.0.so.0.600.6 00940000-00941000 rwxp 00002000 08:01 1761342 /usr/lib/libgmodule-2.0.so.0.600.6 0094c000-00951000 r-xp 00000000 08:01 1765929 /usr/lib/libpangoxft-1.0.so.0.800.1 00951000-00952000 rwxp 00005000 08:01 1765929 /usr/lib/libpangoxft-1.0.so.0.800.1 0099e000-009b5000 r-xp 00000000 08:01 1759761 /usr/lib/libgpgme.so.11.4.0 009b5000-009b7000 rwxp 00016000 08:01 1759761 /usr/lib/libgpgme.so.11.4.0 009e5000-009f9000 r-xp 00000000 08:01 1759027 /usr/lib/libatk-1.0.so.0.901.0 009f9000-009fc000 rwxp 00014000 08:01 1759027 /usr/lib/libatk-1.0.so.0.901.0 00a0e000-00a11000 r-xp 00000000 08:01 1755259 /usr/lib/libgpg-error.so.0.1.3 00a11000-00a12000 rwxp 00002000 08:01 1755259 /usr/lib/libgpg-error.so.0.1.3 00afb000-00b2b000 r-xp 00000000 08:01 1759029 /usr/lib/libpango-1.0.so.0.800.1 00b2b000-00b31000 rwxp 00030000 08:01 1759029 /usr/lib/libpango-1.0.so.0.800.1 00b33000-00b3c000 r-xp 00000000 08:01 1759369 /usr/X11R6/lib/libXcursor.so.1.0.2 00b3c000-00b3d000 rwxp 00008000 08:01 1759369 /usr/X11R6/lib/libXcursor.so.1.0.2 00beb000-00bed000 r-xp 00000000 08:01 1759063 /usr/X11R6/lib/libXinerama.so.1.0 00bed000-00bee000 rwxp 00001000 08:01 1759063 /usr/X11R6/lib/libXinerama.so.1.0 00bf0000-00c6d000 r-xp 00000000 08:01 1761382 /usr/lib/libgdk-x11-2.0.so.0.600.10 00c6d000-00c74000 rwxp 0007c000 08:01 1761382 /usr/lib/libgdk-x11-2.0.so.0.600.10 00e75000-00e7e000 r-xp 00000000 08:01 421460 /lib/libnss_files-2.3.5.so 00e7e000-00e7f000 r-xp 00008000 08:01 421460 /lib/libnss_files-2.3.5.so 00e7f000-00e80000 rwxp 00009000 08:01 421460 /lib/libnss_files-2.3.5.so 00feb000-00fec000 r-xp 00000000 08:01 1815441 /usr/lib/gconv/ISO8859-1.so 00fec000-00fee000 rwxp 00000000 08:01 1815441 /usr/lib/gconv/ISO8859-1.so 048ec000-049bc000 r-xp 00000000 08:01 1754594 /usr/X11R6/lib/libX11.so.6.2 049bc000-049c0000 rwxp 000cf000 08:01 1754594 /usr/X11R6/lib/libX11.so.6.2 04ce9000-04d4a000 r-xp 00000000 08:01 1765925 /usr/lib/libfreetype.so.6.3.7 04d4a000-04d51000 rwxp 00061000 08:01 1765925 /usr/lib/libfreetype.so.6.3.7 06edb000-071a8000 r-xp 00000000 08:01 1761386 /usr/lib/libgtk-x11-2.0.so.0.600.10 071a8000-071cf000 rwxp 002cd000 08:01 1761386 /usr/lib/libgtk-x11-2.0.so.0.600.10 071cf000-071d2000 rwxp 071cf000 00:00 0 08048000-0809a000 r-xp 00000000 08:01 1753825 /usr/bin/gpa 0809a000-080aa000 rw-p 00052000 08:01 1753825 /usr/bin/gpa 08a39000-08a7b000 rw-p 08a39000 00:00 0 [heap] b7b00000-b7b21000 rw-p b7b00000 00:00 0 b7b21000-b7c00000 ---p b7b21000 00:00 0 b7cc8000-b7ce3000 r--p 00000000 08:01 1785381 /usr/share/locale/de/LC_MESSAGES/gtk20-properties.mo b7ce3000-b7ced000 r--p 00000000 08:01 1785382 /usr/share/locale/de/LC_MESSAGES/gtk20.mo b7ced000-b7cf3000 r--s 00000000 08:01 1815516 /usr/lib/gconv/gconv-modules.cache b7cf3000-b7cf4000 r--p 00289000 08:01 1761606 /usr/lib/locale/locale-archive b7cf4000-b7d30000 r--p 00229000 08:01 1761606 /usr/lib/locale/locale-archive b7d30000-b7f30000 r--p 00000000 08:01 1761606 /usr/lib/locale/locale-archive b7f30000-b7f38000 rw-p b7f30000 00:00 0 bfc35000-bfc4b000 rw-p bfc35000 00:00 0 [stack] Abgebrochen Expected Results: No such crash Additional info:
Hmm, I cannot reproduce, so more info is needed: First, please try to create a gdb backtrace. Install the -debuginfo package for your gpa, install gdb if not already installed, and set "ulimit -c unlimited" in a shell before starting gpa, then run gpa, and finally gdb on the produced core dump file. More info at http://fedoraproject.org/wiki/StackTraces Also, do you have a ~/.gnupg directory, and if you do, do you have any keys in your private/public GPG keyrings? Finally, unfortunately the status of gpa in Fedora Extras is that it's more or less unmaintained; I haven't even used it in a while. http://fedoraproject.org/wiki/Extras/OrphanedPackages
It looks like it's caused by my (not so small) keyring. On a fresh user, it doesn't happen. Here the backtrace: #0 0x00c5a402 in __kernel_vsyscall () (gdb) bt #0 0x00c5a402 in __kernel_vsyscall () #1 0x00565118 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67 #2 0x00566888 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #3 0x0059a22a in __libc_message (do_abort=2, fmt=0x6571c0 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:170 #4 0x005a019f in _int_free (av=0x663880, mem=0x9f06ed8) at malloc.c:5578 #5 0x005a065f in *__GI___libc_free (mem=0x9f06ed8) at malloc.c:3419 #6 0x009a7cc8 in gpgme_key_sig_get_ulong_attr () from /usr/lib/libgpgme.so.11 #7 0x009aed6f in gpgme_get_engine_info () from /usr/lib/libgpgme.so.11 #8 0x009aedc3 in gpgme_release () from /usr/lib/libgpgme.so.11 #9 0x08070762 in ?? () #10 0x0804feb7 in ?? () #11 0x00551d5f in __libc_start_main (main=0x804fb93, argc=1, ubp_av=0xbf9c7594, init=0x80707cc, fini=0x807081c, rtld_fini=0x52d1ad <_dl_fini>, stack_end=0xbf9c758c) at ../sysdeps/generic/libc-start.c:216 #12 0x0804f831 in ?? () gpgme.i386 1.0.3-1.2.fc4.rf I've tried seahorse from dries, but this also crashes...also on new user.
(Cc'ing Rex, the Extras gpgme maintainer.) The backtrace is not too informative, but it looks like the crash happens in gpgme, not gpa. I suggest you revert to the gpgme package from Fedora Extras (currently 1.0.2-3.fc4) and try again with it. Seahorse is also available in Fedora Extras, if you want to give it a try. And in case you're not aware of it, I'd like to point out the possible pitfalls of mixing different repositories: http://fedoraproject.org/wiki/Extras/RepositoryMixingProblems
Downgrading to gpgme-1.0.2-3.fc4 won't help, same issue (also on seahorse). My pub keyring is about 2 M, will run tests with a smaller one next days.
Reassigning to gpgme due to what the backtrace shows, and that seahorse crashes too. It'd be useful if you could install the -debuginfo package for gpgme, recreate the gdb backtrace, and post it here.
FYI, just pushed gpgme-1.0.3-2 to fc3/fc4 to extras. There's a (small) chance this may help.
Waiting on confirmation whether gpgme-1.0.3 helps.
$ rpm -q gpgme gpgme-1.0.3-2.fc4 Same issue, same backtrace: #0 0x00c7d402 in __kernel_vsyscall () (gdb) bt #0 0x00c7d402 in __kernel_vsyscall () #1 0x00565118 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67 #2 0x00566888 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #3 0x0059a22a in __libc_message (do_abort=2, fmt=0x6571c0 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:170 #4 0x005a019f in _int_free (av=0x663880, mem=0x82beeb0) at malloc.c:5578 #5 0x005a065f in *__GI___libc_free (mem=0x82beeb0) at malloc.c:3419 #6 0x007af838 in gpgme_key_sig_get_ulong_attr () from /usr/lib/libgpgme.so.11 #7 0x007b8c9f in gpgme_get_engine_info () from /usr/lib/libgpgme.so.11 #8 0x007b8cf3 in gpgme_release () from /usr/lib/libgpgme.so.11 #9 0x08070762 in ?? () #10 0x0804feb7 in ?? () #11 0x00551d5f in __libc_start_main (main=0x804fb93, argc=1, ubp_av=0xbfe0fbf4, init=0x80707cc, fini=0x807081c, rtld_fini=0x52d1ad <_dl_fini>, stack_end=0xbfe0fbec) at ../sysdeps/generic/libc-start.c:216 #12 0x0804f831 in ?? ()
I've tracked this now more and found hints for the reason: 1) the problem is caused by my secret keyring 2) if I delete *my* long used secret key from keyring (it's the first in list), gpa starts 3) gpa wrote gpa.conf with another default of my secret keys specified 4) if I use the original secret keyring, gpa starts, too 5) if I select the previous deleted secret key in gpa, it also starts afterwards 6) if I remove gpa.conf, it crashes on start It looks like the problem is somewhere located after import secret keyring during selection of the default secret key. Note that this key contain following: sec 1024D/958F422D 1997-10-30 uid Peter Bieringer <peter> uid Peter Bieringer <pb> uid [jpeg image of size 2660] ssb 2048g/33068D31 1997-10-30
Damn, I was hoping that it would have been something in your public keyring so it could have been sent somewhere for examination. No such luck, it seems :( But see comment 5, could you install the -debuginfo package for the gpgme you're using and then regenerate the backtrace (see comment 5). While at it, it might not hurt to install pth-debuginfo as well. The gpgme_*() calls in the backtrace are missing line numbers and arguments which is a sign of a missing gpgme-debuginfo. "bt full" might also provide some more insight. Just one more random hunch; is it possible for you to back up your keys and then temporarily remove the jpeg image from the key that's causing the problems, and try again?
gpgme-debuginfo was installed before, now I also installed pth-debuginfo. I triggered 3 crashes now. 1) backtrace of original issue (gdb) bt full #0 0x00377402 in __kernel_vsyscall () No symbol table info available. #1 0x00565118 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67 resultvar = Variable "resultvar" is not available. (gdb) bt #0 0x00377402 in __kernel_vsyscall () #1 0x00565118 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67 #2 0x00566888 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #3 0x0059a22a in __libc_message (do_abort=2, fmt=0x6571c0 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:170 #4 0x005a019f in _int_free (av=0x663880, mem=0x942cbe0) at malloc.c:5578 #5 0x005a065f in *__GI___libc_free (mem=0x942cbe0) at malloc.c:3419 #6 0x007af838 in release_op_data (hook=0x942bfb0) at keylist.c:67 #7 0x007b8c9f in _gpgme_release_result (ctx=0x942b9a0) at gpgme.c:137 #8 0x007b8cf3 in gpgme_release (ctx=0x942b9a0) at gpgme.c:116 #9 0x08070762 in ?? () #10 0x0804feb7 in ?? () #11 0x00551d5f in __libc_start_main (main=0x804fb93, argc=1, ubp_av=0xbfca27a4, init=0x80707cc, fini=0x807081c, rtld_fini=0x52d1ad <_dl_fini>, stack_end=0xbfca279c) at ../sysdeps/generic/libc-start.c:216 #12 0x0804f831 in ?? () 2) backtrace after looking into key after step 5 above (note that with "selection" I only meant selecting for default (gdb) bt full #0 0x00c42402 in __kernel_vsyscall () No symbol table info available. #1 0x00565118 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67 resultvar = Variable "resultvar" is not available. (gdb) bt #0 0x00c42402 in __kernel_vsyscall () #1 0x00565118 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67 #2 0x00566888 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #3 0x0059a22a in __libc_message (do_abort=2, fmt=0x6571c0 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:170 #4 0x005a0124 in _int_free (av=0x663880, mem=0x9bfd010) at malloc.c:5578 #5 0x005a065f in *__GI___libc_free (mem=0x9bfd010) at malloc.c:3419 #6 0x007af838 in release_op_data (hook=0x9bfb210) at keylist.c:67 #7 0x007b8c9f in _gpgme_release_result (ctx=0x9b17238) at gpgme.c:137 #8 0x007ac1cf in _gpgme_op_reset (ctx=0x9b17238, type=2) at op-support.c:72 #9 0x007afb52 in gpgme_op_keylist_start (ctx=0x9b17238, pattern=0x9bdacf0 "*********************...**", secret_only=0) at keylist.c:724 #10 0x08058849 in ?? () #11 0x009127e7 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #12 0x00907285 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #13 0x0091575b in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0 #14 0x00916eb0 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #15 0x00917223 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #16 0x07097028 in gtk_tree_selection_select_range () from /usr/lib/libgtk-x11-2.0.so.0 #17 0x070a8c4e in gtk_tree_view_scroll_to_cell () from /usr/lib/libgtk-x11-2.0.so.0 #18 0x070b1329 in gtk_tree_view_set_model () from /usr/lib/libgtk-x11-2.0.so.0 #19 0x06fe6be2 in gtk_marshal_VOID__UINT_STRING () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x00906d9b in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 3) backtrace of another crash after removing all keys with photo, gpa crashes after displaying message that old default key is missing and a new one needs to be selected (gdb) bt full #0 0x009c2402 in __kernel_vsyscall () No symbol table info available. #1 0x00565118 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67 resultvar = Variable "resultvar" is not available. (gdb) bt #0 0x009c2402 in __kernel_vsyscall () #1 0x00565118 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67 #2 0x00566888 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #3 0x0059a22a in __libc_message (do_abort=2, fmt=0x6571c0 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:170 #4 0x005a0124 in _int_free (av=0x663880, mem=0x832cb98) at malloc.c:5578 #5 0x005a065f in *__GI___libc_free (mem=0x832cb98) at malloc.c:3419 #6 0x007af838 in release_op_data (hook=0x83cfdd0) at keylist.c:67 #7 0x007b8c9f in _gpgme_release_result (ctx=0x83dae80) at gpgme.c:137 #8 0x007b8cf3 in gpgme_release (ctx=0x83dae80) at gpgme.c:116 #9 0x08070762 in ?? () #10 0x0804feb7 in ?? () #11 0x00551d5f in __libc_start_main (main=0x804fb93, argc=1, ubp_av=0xbfc84884, init=0x80707cc, fini=0x807081c, rtld_fini=0x52d1ad <_dl_fini>, stack_end=0xbfc8487c) at ../sysdeps/generic/libc-start.c:216 #12 0x0804f831 in ?? ()
new gpgme-1.1.2-4/gpa-0.7.3-2 pushed to the repos. Try it out.
Tried now, at least on FC5 it is working fine now with following versions: gpa-0.7.3-2.fc5 gpgme-1.1.2-4.fc5 Have no FC4 system here anymore for testing this particular issue.
Good enough for me. (: