Bug 1075461

Summary: Evolution freezes when opening exchange calendar
Product: [Fedora] Fedora Reporter: birger <b1r63r>
Component: evolution-data-serverAssignee: Matthew Barnes <mbarnes>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 20CC: b1r63r, fabiano, mbarnes, mcrha, vg.aetera
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: evolution-data-server-3.10.4-3.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-18 08:06:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
evo-bt.txt
none
ecf-bt.txt none

Description birger 2014-03-12 08:29:47 UTC
Description of problem:
When I enable calendar for my exchange config in the gnome network accounts, switching to the calendar view in evolution will freeze it completely.

Version-Release number of selected component (if applicable):
evolution-ews-3.10.4-1.fc20.x86_64
evolution-data-server-3.10.4-2.fc20.x86_64
evolution-3.10.4-2.fc20.x86_64

How reproducible:
Always if the exchange calendar is enabled.

Steps to Reproduce:
1. Start evolution
2. Press the Calendar button
3.

Actual results:
Shows the calendar screen and then freezes completely

Expected results:


Additional info:
In evolution preferences the account is listed with type ews, so I assume this is the package I should report on.

This used to work. Even in early F20 days, I think. But has been broken for quite some time now.

Even after disabling the exchange calendar I still get the gnome popups warning me about meetings from the exchange calendar (possibly because I have not restarted anything but evolution). I guess I can live with keeping the calendar enabled so I get the popups and only check my calendar on my phone for now...

Comment 1 birger 2014-03-12 08:31:15 UTC
I also have a google account defined in gnome, with the calendar enabled. That calendar works fine in evolution. I guess that also points at evolution-ews as the problem.

Comment 2 Milan Crha 2014-03-13 10:58:52 UTC
Thanks for a bug report. I agree with a blame to evolution-ews, on the first look at least. To be sure, it'll be good to see what evolution does and why it is frozen. Could you do the following, please?
a) install debuginfo packages for evolution-data-server, evolution and
   evolution-ews; make sure the package version matches version of the binary
   package (rpm -qa | grep evolution | sort)
b) reproduce the issue
c) while the evolution is frozen, invoke these two commands from a terminal:
   $ gdb --batch --ex "t a a bt" -pid=`pidof evolution` &>evo-bt.txt
   $ gdb --batch --ex "t a a bt" -pid=`pidof evolution-calendar-factory` \
     &>ecf-bt.txt

d) please review the content of evo-bt.txt and ecf-bt.txt for any private
   information it can contain, like email addresses, server addresses and
   passwords (I usually search for "pass" (quotes for clarity only) at least).

Once you've the file content sanitized, upload it here, please, and I'll check where the evolution is stuck. I would guess it's waiting for a response from the evolution-calendar-factory process, which might be busy with an update of the EWS calendar.

It would be also good to restart the machine before starting this reproducer, just to make sure all updated binaries will be running as expected.

Comment 3 birger 2014-03-13 14:19:49 UTC
Created attachment 874017 [details]
evo-bt.txt

Comment 4 birger 2014-03-13 14:20:44 UTC
Created attachment 874018 [details]
ecf-bt.txt

Comment 5 Milan Crha 2014-03-14 08:08:02 UTC
Thanks for the update. Interestingly, the evolution-calendar-factory is idle, it doesn't do anything at the moment of the backtrace capture. The evolution backtrace, on the other hand, shows that there was received a notification about added components to a view (that's when the calendar finds an event which satisfies view's criteria), where the calendar wanted to marks days with events in the left-bottom calendar. This got stuck on the timezone request, the evolution asked for a timezone definition the calendar factory. The interesting part here is that the timezone ID seems to be garbled, it shows value " 1".

I just tested this and I can reproduce this too.

Comment 6 Milan Crha 2014-03-14 09:26:13 UTC
I realized, after further investigation, that this was an issue in evolution-data-server, which had some wrong assumption. More can be seen in an upstream commit [1] for 3.11.92+.

I'll create an update for Fedora 20 with the patch included. By the way, the UI will eventually recover, once it timeouts on the D-Bus call, but you may get into the freeze quite often, when searching through the calendar.

[1] https://git.gnome.org/browse/evolution-data-server/commit/?id=6b9b325

Comment 7 birger 2014-03-14 10:22:46 UTC
I have another problem that I have not reported. Perhaps it's related. When composing a new email (reply, group reply as well) while the exchange account is selected it takes a looooong time before the compose window pops up. But not if I select one of my other email accounts. Not nearly as long as this calendar hang. I have let evolution just hang in the calendar view for quite long, and I have never seen it recover. Perhaps because there are many calendar entries and it has to time out on each one?

Looking forward to the patched package. Will let you know how it works.

Comment 8 Fedora Update System 2014-03-14 10:40:38 UTC
evolution-data-server-3.10.4-3.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/evolution-data-server-3.10.4-3.fc20

Comment 9 birger 2014-03-14 12:40:13 UTC
It seems to fix both of my problems. :-)
Should I somehow give karma to the package on bodhi? I am not certain how to do that.

Comment 10 Fedora Update System 2014-03-15 15:25:59 UTC
Package evolution-data-server-3.10.4-3.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing evolution-data-server-3.10.4-3.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-3948/evolution-data-server-3.10.4-3.fc20
then log in and leave karma (feedback).

Comment 11 Milan Crha 2014-03-17 07:29:26 UTC
(In reply to birger from comment #7)
> When composing a new email (reply, group reply as well) while the exchange
> account is selected it takes a looooong time before the compose window pops
> up.

You said later the package helped, thus it's good, but only in case you face it again, the same as in comment #2 applies here, it means, while the evolution is frozen, get the backtrace of it, to see what it does.

> I have let evolution just hang in the calendar view
> for quite long, and I have never seen it recover. Perhaps because there are
> many calendar entries and it has to time out on each one?

Right. My test event had 3 broken/unknown timezones, and the client asked for each of it, and each call time-outed after about 30 seconds (per one call). Thus I agree, if you have multiple events suffering of this, and each has about 2-3 unknown timezones, then you get to along pending period.

(In reply to birger from comment #9)
> It seems to fix both of my problems. :-)
> Should I somehow give karma to the package on bodhi? I am not certain how to
> do that.

Right, it would be nice to add the karma there (see comment #10 for a link).
I think you might need an account there, thus if it's not a problem, then please leave karma there, thus the update gets to stable quicker. Thanks.

Comment 12 Fedora Update System 2014-03-18 08:06:13 UTC
evolution-data-server-3.10.4-3.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.