Project

General

Profile

Actions

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.

Status:
New
Priority:
Normal
Assignee:
Category:
OI-Userland
Target version:
-
Start date:
2019-01-10
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

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()

Related issues

Has duplicate OpenIndiana Distribution - Bug #13757: gnome-keyring-d dumps core on menu bar shutdownNew

Actions
Actions #1

Updated by Hubert Garavel over 3 years ago

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
Actions #2

Updated by Michal Nowak over 3 years ago

Secure memory support is not implemented on illumos, the warning might be disabled in GNOME keyring.

Actions #3

Updated by Gergő Mihály Doma 8 months ago

  • Has duplicate Bug #13757: gnome-keyring-d dumps core on menu bar shutdown added
Actions #4

Updated by Gergő Mihály Doma 8 months ago

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);
 } 

Actions #5

Updated by Gergő Mihály Doma 8 months ago

This issue also tracked on GNOME Gitlab:
Issue 65: gnome-keyring-daemon crashes on exit

I also opened a merge request to integrate this fix:
Merge request 45: ssh-agent: Fix crash by uninitialized GMutex

Actions

Also available in: Atom PDF