GNOME Bugzilla – Bug 659529
segfault when seahorse_gpgme_source_init: assertion `GPG_IS_OK (gerr)' failed
Last modified: 2011-11-14 09:54:21 UTC
When I fiddled around with my libusb I forgot to set a symlink to the correct libusb. I tried to start seahorse: arthur@dent:~$ LANG=C seahorse ** (seahorse:14419): WARNING **: DNS-SD initialization failed: Daemon not running ** Message: init gpgme version 1.3.1 ** (seahorse:14419): CRITICAL **: init_gpgme: assertion `GPG_IS_OK (err)' failed ** (seahorse:14419): CRITICAL **: seahorse_gpgme_source_init: assertion `GPG_IS_OK (gerr)' failed segmentation fault that's because gpg couldn't start: arthur@dent:~$ gpg gpg: error while loading shared libraries: libusb-0.1.so.4: wrong ELF class: ELFCLASS32 arthur@dent:~$ ldd `which gpg` | grep usb libusb-0.1.so.4 => not found reinstalling libusb-compat on archlinux helped: arthur@dent:~$ ldd `which gpg` | grep usb libusb-0.1.so.4 => /usr/lib/libusb-0.1.so.4 (0x00007f38fd8d4000) libusb-1.0.so.0 => /usr/lib/libusb-1.0.so.0 (0x00007f38fd10c000) Steps to reproduce: arthur@dent:~$ sudo mv /usr/lib/libusb-0.1.so.4 /usr/lib/libusb-0.1.so.4.bak seahorse Expected behaviour: seahorse should't crash with a segfault when gpg is not available! seahorse should notify that something is wrong with gpg.
Version used: arthur@dent:~$ seahorse -v seahorse 3.0.2 GNUPG: /usr/bin/gpg (1.4.11)
Thanks. Fixed in seahorse master. commit d83bf011b7c549664eb6bb1edb7a7c03fea42060 Author: Stef Walter <stefw@collabora.co.uk> Date: Mon Nov 14 10:51:25 2011 +0100 Fix seahorse so it doesn't crash if gpg or gpg2 don't load. * Print out informative message when creating a gpgme context fails * Rework all code paths to handle such failures. https://bugzilla.gnome.org/show_bug.cgi?id=659529