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 579176 - crashes when accepting meeting invitation
crashes when accepting meeting invitation
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
2.26.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: Milan Crha
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2009-04-16 15:49 UTC by Sebastien Bacher
Modified: 2009-05-19 12:40 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26


Attachments
proposed eds patch (1.38 KB, patch)
2009-04-16 17:17 UTC, Milan Crha
accepted-commit_now Details | Review
proposed eds patch ][ (9.90 KB, patch)
2009-04-27 10:51 UTC, Milan Crha
none Details | Review

Description Sebastien Bacher 2009-04-16 15:49:24 UTC
the bug has been opened on https://bugs.launchpad.net/bugs/357636

"While processing a repetitive meeting request evolution (2.26.0-0ubuntu2) crashes when opening the message.

Only selecting this mail to read crashes evolution with a message in the progress bar on the bottom saying, (translated from Portuguese) "Parsing Message".
I don't know if it helps, but the mail is from a POP3 mail server.

http://launchpadlibrarian.net/25011541/ProgressMeeting.calendar
Webmail text download of the received meeting mail  (1.4 KiB, text/plain) 

  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/tls/i686/cmov/libc.so.6
  • #2 abort
    from /lib/tls/i686/cmov/libc.so.6
  • #3 __assert_fail
    from /lib/tls/i686/cmov/libc.so.6
  • #4 icalerror_set_errno
    from /usr/lib/libical.so.0
  • #5 icalcomponent_new_clone
    from /usr/lib/libical.so.0
  • #6 e_cal_backend_file_get_object
    at e-cal-backend-file.c line 1253
  • #7 e_cal_backend_sync_get_object
    at e-cal-backend-sync.c line 421
  • #8 _e_cal_backend_get_object
    at e-cal-backend-sync.c line 842
  • #9 e_cal_backend_get_object
  • #10 impl_Cal_getObject
    at e-data-cal.c line 207
  • #11 _ORBIT_skel_small_GNOME_Evolution_Calendar_Cal_getObject
    at Evolution-DataServer-Calendar-common.c line 80
  • #12 ??
    from /usr/lib/libORBit-2.so.0
  • #13 ORBit_OAObject_invoke
    from /usr/lib/libORBit-2.so.0
  • #14 ORBit_small_invoke_adaptor
    from /usr/lib/libORBit-2.so.0
  • #15 ??
    from /usr/lib/libORBit-2.so.0
  • #16 ??
    from /usr/lib/libORBit-2.so.0
  • #17 giop_thread_queue_process
    from /usr/lib/libORBit-2.so.0
  • #18 ??
    from /usr/lib/libORBit-2.so.0
  • #19 ??
    from /usr/lib/libglib-2.0.so.0
  • #20 ??
    from /usr/lib/libglib-2.0.so.0
  • #21 start_thread
    from /lib/tls/i686/cmov/libpthread.so.0
  • #22 clone
    from /lib/tls/i686/cmov/libc.so.6"

Comment 1 Milan Crha 2009-04-16 17:17:09 UTC
Created attachment 132771 [details] [review]
proposed eds patch

for evolution-data-server;

Detached instances don't have a master object.
Comment 2 Sebastien Bacher 2009-04-22 08:05:33 UTC
there is an ubuntu bug submitter confirming that the change fixes the issue
Comment 3 Sebastien Bacher 2009-04-24 10:14:33 UTC
there is a bug submitter getting an another crasher after this change
http://launchpadlibrarian.net/25917087/EDS_Backtrace.txt
Comment 4 Chenthill P 2009-04-27 07:04:11 UTC
Please commit the patch to trunk and stable branch.
Comment 5 Chenthill P 2009-04-27 07:10:22 UTC
Looking at trace at comment #3, the similar check for the presence of master instance should be put in at remove_instance also. Probably milan can make this change too while committing the patch.

Comment 6 Milan Crha 2009-04-27 10:51:55 UTC
Created attachment 133404 [details] [review]
proposed eds patch ][

for evolution-data-server;

The extended patch is quite bigger, thus rather resending here. Moreover, if I got it right, then for example removal of a detached instance is not notified, when the full_object is NULL. Am I right? If so, then that can be a bug, right?
Comment 7 Chenthill P 2009-04-27 15:15:09 UTC
Both removal and modifications should be notified even for detached instances. They need to be handled like non-recurring appointments in case of modifications and deletions.
Comment 8 Chenthill P 2009-04-27 15:15:58 UTC
Rest of the patch looks fine.
Comment 9 Milan Crha 2009-04-27 16:10:52 UTC
Strange, I tried and I cannot see a difference. How do I recognize the fault?
Comment 10 Chenthill P 2009-04-28 10:18:40 UTC
There will be no difference if you decline the meeting in the mailer and then go to calendar component as a refresh in view happens naturally. But if the instance is deleted/modified from the calendar view, there would be a difference as the view needs notification for showing the changes made.
Comment 11 Milan Crha 2009-04-28 10:48:21 UTC
I did delete the meeting in the calendar component. Both detached instance, and then the master object too. It worked.
Comment 12 Chenthill P 2009-04-28 12:09:41 UTC
Got it. ECalBackendSync (_e_cal_backend_remove_object) handles it internally for those cases.

notify_changes is used when calendar is reloaded which is not used at the moment. When someone starts using e_cal_backend_file_reload, they would notice the difference.
Comment 13 Milan Crha 2009-04-30 11:15:42 UTC
Chen, aha, OK, I believe it's out of scope of this bug. Could we close this crasher (commit the patch) and take care of the other brokeness anywhere else?
Comment 14 Chenthill P 2009-05-13 10:52:59 UTC
sure, I had to put this in as this patch introduces it. Probably you can remove the changes made in notify_*_cb and commit the other parts.
Comment 15 Milan Crha 2009-05-19 12:40:57 UTC
Created commit 29c6fd1 in master. (Slightly modified above patch, with removed notify_*_cb chunks.