Gnome evolution hanging at startup

As part of a new BLFS 11.3 I have installed the gnome evolution mail client.
Everything was ok, evolution was working fine untill I rebooted now on startup
it hangs.
The problem appears to revolve around the gnome-keyring-daemon which is making
the following complaint:

" asked to register item /org/freedesktop/secrets/collection/
Default_5fkeyring/5, but it’s already registered "

Has anyone got any ideas what is broken and how to fix it.

Thanks

Please provide exact Evolution version information.

The version is of evolution is 3.46.4.

Hi,
I do not know what BLFS stands for, but you already provided the
Evolution versions, thus no problem with that.

Try to run Evolution from a terminal, it can write runtime warnings on
the console. Ideally install debug info packages for the evolution,
evolution-data-server, glib2 and gtk3 at least and then run Evolution
under gdb, like this:

gdb evolution --ex r

and when the Evolution is stuck, press Ctrl+C in the terminal with the
gdb and issue “t a a bt” command in there. It’ll print backtraces for
all threads, showing what the process is waiting for.

You can quit gdb with “q” command.
Bye,
Milan

Hi Milan, Thanks for the reply.
LFS/BLFS is a source code distrubution that allows you to taylor your system to your needs.
LFS
I think the problem is in the keyring/dbus arena however I will do as you suggest and post my findings later.
Stuart

(gdb) t a a bt

Thread 41 (Thread 0x7fff54d646c0 (LWP 5171) “ReceiveQueue”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c53f in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff216fb50 in WTF::RunLoop::run() () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#4 0x00007ffff20f8555 in WTF::thread::entryPoint(WTF::thread::NewThreadContext*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#5 0x00007ffff2172809 in WTF::wtfThreadEntryPoint(void*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#6 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#7 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

Thread 40 (Thread 0x7fff3ffff6c0 (LWP 5170) “ReceiveQueue”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c53f in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff216fb50 in WTF::RunLoop::run() () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#4 0x00007ffff20f8555 in WTF::thread::entryPoint(WTF::thread::NewThreadContext*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#5 0x00007ffff2172809 in WTF::wtfThreadEntryPoint(void*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#6 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#7 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

Thread 24 (Thread 0x7fff567fa6c0 (LWP 5148) “evolution”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c53f in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff6ee78c3 in cal_client_dbus_thread () at /usr/lib/libecal-2.0.so.2
#4 0x00007ffff677e4fd in g_thread_proxy () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#6 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

Thread 21 (Thread 0x7fff56ffb6c0 (LWP 5134) “ebsiteDataStore”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c53f in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff216fb50 in WTF::RunLoop::run() () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#4 0x00007ffff20f8555 in WTF::thread::entryPoint(WTF::thread::NewThreadContext*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#5 0x00007ffff2172809 in WTF::wtfThreadEntryPoint(void*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#6 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#7 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

Thread 20 (Thread 0x7fff577fc6c0 (LWP 5133) “HashSaltStorage”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c53f in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff216fb50 in WTF::RunLoop::run() () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#4 0x00007ffff20f8555 in WTF::thread::entryPoint(WTF::thread::NewThreadContext*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#5 0x00007ffff2172809 in WTF::wtfThreadEntryPoint(void*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#6 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#7 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

Thread 18 (Thread 0x7fffb8ff96c0 (LWP 5131) “PressureMonitor”):
#0 0x00007ffff0308566 in __futex_abstimed_wait_cancelable64 () at /usr/lib/libc.so.6
#1 0x00007ffff030b22a in pthread_cond_timedwait@@GLIBC_2.3.2 () at /usr/lib/libc.so.6
#2 0x00007ffff2173036 in WTF::ThreadCondition::timedWait(WTF::Mutex&, WTF::WallTime) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#3 0x00007ffff20f2863 in WTF::ParkingLot::parkConditionallyImpl(void const*, WTF::ScopedLambda<bool ()> const&, WTF::ScopedLambda<void ()> const&, WTF::TimeWithDynamicClockType const&) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#4 0x00007ffff20f6844 in WTF::sleep(WTF::Seconds) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#5 0x00007ffff328801b in WebKit::MemoryPressureMonitor::start()::{lambda()#1}::operator()() const [clone .constprop.0] () at /usr/lib/libwebkit2gtk-4.1.so.0
#6 0x00007ffff3288499 in () at /usr/lib/libwebkit2gtk-4.1.so.0
#7 0x00007ffff20f8555 in WTF::thread::entryPoint(WTF::thread::NewThreadContext*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#8 0x00007ffff2172809 in WTF::wtfThreadEntryPoint(void*) () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#9 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#10 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7fffdb67a6c0 (LWP 5111) “evolution”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c53f in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff7cb23a4 in source_registry_object_manager_thread () at /usr/lib/libedataserver-1.2.so.27
#4 0x00007ffff677e4fd in g_thread_proxy () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#6 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

–Type for more, q to quit, c to continue without paging–
Thread 4 (Thread 0x7fffe8d4d6c0 (LWP 5109) “gdbus”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c53f in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff69ce57e in gdbus_shared_thread_func () at /usr/lib/libgio-2.0.so.0
#4 0x00007ffff677e4fd in g_thread_proxy () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#6 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7fffe96c66c0 (LWP 5107) “dconf worker”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c33c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff7f6a9c5 in dconf_gdbus_worker_thread () at /usr/lib/gio/modules/libdconfsettings.so
#4 0x00007ffff677e4fd in g_thread_proxy () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#6 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7fffe9f4a6c0 (LWP 5106) “gmain”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c33c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff674c381 in glib_worker_main () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff677e4fd in g_thread_proxy () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff030bdfa in start_thread () at /usr/lib/libc.so.6
#6 0x00007ffff039c7dc in clone3 () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7fffeb8e5f00 (LWP 5103) “evolution”):
#0 0x00007ffff038f0c8 in poll () at /usr/lib/libc.so.6
#1 0x00007ffff674c226 in g_main_context_iterate.constprop () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff674c53f in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff7612f75 in gtk_main () at /usr/lib/libgtk-3.so.0
#4 0x00005555555599e0 in main (argc=1, argv=0x7fffffffe458) at /sources/evolution-3.46.4/src/shell/main.c:789
(gdb)

Just been observing Evolution and it is collecting e-mails from the various accounts it is setup to service, but no UI.

Just built a debug version of gnome-keyring-42.1 and I ran the test suit.
It does not complete, here are the tests that report errors:

ERROR:daemon/test-startup.c:144:test_control_noaccess: assertion failed (g_environ_getenv (output, “GNOME_KEYRING_CONTROL”) != directory): (“/tmp/scratch-test-startup.BA1881/under/subdir” != “/tmp/scratch-test-startup.BA1881/under/subdir”)
SKIP: test-startup Bail out! ERROR:daemon/test-startup.c:144:test_control_noaccess: assertion failed (g_environ_getenv (output, “GNOME_KEYRING_CONTROL”) != directory): (“/tmp/scratch-test-startup.BA1881/under/subdir” != “/tmp/scratch-test-startup.BA1881/under/subdir”)
ERROR:daemon/dbus/test-service.c:100:test_service_setup: assertion failed: (egg_test_wait_until (20000) != FALSE)
SKIP: test-dbus-portal Bail out! ERROR:daemon/dbus/test-service.c:100:test_service_setup: assertion failed: (egg_test_wait_until (20000) != FALSE)
ERROR: test-dbus-portal process failed: -6

Hi,
the backtrace does not show evolution stuck, it looks like its window
can paint and respond to user inputs as needed.

That makes me wonder, do you see the Evolution window anywhere on the
desktop(s)? What kind of “hang/stuck” did you mean, please?
Bye,
Milan

As I said earlier evolution is collecting emails but no UI is visable anywhere.

Actually I lie it has poped up a couple of dialogs asking for account passwords, I have supplied them and it is quiet now.

As I said earlier evolution is collecting emails but no UI is visable
anywhere.

Hi,

how do you know it’s receiving mails, when you do not see the Evolution
window? I’d think the window is either on a different desktop/monitor
or it’s mis-positioned, out of the current desktop boundaries, though
I’d expect the window managers to avoid that.

……

I’m sorry, I do not know gnome-keyring, I cannot speak of its tests.

it has poped up a couple of dialogs asking for account passwords,
I have supplied them and it is quiet now.

You can be asked for the account passwords when the save to the keyring
failed. I’m still unsure what the problem is here, neither I’m sure how
precisely it exhibits itself. Nonetheless, if you think this is related
to the gnome-keyring, then make sure the gnome-keyring-daemon is
started before any evolution-related process (ps ax | grep evolution),
especially before the evolution-source-registry and evolution itself.
The processes talk to it through libsecret API, which uses certain
D-Bus interface under the hood.

I expect the evolution window is shown before any password prompt and
if there are any keyring issues then they are reported either on the
evolution or the evolution-source-registry or both terminals, or even
in the Evolution (GUI) itself. The delay between execution of the
evolution process and the window show up is unexpected by me.

Bye,
Milan

On the evolution question I have a e-mail server that sits on my firewall that collects emails from my providers and makes them avalable to users on my network. So I can see emails arrive on my server which get consumed when a email client requests them.
I was using thunderbird as my email client on my linux development system but it has become too flakey of late which is why for this new build I am going to move to evolution. When evolution reads an email from the server it sends an audible “plop” to the speakers connected to my system. So appart from the missing UI evolution is working I believe.

On the gnome-keyring-daemon issue I have just ran seahorse and I can see the pass words in the default key ring for the seven email accounts I am using on this machine. Interestingly when I look at the login passwords (which was originally locked and I had to give the password to unlock it) the collection was reported as empty. This is my first use of gnome so I do not know what is right and what is wrong.
Stuart

I have had some success, using seahorse I have sorted the password problem no errors are being logged when I startup evolution. But the big breakthrough is that I have got the evolution UI to show itself on my desktop.
if I run evolution using the -g option ie:

evolution -g 1280x720

Evolution starts with that geometry and it is sending/receiving emails quite happily.
Why this has to be so I don’t know but for now it will do as a work around.
The work around is also good after a reboot so things are stable for now.

Hi,
do I understand it correctly that the window could be either too small
or offscreen then, and when you forced that size it cured itself?

Evolution remembers the last window position and size (and the maximize
state), thus when you run it it ends where it was (depending on the
window manager, whether it will obey the request). These things are
stored in the settings, you can see what it is with dconf-editor, at
/org/gnome/evolution/shell/window/

Bye,
Milan

dconf-editor reports the following:

(dconf-editor:31282): GLib-GIO-WARNING **: 07:52:07.244: unable to send notifications through org.freedesktop.Notifications: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files

dconf-editor says:

keys not defined by schema:

height 934
maximized off
width 1910
x -24955
y 4

So this looks like the problem. I may need to install xfce4-notifyd-0.6.3 which seems to provide the notification service.

Milan

xfce4-notifyd-0.6.3 wont install because of the missing org.freedesktop.Notifications service file.
Do you know how this service is created ?

thanks Stuart

I found instructions of the Web on on how to construct the missing file.
Having added the file and I can now build xfce4-notifyd and I have rebooted.
I am now getting e-mail notification popups from Evolution however I still have to give geometry information to Evolution to get the UI visable.
DBus is quite happy now. But dconf-editor still complains aboutn a missing schema etc.

height 934
maximized off
width 1910
x -24955
y 4

So this looks like the problem. I may need to install xfce4-notifyd-
0.6.3 which seems to provide the notification service.

Hi,

the missing notification D-Bus service is not a problem. It’s not ideal
to be missing (you’d not see for example new mail notifications without
it), but it has nothing to do with the window placement.

The problem is that the window is only 1910 pixels width, placed
at -24955 pixels horizontally, aka quite far away to the left of the
screen. I do not know how that can happen, but you’ve most likely
something broken in your system, which causes this. I do not see why a
window manager would place the window out of the visible portion of the
desktop. Nor any other part of the system.

xfce4-notifyd-0.6.3 wont install because of the missing
org.freedesktop.Notifications service file.

Are you sure? The notify daemons can provide their own service files,
telling D-Bus they can handle that interface. Or they autostart the
daemon in the background and listen on the expected D-Bus interface for
the whole lifetime of the session, which seems to be the case for
the XFCE, as in Fedora [1] the package provides
/etc/xdg/autostart/xfce4-notifyd.desktop . GNOME Shell works similarly
as XFCE, it seems.

On the other hand MATE provides
/usr/share/dbus-1/services/org.freedesktop.mate.Notifications.service
which references MATE’s service to handle desktop notifications. This
is not interchangeable, aka you cannot use it for the XFCE.

KDE/Plasma has its file as well, I think.

Anyway, these things are off topic for the Evolution. You get more
accurate answers when you open a question directly with the XFCE folks.

Bye,
Milan

[1] xfce4-notifyd-0.6.3-2.fc37.x86_64.rpm | RPM Info | koji

I have used the dconf-editor to make the width,height,x and y values sane.
Now Evolution starts and uses those values and is visible without the -g option being used.
However dconf-editor still complains about “no schema found”.

I have two questions:

1 Should there be a schema for this situation.

2 If so how does it get created.

thanks