the gnome-keyring-daemon crashes frequently in egg-secure-memory.c, specifically when it is used as a ssh agent, with a lot of concurrent ssh sessions. The memory allocation functions in egg/egg-secure-memory.c are protected by DO_LOCK() / DO_UNLOCK() macros, with appear to be no-op in the case of the gnome-keyring-daemon (daemon/gkd-main.c), which is probably not a good idea, because it works in a threaded environment when creating client threads in gkd_ssh_agent_accept().
So I think a real locking should be added in daemon/gkd-main.c
patch is attached.
Created attachment 418678 [details]
patch to add locking for memory ops in the gkd
This is fixed in 2.30.3. thanks!