After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 659491 - Hung when accepting calendar invite
Hung when accepting calendar invite
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
3.2.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 663223 663420 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-09-19 16:26 UTC by Ian B. MacDonald
Modified: 2012-07-03 07:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Mbox Attachment (10.86 KB, application/mbox)
2011-09-30 20:00 UTC, Ian B. MacDonald
  Details
evo patch (34.32 KB, patch)
2011-11-25 10:40 UTC, Milan Crha
committed Details | Review

Description Ian B. MacDonald 2011-09-19 16:26:54 UTC
Most calendar invites crash my current 3.1.91 evolution (Ubuntu 11.10 B1). 

Downstream I have captured two scenarios:

1) Declining a calendar invite resulting in an e-cal-factory crash and auto-tracing
e-calendar-factory crashed with SIGSEGV in _dbus_watch_invalidate()
https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/853986 

2) Trying to accept a calendar invite resulting in a hang that I captured at forced quit with gdb
https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/850218 

I'm not entirely sure these are related, but my Google Calendars are not really working at all from an accept/decline perspective.
Comment 1 Akhil Laddha 2011-09-20 03:42:40 UTC
Can you please paste traces here from downstream bug, tia ?
Comment 2 Fabio Durán Verdugo 2011-09-20 03:50:41 UTC
for the point 2 here the BT 

(gdb) backtrace full
  • #0 nanosleep
    at ../sysdeps/unix/syscall-template.S line 82
  • #1 g_usleep
    at /build/buildd/glib2.0-2.29.90/./glib/gtimer.c line 253
  • #2 gdbus_proxy_call_sync
    at e-gdbus-templates.c line 1441
  • #3 e_gdbus_proxy_call_sync_string__void
    at e-gdbus-templates.c line 1559
  • #4 e_client_proxy_call_sync_string__void
    at e-client.c line 2984
  • #5 e_cal_client_receive_objects_sync
    at e-cal-client.c line 4001
  • #6 update_item
    at itip-formatter.c line 1449
  • #7 view_response_cb
    at itip-formatter.c line 2263
  • #8 g_closure_invoke
    at /build/buildd/glib2.0-2.29.90/./gobject/gclosure.c line 774
  • #9 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3272
  • #10 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3003
  • #11 g_signal_emit
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3060
  • #12 g_closure_invoke
    at /build/buildd/glib2.0-2.29.90/./gobject/gclosure.c line 774
  • #13 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3272
  • #14 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3003
  • #15 g_signal_emit
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3060
  • #16 gtk_real_button_released
    at /build/buildd/gtk+3.0-3.1.18/./gtk/gtkbutton.c line 1825
  • #17 g_closure_invoke
    at /build/buildd/glib2.0-2.29.90/./gobject/gclosure.c line 774
  • #18 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3202
  • #19 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3003
  • #20 g_signal_emit
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3060
  • #21 gtk_button_button_release
    at /build/buildd/gtk+3.0-3.1.18/./gtk/gtkbutton.c line 1717
  • #22 gtk_button_button_release
    at /build/buildd/gtk+3.0-3.1.18/./gtk/gtkbutton.c line 1709
  • #23 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+3.0-3.1.18/./gtk/gtkmarshalers.c line 85
  • #24 g_closure_invoke
    at /build/buildd/glib2.0-2.29.90/./gobject/gclosure.c line 774
  • #25 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3310
  • #26 g_signal_emit_valist
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3013
  • #27 g_signal_emit
    at /build/buildd/glib2.0-2.29.90/./gobject/gsignal.c line 3060
  • #28 gtk_widget_event_internal
    at /build/buildd/gtk+3.0-3.1.18/./gtk/gtkwidget.c line 6131
  • #29 gtk_propagate_event
    at /build/buildd/gtk+3.0-3.1.18/./gtk/gtkmain.c line 2629
  • #30 gtk_main_do_event
    at /build/buildd/gtk+3.0-3.1.18/./gtk/gtkmain.c line 1894
  • #31 gdk_event_source_dispatch
    at /build/buildd/gtk+3.0-3.1.18/./gdk/x11/gdkeventsource.c line 360
  • #32 g_main_dispatch
    at /build/buildd/glib2.0-2.29.90/./glib/gmain.c line 2441
  • #33 g_main_context_dispatch
    at /build/buildd/glib2.0-2.29.90/./glib/gmain.c line 3011
  • #34 g_main_context_iterate
    at /build/buildd/glib2.0-2.29.90/./glib/gmain.c line 3089
  • #35 g_main_loop_run
    at /build/buildd/glib2.0-2.29.90/./glib/gmain.c line 3297
  • #36 gtk_main
    at /build/buildd/gtk+3.0-3.1.18/./gtk/gtkmain.c line 1367
  • #37 main
    at main.c line 696

Comment 3 Milan Crha 2011-09-21 18:16:22 UTC
Could you open a separate bug report for 1), please? Please mention there what calendar type is used here (On This Computer/CalDAV/...)

For me the application hangs due to a sync call through the DBus to e-calendar-factory, and it recovers after some time (it was a long time, anyway).
Comment 4 Ian B. MacDonald 2011-09-21 19:18:52 UTC
#1 moved here https://bugzilla.gnome.org/show_bug.cgi?id=659756
Comment 5 Ian B. MacDonald 2011-09-30 04:20:34 UTC
This one is still top of my list in 3.2.0.  When I preview an email to "Accept" I don't even see the "Send Reply" checkbox if the event is not already in my calendar.

Also some multipart appointments show their .ics attachment and others do not.
Comment 6 Milan Crha 2011-09-30 09:20:43 UTC
It would be helpful to provide test messages, because mine works fine. (Of course with sanitized private information like email addresses and so on.)
Comment 7 Ian B. MacDonald 2011-09-30 20:00:38 UTC
Created attachment 197905 [details]
Mbox Attachment

Attached is an mbox file with an email that contains an ICS calendar event.  The resulting crash appears retraced as https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/863590 

I am not convinced this is actually different than https://bugzilla.gnome.org/show_bug.cgi?id=659756 

In this case, it is an email from one of my IMAP accounts to another one. I created it in the browser at Google.com/calendar.  

Both the meeting guest and organizer calendars are configured in my Evolution, so it showed as "Found in Calendar" even before I accepted it, however the issue occurs in a similar manner from external calendars as well. 

I cannot accept any invite from any client as far as I know (Google, Outlook, etc).
Comment 8 Milan Crha 2011-10-03 07:37:55 UTC
OK, I think I misunderstood this then. To clarify, you can see the buttons for Accept/Decline/... when you select the message and selecting it doesn't freeze the evolution, the issue becomes only when you click on one of those Accept/Decline/Tentative buttons, which can result in a crash on the e-calendar-factory side, and an infinite hang on evolution's side (because it's waiting on a reply from the factory, which will never happen)? I suppose you've destination calendar is a Gnome-Online-Account Google calendar, am I right? I still do not have updated my system, but I should get to it soon.
Comment 9 Ian B. MacDonald 2011-10-03 14:14:22 UTC
Milan, your clarification is accurate.
Comment 10 Ian B. MacDonald 2011-10-05 16:05:28 UTC
And it does not happen with local calendar
Comment 11 Ian B. MacDonald 2011-10-05 16:21:24 UTC
There is no output from the calendar factory when it dies.
Comment 12 Milan Crha 2011-10-06 19:03:18 UTC
(In reply to comment #11)
> There is no output from the calendar factory when it dies.

Did it close itself, with a "Bye" message, or crashed? Running it under gdb may tell you where it crashed, if it did.
Comment 13 Ian B. MacDonald 2011-10-06 22:30:43 UTC
Oh it crashes, just no console output.  It is retraced in the downstream link as it caught immediately by apport.

https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/863590
Comment 14 Ian B. MacDonald 2011-10-06 22:39:44 UTC
I noticed there are a number of duplicate reports being caught by apport, so hopefully this is easily reproduced.
Comment 15 Milan Crha 2011-10-07 12:39:01 UTC
(In reply to comment #13)
> Oh it crashes, just no console output.  It is retraced in the downstream link
> as it caught immediately by apport.
> 
> https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/863590

Reported in Gnome as bug #659756, though I'm not seeing it on Fedora 15 myself.
Comment 16 Bastien Nocera 2011-10-07 13:34:50 UTC
Seen this in GNOME 3.2 on Fedora 16.
Comment 17 Ian B. MacDonald 2011-10-20 15:13:53 UTC
I can't seem to reproduce this now with current 3.2.1-0ubuntu1 on my Ubuntu
11.10 instance.  This clears the path for an upgrade of my daily driver.
Comment 18 Ian B. MacDonald 2011-10-24 20:41:41 UTC
After a few more days I believe this is resolved in 3.2.1-0ubuntu1.
Comment 19 Akhil Laddha 2011-11-14 10:32:22 UTC
may be, this bug can be closed while keeping bug 659756 open
Comment 20 Milan Crha 2011-11-14 10:53:04 UTC
Probably. Both seem to be fixed for Ian with 3.2.1, as stated in comment #18 and bug #659756 comment #17.
Comment 21 Ian B. MacDonald 2011-11-15 18:11:19 UTC
Well, I had one potential re-occurrence almost two weeks ago, and then a second potential yesterday. In both cases I was doing too many things to be sure it was the invite.  I let it trace and log downstream anyways in both previous cases: 

https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/890329
https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/885796

Today, I only executed one action, to accept an invite, only to find the e-cal factory crash moments later when I glanced back to my screen.  This confirmed that this issue is still around, just on every invite as it was previously in my case. 

I logged this last crash too in case it is helpful;it should become public downstream in a bit. 

https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/890787

In this last case, the issue seems 100% repeatable, occurring again after force-shutdown and reload on the same event.  I have saved the email as an mbox so I can test some additional scenarios and turn on debugging.
Comment 22 Ian B. MacDonald 2011-11-15 18:12:51 UTC
edit my last

%s/just on every invite/just not on every invite/g
Comment 23 Milan Crha 2011-11-16 10:48:02 UTC
The first two are still private, unfortunately. The last is public already, and they found a duplicate. I noticed a similar one as well, it seems like either a memory corruption or a dbus issue and its thread unsafety (the dbus-glib's not GDBus'). Though I cannot tell for sure.
Comment 24 Milan Crha 2011-11-25 06:48:04 UTC
*** Bug 663420 has been marked as a duplicate of this bug. ***
Comment 25 Milan Crha 2011-11-25 10:40:08 UTC
Created attachment 202120 [details] [review]
evo patch

for evolution;

This removes almost all synchronous calls to ECalClient from itip-formatter, which were causing this hung (the last one does not do any remote I/O operation, because the property is cached on ECalClient open). The itip-formatter shows a progress information about "updating event on the server", and user should wait till it's done, because moving away from the message cancels any pending requests, like the event update. I added couple new strings, thus not possible to push to 3.2.x as is.
Comment 26 Milan Crha 2011-11-25 10:41:09 UTC
Created commit 8664187 in evo master (3.3.3+)
Comment 27 Ian B. MacDonald 2011-12-14 19:57:57 UTC
Hmm, so is there a way to create a patch that could be used for the downstream issue, and not committed, noting that it appears to affect quite a few people.

https://bugs.launchpad.net/evolution-data-server/+bug/847578
Comment 28 Milan Crha 2011-12-15 10:05:02 UTC
Do you mind of new translation strings? Maybe I can try to provide a 3.2.x patch. Also note that more changes might be needed, for example, I recently fixed similar issue in the WebCal backend, which was crashing due to operation cancelling too.
Comment 29 Ian B. MacDonald 2012-03-07 15:30:53 UTC
Hmm, well they just released Ubuntu 12.04 Beta1 with 3.2.3, so this continues to plague my Ubuntu experience.  

Accepting calendar invites with ICS phone widgets is killing me slowly.
Comment 30 Ian B. MacDonald 2012-04-03 00:30:25 UTC
All fixed now downstream in Ubuntu 12.04. No longer an issue for me.
Comment 31 Milan Crha 2012-07-03 07:13:32 UTC
*** Bug 663223 has been marked as a duplicate of this bug. ***