After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 577798 - daemon dies on secure memory assertion
daemon dies on secure memory assertion
Status: RESOLVED FIXED
Product: gnome-keyring
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: GNOME keyring maintainer(s)
GNOME keyring maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2009-04-03 01:51 UTC by Matthias Clasen
Modified: 2009-04-10 21:36 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Matthias Clasen 2009-04-03 01:51:54 UTC
This is with 2.26.0, patched to use egg-secure-memory from current svn.

I can reproduce this often by trying to opening a vpn connection in nm-applet, which causes it to ask gkd for the vpn secrets:

  • #0 *__GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 *__GI_abort
    at abort.c line 88
  • #2 *__GI___assert_fail
  • #3 sec_check_guards
    at egg-secure-memory.c line 324
  • #4 sec_alloc
    at egg-secure-memory.c line 499
  • #5 egg_secure_alloc_full
    at egg-secure-memory.c line 965
  • #6 egg_buffer_init_full
    at egg-buffer.c line 48
  • #7 IA__g_type_create_instance
    at gtype.c line 1674
  • #8 g_object_constructor
    at gobject.c line 1338
  • #9 IA__g_object_newv
    at gobject.c line 1215
  • #10 IA__g_object_new_valist
    at gobject.c line 1278
  • #11 IA__g_object_new
    at gobject.c line 1060
  • #12 gkr_ask_request_new
    at gkr-ask-request.c line 779
  • #13 request_item_access
    at gkr-daemon-ops.c line 267
  • #14 find_in_each_keyring
    at gkr-daemon-ops.c line 1618
  • #15 gkr_keyrings_foreach
    at gkr-keyrings.c line 393
  • #16 op_find
    at gkr-daemon-ops.c line 1654

Comment 1 Matthias Clasen 2009-04-07 17:14:39 UTC
After reverting this change (that Richard took from trunk and put in our rpm), it seems to be much more stable:

diff --git a/egg/egg-secure-memory.c b/egg/egg-secure-memory.c
index a215364..ba0cf5c 100644
--- a/egg/egg-secure-memory.c
+++ b/egg/egg-secure-memory.c
@@ -341,7 +341,7 @@ sec_insert_cell_ring (Cell **ring, Cell *cell)
        /* Insert back into the mix of available memory */ 
        if (*ring) { 
                cell->next = (*ring)->next;
-               cell->prev = (*ring)->prev;
+               cell->prev = *ring;
                cell->next->prev = cell;
                cell->prev->next = cell;
        } else {
Comment 2 Stef Walter 2009-04-10 21:36:46 UTC
Thanks for catching that. I've committed another fix to the SVN gnome-2-26 branch which should fix this problem: r1717