Bug #10209
open
Process gnome-keyring-daemon terminated by SIGSEGV on MATE start
Added by Michal Nowak over 3 years ago.
Updated 8 months ago.
Description
After update of gnome/gnome-keyring
to 3.28.2-2018.0.0.0
, gnome-keyring-daemon
dumps core on every MATE start (although it's likely then restarted as I have it running, so no real disruption).
$ mdb core
Loading modules: [ libc.so.1 ld.so.1 ]
> ::status
debugging core file of gnome-keyring-d (64-bit) from lenovo
file: /usr/bin/gnome-keyring-daemon
initial argv: gnome-keyring-daemon --start
threading model: native threads
status: process terminated by SIGSEGV (Segmentation Fault), addr=4
> $C
fffffd7fffdff740 libc.so.1`mutex_destroy+0x10(0)
fffffd7fffdff760 libglib-2.0.so.0.5800.2`g_mutex_clear+0x14()
fffffd7fffdff780 gkd_ssh_agent_preload_finalize+0x71()
fffffd7fffdff7c0 libgobject-2.0.so.0.5800.2`g_object_unref+0x1c9()
fffffd7fffdff7e0 gkd_ssh_agent_service_finalize+0x38()
fffffd7fffdff820 libgobject-2.0.so.0.5800.2`g_object_unref+0x1c9()
fffffd7fffdff850 egg_cleanup_perform+0x37()
fffffd7fffdff8c0 main+0x2fb()
fffffd7fffdff8f0 _start_crt+0x83()
fffffd7fffdff900 _start+0x18()
I confirm the bug. In almost every user directory, one can find a "core" file
created by gnome-keyring-daemon.
Also, error messages are written to the boot console and to /var/adm/messages,
especially:
gnome-keyring-daemon : could't allocate secure memory to keep passwords
Secure memory support is not implemented on illumos, the warning might be disabled in GNOME keyring.
- Has duplicate Bug #13757: gnome-keyring-d dumps core on menu bar shutdown added
I also got a similar coredump (notice how mutex_destroy()
called with a NULL
pointer):
domag@openindiana:~$ mdb core
Loading modules: [ libc.so.1 ld.so.1 ]
> $C
00007fffbffff750 libc.so.1`mutex_destroy+0x11(0)
00007fffbffff770 libglib-2.0.so.0.6600.8`g_mutex_clear+0x14()
00007fffbffff790 gkd_ssh_agent_preload_finalize+0x71()
00007fffbffff7d0 libgobject-2.0.so.0.6600.8`g_object_unref+0x20e()
00007fffbffff7f0 gkd_ssh_agent_service_finalize+0x38()
00007fffbffff830 libgobject-2.0.so.0.6600.8`g_object_unref+0x20e()
00007fffbffff860 egg_cleanup_perform+0x37()
00007fffbffff8d0 main+0x2f1()
00007fffbffff900 _start_crt+0x83()
00007fffbffff910 _start+0x18()
> ::status
debugging core file of gnome-keyring-d (64-bit) from openindiana
file: /usr/bin/gnome-keyring-daemon
initial argv: gnome-keyring-daemon --start
threading model: native threads
status: process terminated by SIGSEGV (Segmentation Fault), addr=4
> ::quit
domag@openindiana:~$ uname -a
SunOS openindiana 5.11 illumos-789b2662f9 i86pc i386 i86pc
domag@openindiana:~$
I think this happens because g_mutex_clear() called on an uninitialized "GMutex" in function gkd_ssh_agent_preload_finalize().
This modification might fix this issue:
(I haven't tested this.)
static void
gkd_ssh_agent_preload_init (GkdSshAgentPreload *self)
{
+ g_mutex_init (&self->lock);
self->keys_by_public_filename = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
self->keys_by_public_key = g_hash_table_new_full (g_bytes_hash, g_bytes_equal, NULL, gkd_ssh_agent_key_info_free);
}
Also available in: Atom
PDF