Description of problem:
/usr/libexec/e-calendar-factory does not exit on user logout and keeps running until explicitly killed.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Start evolution and observe the process id of e-calendar-factory process.
2. Exit evolution and log out from gnome session.
3. Relogin to gnome and observe the process id of e-calendar-factory process. It is same as what we had observed in step 1.
/usr/libexec/e-calendar-factory does not exit on log out.
/usr/libexec/e-calendar-factory should exit on log out.
As we spoke together on IRC, the issue might be that the client side (which connects to the factory) didn't disconnect properly, which made the factory think that there are still opened connections to it, thus it is left running. The usual behaviour is that the factory closes itself after 10 seconds of no connection to it (after the last client disconnected from it). Such applications can be evolution-alarm-notify, evolution itself, gnome-calendar and any other using calendars from evolution-data-server.
While it would make sense to fix bugs in clients, it is not always possible and things like a client crash prevents this from happening. It's the factory which can recognize client's crash (disconnect on a D-Bus connection level) and can react appropriately.
Related upstream bug reports are:
and more recent:
I do not think anything can be backported, the change in b) was quite huge, but it might be doable to mimic what the change at b) did, with respect of a D-Bus connection to the client vanish.
This may be E-D-S disabling the "exit on close" behavior of its GDBusConnection, which didn't get fixed until version 3.0.
(In reply to Matthew Barnes from comment #2)
> This may be E-D-S disabling the "exit on close" behavior of its
> GDBusConnection, which didn't get fixed until version 3.0.
> See: https://bugzilla.gnome.org/show_bug.cgi?id=646117#c9
I was able to reproduce this too and verified what Matthew said. The reason is as described in the upstream bug report comment. I will apply the upstream patch, slightly extended, and add it into the evolution-data-server package. As I was able to reproduce it, there is no need of a customer confirmation.
a) have configured Birthdays & Anniversaries (B&A) calendar, to include
at least one address book
b) have the B&A configured for Reminders (Edit->Preferences->Calendar and
Tasks->Reminders (or Alarms) tab, the B&A should be checked there
c) re-login, which runs also evolution-alarm-notify process (or run it manually)
e-addressbook-factory is closed properly, but e-calendar-factory is left running after logout.
Both factories are closed on logout.
Created attachment 977544 [details]
A patch which fixes the close-on-logout for the e-calendar-factory process.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.