RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 983964 - e-calendar-factory performs network io for caldav in the main thread
Summary: e-calendar-factory performs network io for caldav in the main thread
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: evolution-data-server
Version: 6.5
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: beta
: ---
Assignee: Milan Crha
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-07-12 11:57 UTC by David Jaša
Modified: 2014-01-02 09:12 UTC (History)
3 users (show)

Fixed In Version: evolution-data-server-2.32.3-10.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-11-21 04:54:23 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
proposed eds patch (1013 bytes, patch)
2013-07-15 15:19 UTC, Milan Crha
no flags Details | Diff
(correct) eds patch (23.57 KB, patch)
2013-07-26 18:04 UTC, Milan Crha
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2013:1540 0 normal SHIPPED_LIVE Low: evolution security, bug fix, and enhancement update 2013-11-21 00:40:51 UTC

Description David Jaša 2013-07-12 11:57:49 UTC
Description of problem:
e-calendar-factory performs network io for caldav in the main thread

Version-Release number of selected component (if applicable):
evolution-data-server-2.32.3-7.2.el6.x86_64 (and earlied 2.32 builds)

How reproducible:
always

Steps to Reproduce:
0. configure a caldav calendar
1.
  a) open an unread invitation in evolution mail
  b) open gnome clock applet
2.

Actual results:
email message (or clock applet details respectively) open only after e-c-f checks all the caldav calendars; e-c-f backtrace shows that IO is performed in the main thread

Expected results:
e-c-f returns reply right away to calling application
network io is handled in the separate thread

Additional info:

Comment 1 Matthew Barnes 2013-07-12 12:03:06 UTC
We've gone to great lengths to fix this sort of thing in the years since 2.32 was released.  It's not something we can easily fix in such an old version.  We're gonna have to just live with it in RHEL 6.

Comment 2 David Jaša 2013-07-12 12:10:21 UTC
Matthew,

I may have been too nice at reporting. The 2.28 didn't suffer from this problem and it causes serious usability issues all over the place - such as not responding clock applet being displayed on top of all windows for _minutes_ till the caldav timeout kicks in...

I'll attach backtraces for both cases.

Comment 5 Milan Crha 2013-07-12 12:58:53 UTC
I will try to cook something semi-hackish, and we'll see. I had a chat with David before he filled this bug report, thus it's fine I'll take care of it.

Comment 6 Milan Crha 2013-07-15 15:19:10 UTC
Created attachment 773814 [details]
proposed eds patch

for evolution-data-server;

This adds a thread pool into EDataCal, which calls (almost) each request in a separate thread, basically like the EDataBook does it. It helps in many cases, because the calendars are not opened in a serial way, but in a parallel, though it doesn't help always, like with MAPI, which is completely single-threaded currently, also between different instances. It's because the libraries used by it are not thread safe.

Here's [1] a test build of evolution-data-server-2.32.3-8.1.el6 with it included. It contains test patches for this bug, bug #979722 and bug #950005.

[1] https://brewweb.devel.redhat.com/taskinfo?taskID=6036568

Comment 7 David Jaša 2013-07-15 15:32:38 UTC
Quick question before I actually try the build - will it change CardDAV contacts as well?

Comment 8 Milan Crha 2013-07-15 17:03:23 UTC
(In reply to David Jaša from comment #7)
> Quick question before I actually try the build - will it change CardDAV
> contacts as well?

No, the change is for calendar part only. Addressbook part has this pool implemented already. Do you see the same lags in addressbook part as well? Maybe it's just the part which cannot be fixed, I'm afraid.

Comment 9 David Jaša 2013-07-24 15:30:00 UTC
I wasn't able to induce longish UI waits when trying to mimick network unavailability with iptables -j DROP, the longest was about 3-4 seconds and I couldn't repeat it. So the bug is indeed fixed.

I'm not sure about CardDAV, I reenabled autocompletion on one such calendar so let's see if it will hang the UI when typing addresses...

Comment 10 Milan Crha 2013-07-25 04:47:50 UTC
Thanks for the testing. I'll commit this by tomorrow, when you finish testing of the other bugs.

Comment 11 Milan Crha 2013-07-26 18:04:19 UTC
Created attachment 778848 [details]
(correct) eds patch

for evolution-data-server;

Oops, I attached a wrong eds patch, this is the correct one.

Comment 14 errata-xmlrpc 2013-11-21 04:54:23 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.

http://rhn.redhat.com/errata/RHSA-2013-1540.html


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