GNOME Bugzilla – Bug 501298
Tasks: Evolution is hanging eve...
Last modified: 2009-04-02 18:06:48 UTC
Version: 2.12 Evolution is hanging everytime when I try to view reminder e-mails from Google Calendar. Evolution will freeze and become unresponsive (but not crash). If I force quit and restart, evolution hangs again (as it tries to again open the message). I have to use another mail client to first delete the google calendar reminder e-mail before evolution can successfully be restarted. [Fedora Core 8, evolution-2.12.1-3.fc8] The source of an example google calendar e-mail message that hangs evolution is below: Delivered-To: tacarter@gmail.com Received: by 10.64.76.6 with SMTP id y6cs136994qba; Mon, 3 Dec 2007 09:20:12 -0800 (PST) Received: by 10.86.33.10 with SMTP id g10mr9227916fgg.1196702411534; Mon, 03 Dec 2007 09:20:11 -0800 (PST) Return-Path: <3yTpURxUKCJ8B9KDMC9Q-MNSHEHB9SHNMFNNFKD.BNLS9B9QSDQFL9HK.BNL@calendar-server.bounces.google.com> Received: from py-out-f140.google.com (py-out-f140.google.com [64.233.166.140]) by mx.google.com with ESMTP id e11si6367654fga.2007.12.03.09.20.09; Mon, 03 Dec 2007 09:20:11 -0800 (PST) Received-SPF: pass (google.com: domain of 3yTpURxUKCJ8B9KDMC9Q-MNSHEHB9SHNMFNNFKD.BNLS9B9QSDQFL9HK.BNL@calendar-server.bounces.google.com designates 64.233.166.140 as permitted sender) client-ip=64.233.166.140; Authentication-Results: mx.google.com; spf=pass (google.com: domain of 3yTpURxUKCJ8B9KDMC9Q-MNSHEHB9SHNMFNNFKD.BNLS9B9QSDQFL9HK.BNL@calendar-server.bounces.google.com designates 64.233.166.140 as permitted sender) smtp.mail=3yTpURxUKCJ8B9KDMC9Q-MNSHEHB9SHNMFNNFKD.BNLS9B9QSDQFL9HK.BNL@calendar-server.bounces.google.com; dkim=pass (test mode) header.i=@google.com Received: by py-out-f140.google.com with SMTP id v12so538694pyh for <tacarter@gmail.com>; Mon, 03 Dec 2007 09:20:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:mime-version:message-id:date:reply-to:received:subject:from:to:content-type; bh=Xapk5Mqg5aGUe056xON1MisXz9EwTUODbhBhz8A6u40=; b=RqJfEIBzeEX/roTLZZwf8zbPwm/5wIhUlYNfZHSFO2TCTpQNH51+RiwgAM9rx8PnWe5E4j6PRPN4RFUXc5p91A== DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:message-id:date:reply-to:received:subject:from:to:content-type; b=PQyTrkdC6XHlkQnKhcQ8NBVICDf0uK9XE9uk7IZumVBvyvNr+0hnp8JVHdylqt7E+jb0sF55X7YEHjP9Tm12NQ== MIME-Version: 1.0 Message-ID: <00163600ca7f044064fe0a8718133391@google.com> Date: Mon, 03 Dec 2007 09:20:09 -0800 Reply-To: Troy Carter <tacarter@gmail.com> Received: by 10.35.59.5 with SMTP id m5mr6911551pyk.1196702409852; Mon, 03 Dec 2007 09:20:09 -0800 (PST) Subject: [Reminder] Meet with Catherine Allen @ Mon Dec 3 9:30am - 10:30am (Troy Carter: Work) From: Google Calendar <calendar-notification@google.com> To: Troy Carter <tacarter@gmail.com> Content-Type: multipart/mixed; boundary=00163600ca7f044064fe0a86f65f1dfc --00163600ca7f044064fe0a86f65f1dfc Content-Type: multipart/alternative; boundary=00163600ca7f044064fe0a86f35f1dfb --00163600ca7f044064fe0a86f35f1dfb Content-Type: text/plain; charset=ISO-8859-1; Format=Flowed Content-Disposition: inline Content-Transfer-Encoding: 7bit Troy Carter, this is a reminder for Title: Meet with Catherine Allen Time: Mon Dec 3 9:30am - 10:30am (Pacific Time) Calendar: Troy Carter: Work You can view this event at http://www.google.com/calendar/event?action=VIEW&eid=MGg0YnIwODlnNWI5a3J1YzdnYTFxOGFlOWcgdGFjYXJ0ZXJAbQ&tok=MTgjdGFjYXJ0ZXJAZ21haWwuY29tNjc0ZWIzYmRiZDY5Zjc0OGI2ZjlmNTVlMmU2NDJiNDg3YzFmNjllMA&ctz=America%2FLos_Angeles&hl=en You can also view your calendar at http://www.google.com/calendar/ You are receiving this email at the account tacarter@gmail.com because you are subscribed for reminders on calendar Troy Carter: Work. To stop receiving these notifications, please log in to http://www.google.com/calendar/ and change your notification settings for this calendar. --00163600ca7f044064fe0a86f35f1dfb Content-Type: text/html; charset=ISO-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 7bit <div style="padding:10px 7px; font-size:12px; line-height:1.4 font-family:Arial,Sans-serif; text-align:center;"><div><a href="http://www.google.com/calendar/"><img style="border-width:0" src="http://www.google.com/calendar/images/blue_beta_en.gif" alt="Google Calendar"></a></div> <div style="width:370px; background:#D2E6D2; border-style:solid; border-color:#ccc; border-width:1px 1px 0 1px; padding:15px 15px 5px 15px; margin:0 auto"><p style="margin:0;color:#0">Troy Carter, this is a reminder for</p> <h2 style="margin:5px 0; font-size:18px; line-height:1.4;color:#0">Meet with Catherine Allen</h2> <p style="margin:0 0 .5em;"><span style="color:#0">Mon Dec 3 9:30am - 10:30am</span> <br> <span style="color:#676;">(Pacific Time)</span> <br> <span style="color:#0"></span> <br> <span style="color:#0">Calendar: Troy Carter: Work</span></p> <p style="margin:0 0 1em;color:#0;white-space:pre"><a href="http://www.google.com/calendar/event?action=VIEW&eid=MGg0YnIwODlnNWI5a3J1YzdnYTFxOGFlOWcgdGFjYXJ0ZXJAbQ&tok=MTgjdGFjYXJ0ZXJAZ21haWwuY29tNjc0ZWIzYmRiZDY5Zjc0OGI2ZjlmNTVlMmU2NDJiNDg3YzFmNjllMA&ctz=America%2FLos_Angeles&hl=en">More event details»</a></p> </div> <div><img src="http://www.google.com/calendar/images/envelope.gif" style="background:#D2E6D2; width:420px height:95px" alt=""></div><p style="margin:-15px 0 0;"><a href="http://www.google.com/calendar/">View your calendar»</a></p> <p style="color:#676;">You are receiving this email at the account tacarter@gmail.com because you are subscribed for reminders on calendar Troy Carter: Work.</p><p style="color:#676;">To stop receiving these notifications, please log in to http://www.google.com/calendar/ and change your notification settings for this calendar.</p></div> --00163600ca7f044064fe0a86f35f1dfb Content-Type: text/calendar; charset=ISO-8859-1; method=REQUEST Content-Disposition: inline Content-Transfer-Encoding: 7bit BEGIN:VCALENDAR PRODID:-//Google Inc//Google Calendar 70.9054//EN VERSION:2.0 CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20071203T173000Z DTEND:20071203T183000Z DTSTAMP:20071203T172009Z UID:0h4br089g5b9kruc7ga1q8ae9g@google.com CLASS:PRIVATE CREATED:20071128T213829Z DESCRIPTION:View your event at http://www.google.com/calendar/event?action= VIEW&eid=MGg0YnIwODlnNWI5a3J1YzdnYTFxOGFlOWcgdGFjYXJ0ZXJAbQ&tok=MTgjdGFjYXJ 0ZXJAZ21haWwuY29tNjc0ZWIzYmRiZDY5Zjc0OGI2ZjlmNTVlMmU2NDJiNDg3YzFmNjllMA&ctz =America%2FLos_Angeles&hl=en. LAST-MODIFIED:20071128T213829Z SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Meet with Catherine Allen TRANSP:OPAQUE END:VEVENT END:VCALENDAR --00163600ca7f044064fe0a86f35f1dfb-- --00163600ca7f044064fe0a86f65f1dfc Content-Type: application/ics; name="invite.ics" Content-Disposition: attachment; filename="invite.ics" Content-Transfer-Encoding: 7bit BEGIN:VCALENDAR PRODID:-//Google Inc//Google Calendar 70.9054//EN VERSION:2.0 CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20071203T173000Z DTEND:20071203T183000Z DTSTAMP:20071203T172009Z UID:0h4br089g5b9kruc7ga1q8ae9g@google.com CLASS:PRIVATE CREATED:20071128T213829Z DESCRIPTION:View your event at http://www.google.com/calendar/event?action= VIEW&eid=MGg0YnIwODlnNWI5a3J1YzdnYTFxOGFlOWcgdGFjYXJ0ZXJAbQ&tok=MTgjdGFjYXJ 0ZXJAZ21haWwuY29tNjc0ZWIzYmRiZDY5Zjc0OGI2ZjlmNTVlMmU2NDJiNDg3YzFmNjllMA&ctz =America%2FLos_Angeles&hl=en. LAST-MODIFIED:20071128T213829Z SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Meet with Catherine Allen TRANSP:OPAQUE END:VEVENT END:VCALENDAR --00163600ca7f044064fe0a86f65f1dfc-- Distribution: Fedora release 8 (Werewolf) Gnome Release: 2.20.1 2007-11-13 (Red Hat, Inc) BugBuddy Version: 2.20.1
please attach the source as an attachment. please run evolution in gdb and get us a stacktrace (see http://www.gnome.org/projects/evolution/bugs.shtml)
We have same bug report [1] in our bugzilla too. [1] https://bugzilla.redhat.com/show_bug.cgi?id=408961 I can sporadically reproduce this even with other reminder. Below are my stack traces of Evolution and Evolution-Data-Server. Look for 0x7e0560 in eds part, it is the address of backend which caused this. It is going to be opened in one thread, and in the second the UI is setting the default time zone to it. Because it uses same lock for both operations then it gets starve. In other words, a deadlock occurred. ***** Evolution (gdb) thread apply all bt
+ Trace 185731
Thread 1 (Thread 46912554087760 (LWP 13247))
The functions where the lock of the backend is used are e_cal_backend_sync_open and e_cal_backend_sync_set_default_zone.
*** Bug 528898 has been marked as a duplicate of this bug. ***
Created attachment 118446 [details] [review] proposed eds patch for evolution-data-server; Here's a patch. The idea behind it is that the e_cal_open function should be as quick as possible, but for 'contacts' backend it could be quite slow, thus rather initialize EBooks later, on idle, to have the sync backend, and its lock, happy. As far as I can tell, this is the problem only for 'contacts' calendar backend. The patch also contains change in ECal event on readonly state of the calendar, I had a chat with Chen some time back and he said we can calm down it. I hope he would like this solution, if not, then we can review tomorrow or so.
Created attachment 118517 [details] [review] proposed eds patch ][ for evolution-data-server; I was told that using idle here is not the best thing, even it comes on eds idle, but anyway, here's a version with creating other thread. The ECal part is changed too, after a discussion with Chen. It makes sort of sense that the readonly state arrival stolen other operation, which could invoke this bug too.
I noticed the change for readonly seems to be incorrect, because the get_read_only function uses OP. The problem with unexpected response is probably somewhere else...
*** Bug 537831 has been marked as a duplicate of this bug. ***
*** Bug 540945 has been marked as a duplicate of this bug. ***
Please ignore (and get rid of) the part in libecal in previous patch, it's totally wrong. I found the root cause for that and wrote to the bug #553932.
Ignored the libecal part. Please commit rest of the patch to trunk and stable branches.
Committed to trunk. Committed revision 9937. Committed to gnome-2-24. Committed revision 9938. Without the e-cal.c part. Marking patch as obsolete, just to not confuse others.
*** Bug 561743 has been marked as a duplicate of this bug. ***
*** Bug 555744 has been marked as a duplicate of this bug. ***