Bug 1141760 - e-calendar-factory process does not close on logout
Summary: e-calendar-factory process does not close on logout
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: evolution-data-server
Version: 6.5
Hardware: x86_64
OS: Linux
Target Milestone: rc
: ---
Assignee: Matthew Barnes
QA Contact: Desktop QE
Depends On:
TreeView+ depends on / blocked
Reported: 2014-09-15 12:06 UTC by Siteshwar Vashisht
Modified: 2019-07-11 08:11 UTC (History)
5 users (show)

Fixed In Version: evolution-data-server-2.32.3-23.el6
Doc Type: Bug Fix
Doc Text:
Previously, the e-calendar-factory process did not terminate automatically when the user logged out of the graphical desktop environment, and e-calendar-factory thus redundantly consumed system resources. This update fixes the underlying code, which prevents this problem from occurring.
Clone Of:
Last Closed: 2015-07-22 05:59:17 UTC
Target Upstream Version:

Attachments (Terms of Use)
evolution-data-server-2.32.3-cal-factory-close-on-logout.patch (2.87 KB, patch)
2015-01-07 20:46 UTC, Milan Crha
no flags Details | Diff

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:1264 0 normal SHIPPED_LIVE evolution-data-server bug fix update 2015-07-20 17:49:42 UTC

Description Siteshwar Vashisht 2014-09-15 12:06:52 UTC
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):

How reproducible:

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.

Actual results:
/usr/libexec/e-calendar-factory does not exit on log out.

Expected results:
/usr/libexec/e-calendar-factory should exit on log out.

Comment 1 Milan Crha 2014-09-15 12:20:34 UTC
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:
a) https://bugzilla.gnome.org/show_bug.cgi?id=420167
and more recent:
b) https://bugzilla.gnome.org/show_bug.cgi?id=732948

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.

Comment 2 Matthew Barnes 2014-09-15 12:41:10 UTC
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

Comment 6 Milan Crha 2015-01-07 19:02:37 UTC
(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.

My steps:
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)
d) logout

e-addressbook-factory is closed properly, but e-calendar-factory is left running after logout.

Both factories are closed on logout.

Comment 7 Milan Crha 2015-01-07 20:46:59 UTC
Created attachment 977544 [details]

A patch which fixes the close-on-logout for the e-calendar-factory process.

Comment 12 errata-xmlrpc 2015-07-22 05:59:17 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.