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 678952 - Meeting invitation reply causes crash of Outlook 2010
Meeting invitation reply causes crash of Outlook 2010
Status: RESOLVED FIXED
Product: evolution-mapi
Classification: Applications
Component: Calendar
3.4.x
Other Linux
: Normal normal
: ---
Assigned To: Milan Crha
evolution-mapi-maint
Depends on:
Blocks:
 
 
Reported: 2012-06-27 09:13 UTC by E. Kastelijn
Modified: 2012-09-17 07:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
The original (anonymized) meeting request I received in Evolution (2.61 KB, text/plain)
2012-06-27 09:13 UTC, E. Kastelijn
  Details
The tentative meeting acceptance I sent with Evolution (1.73 KB, text/plain)
2012-06-27 09:25 UTC, E. Kastelijn
  Details
ema patch (967 bytes, patch)
2012-06-28 15:42 UTC, Milan Crha
committed Details | Review
proposed ema patch ][ (1.76 KB, patch)
2012-09-10 13:52 UTC, Milan Crha
committed Details | Review
ecflog.txt (2.33 KB, text/plain)
2012-09-13 13:39 UTC, E. Kastelijn
  Details
hopefully better ecflog.txt (19.97 KB, text/plain)
2012-09-13 16:27 UTC, E. Kastelijn
  Details
ema patch ]I[ (566 bytes, patch)
2012-09-14 13:57 UTC, Milan Crha
committed Details | Review

Description E. Kastelijn 2012-06-27 09:13:17 UTC
Created attachment 217358 [details]
The original (anonymized) meeting request I received in Evolution

I received a meeting request in Evolution (evolution-mapi-3.4.3-1.fc17.x86_64) from an Outlook 2010 client, and replied with the "Tentative" button in evolution.
The meeting organizer received my Tentative acceptance, but when he double-clicks the email then Outlook 2010 (version 14.0.6112.5000 32-bit) crashes.
Comment 1 E. Kastelijn 2012-06-27 09:25:30 UTC
Created attachment 217362 [details]
The tentative meeting acceptance I sent with Evolution
Comment 2 Milan Crha 2012-06-28 10:42:59 UTC
Thanks for a bug report. I didn't know we can make Outlook crash that easily. :) But more seriously, can he open the email in OWA interface of the exchange server? It might not kill the server, same as it should not crash Outlook.
Comment 3 Milan Crha 2012-06-28 15:42:28 UTC
Created attachment 217537 [details] [review]
ema patch

for evolution-mapi;

I realized that there was an incorrect test for named properties. It worked for most of them, but not all - not for some from calendar set of properties.

I created a test build for you, at [1]. Please give it a try, and let me know whether it helped. Make sure you'll restart evolution-calendar-factory process after that package installation, otherwise changes being done here will not be used in the factory (the factory sends the message to your colleague).

[1] http://koji.fedoraproject.org/koji/taskinfo?taskID=4205873
Comment 4 Milan Crha 2012-06-28 15:46:09 UTC
Created commit 35cb9dd in ema master (3.5.4+)
Created commit 2e95520 in ema gnome-3-4 (3.4.4+)
Comment 5 E. Kastelijn 2012-09-07 08:16:21 UTC
I am sorry.
The problem is not fixed.

I retested this problem today with evolution-3.4.4-1 and evolution-mapi-3.4.4-2.
If I accept a (non-recurring) meeting, then the meeting is nicely accepted within Evolution, but Outlook crashes on my collegue's Windows machine as soon as he receives the meeting acceptance confirmation.

-> Can this bug be reopened?

kind regards,

   Egon
Comment 6 Milan Crha 2012-09-10 12:20:14 UTC
Hmm, I found different issues with current git master of evolution (not evolution-mapi), but if I reply as tentative, then I do not get a crash of Outlook 2007. I looked on a tentative response and it only requires to not set PidLidBusyStatus to "olTentative" if the PidLidIntendedBusyStatus is "olFree", plus mentiones few properties which should be set, but evolution-mpai doesn't touch them at all. I suppose the Outlook client requires some properties and the developers of Outlook 2010 didn't think of "property not being available" case.
Comment 7 Milan Crha 2012-09-10 13:52:06 UTC
Created attachment 223913 [details] [review]
proposed ema patch ][

for evolution-mapi;

As far as I can tell, there were "missing" only two properties according to documentation, the PidLidClientIntent and the PidLidAppointmentReplyTime. 
I cannot reproduce this Outlook crash (mine is 2007 and works as expected), thus I would like to ask you to give it some testing before I commit, aka confirm the change helped to the Outlook.

Here [1] is a test package with this patch included. I would like to ask you to try these steps:
a) close evolution and all other evolution-related process, especially make
   sure the evolution-calendar-factory will be closed
b) open a terminal, and run there the factory like this:
   $ MAPI_DEBUG=1 /usr/libexec/evolution-calendar-factory -w &>/tmp/ecflog.txt
c) then run evolution from another console
d) receive the meeting invitation from your colleague and response to it
e) check on his machine whether he can view the reply;
   if not, please observe the /tmp/ecflog.txt file, remove any private
   information from it (there should be email addresses only, maybe URLs),
   and upload the file here, thus I can have a look, though I'm afraid
   the only way to check this is to get response from Microsoft why their
   client crashes.

Another test would to to check what the Outlook 2010 sets on the meeting response, thus if you could organize a new meeting (if not from evolution, then from the OWA interface - by the way, does Outlook 2010 crashes when it shows meeting invitation from you, created by evolution-mapi?), then close evolution before you receive a reply, run evolution from console like this:
   $ MAPI_DEBUG=1 evolution &>/tmp/evolog.txt
and select the reply. The /tmp/evolog.txt will contain dump of the properties being received on the object, also with email addresses and such, thus it requires checking for not exposing private information, and attach the file here as well.

Thanks in advance.

[1] http://koji.fedoraproject.org/koji/taskinfo?taskID=4471978
Comment 8 E. Kastelijn 2012-09-13 13:38:55 UTC
Hi,

I did the first 3 steps (a,b,c) you mentioned.
But after starting Evolution, and clicking on the email that contained the meeting invitiation Evolution started "Searching for an existing version of the meeting", and after some waiting it crashed.
This was caught in this Abrt bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=857059

I'll attach the ecflog.txt under this bug.

Kind regards,

   Egon
Comment 9 E. Kastelijn 2012-09-13 13:39:49 UTC
Created attachment 224222 [details]
ecflog.txt
Comment 10 Milan Crha 2012-09-13 16:06:07 UTC
Thanks for the update. The log is basically empty, unfortunately. It seems evolution-mapi failed to connect to the server, got stuck there for some reason. :(
Comment 11 Milan Crha 2012-09-13 16:11:35 UTC
I'm committing the patch from comment #7 for 3.5.92, just in case to have in 3.6.0. We can debug this later. (I would prefer to confirm it helps, but I also do not want to loose this for 3.6.0, thus I'm rather committing it.)

Created commit 69749d3 in ema master (3.5.92+)
Comment 12 E. Kastelijn 2012-09-13 16:27:20 UTC
Ok...

I retried, and now I was able to accept the meeting.
I'll attach the (hopefully) better ecflog.txt
Tomorrow my colleague will find out if his Outlook crashes... :)

kind regards,

   Egon
Comment 13 E. Kastelijn 2012-09-13 16:27:50 UTC
Created attachment 224241 [details]
hopefully better ecflog.txt
Comment 14 Milan Crha 2012-09-14 06:54:46 UTC
Thanks for the update, the response looks good, it shows the newly added properties. If the Outlook will still hate evolution's event, could you do this, please:
a) organize meeting through OWA interface with your colleague
b) let him reply to you
c) run evolution as follows, and select the message reply:
   $ MAPI_DEBUG=1 evolution &>evolog.txt
   Please make sure you'll not expose any private information in the file, like
   email addresses (there should not be any passwords, but please check for
   sure. I usually search for "pass" in the file (quotes for clarity only)).

The evolog.txt will show what properties are read on the object, thus we could compare them with those evo-mapi sets.
Comment 15 E. Kastelijn 2012-09-14 07:37:09 UTC
Milan,

Great work!
When my colleague generates a meeting request from Outlook 2010 and I reply to it using Evolution, then Outlook does not crash on the meeting response anymore.

But: While testing we found another bug...
We can crash Outlook 2010 if we create a meeting request from Evolution and my colleague tries to respond to it from Outlook 2010.
-> Should I register a separate bug for this, or do we continue with this new finding under this existing bug?

kind regards,

   Egon

ps:
Outlook Web Access never crashes on any of the Evolution requests/responses.
Comment 16 Milan Crha 2012-09-14 13:57:34 UTC
Created attachment 224317 [details] [review]
ema patch ]I[

for evolution-mapi;

I guess they are missing PidLidAttendeeCriticalChange on the request. It would be nice if the Outlook devs were more error-proof. :)

Anyway, I built a test package for you, with this and the previous patch included, at [1]. Please give it a try, the best before the next Monday, when starts hard code freeze. Please do not forget to close evolution and kill evolution-*-factory processes after installing newer evolution-mapi, thus the change will be used. Thanks in advance. I'll commit this anyway, the test will be "just" for a confirmation. Thanks for your help with this.

[1] http://koji.fedoraproject.org/koji/taskinfo?taskID=4484195
Comment 17 Milan Crha 2012-09-14 13:58:39 UTC
Created commit 5b41f59 in ema master (3.5.92+)
Comment 18 E. Kastelijn 2012-09-15 12:07:39 UTC
Hi Milan,

I managed to find a colleague who was willing to test this during the weekend... ;)
We tested the sending of a meeting-request and accepting it with Outlook:
-> Outlook does not crash anymore!

However:
There are two new things we discovered:

1. When I send the meeting request from Evolution I a found strange "Meeting Forward Notification" in my "Deleted Items" folder.
Quote:
==================================
Your meeting was forwarded

Kastelijn, Egon  has forwarded your meeting request to additional recipients.

Meeting
Nieuw Meeting-request dat Outlook niet zou moeten crashen

Meeting Time
Monday, September 17, 2012 9:00 AM-9:30 AM.

Recipients
<the name of colleague that I invited for the meeting> 
==================================

2. When I edit the meeting-request I generated with Evolution, and I send the updated meeting-request to Outlook, then Outlook crashes.

kind regards,

   Egon
Comment 19 Milan Crha 2012-09-17 07:39:28 UTC
Thanks for the testing, I appreciate it. For the new issues:

> 1. When I send the meeting request from Evolution I a found strange "Meeting
> Forward Notification" in my "Deleted Items" folder.

That's new to me, I did not notice it myself. I see some meeting invitations deleted in my Deleted Items, though none of them is a Forward Notification. I think they are deleted when you reply to them. Evolution has setting for it, in Edit->Preferences->Mail Preferences->Meeting Invitations, but in 3.4.x- these were deleted automatically regardless the setting. It's changed in current git master (3.5.92).

> 2. When I edit the meeting-request I generated with Evolution, and I send the
> updated meeting-request to Outlook, then Outlook crashes.

Hrm, it's bad. I checked properties once again and as far as I can tell the mandatory properties are set even on meeting updates. Please file a new bug report for it, I'll try to investigate it when I get back from little vacation (I'll be gone for almost 4 weeks).