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 509776 - No Exchange reminders are working
No Exchange reminders are working
Status: RESOLVED FIXED
Product: Evolution Exchange
Classification: Deprecated
Component: Connector
2.22.x
Other All
: Normal normal
: ---
Assigned To: Milan Crha
Ximian Connector QA
Depends on:
Blocks:
 
 
Reported: 2008-01-15 22:40 UTC by Paul Smith
Modified: 2008-02-13 18:14 UTC
See Also:
GNOME target: ---
GNOME version: 2.19/2.20


Attachments
Output of running evolution-alarm-notifier stand-alone (5.50 KB, text/plain)
2008-02-05 21:43 UTC, Paul Smith
  Details
debugging patch (2.74 KB, text/plain)
2008-02-05 22:36 UTC, Milan Crha
  Details
proposed eds patch (1.92 KB, patch)
2008-02-06 17:32 UTC, Milan Crha
committed Details | Review

Description Paul Smith 2008-01-15 22:40:14 UTC
Please describe the problem:
I've had a lot of problems with reminders in Evo Exchange over the years, but they finally seemed to be working OK for me in 2.12 and earlier 2.21.x releases.

However, around 2.21.4 they stopped working and even upgrading to the very latest SVN HEAD code as of today (2.21.5) they are still not working.  I can schedule meetings and appointments, set the reminder for 5 minutes beforehand, and nothing happens.

My password is being remembered: when I start Evo I do not have to enter my password.

Steps to reproduce:
1. Create an appointment in the Evo calendar
2. Set the reminder to fire (any amount of time)
3. Save it


Actual results:
No reminder fires.

Expected results:
A reminder is shown

Does this happen every time?
yes

Other information:
This used to work, in 2.12 and before and in earlier versions of 2.21.

Note I also tried to create an appointment with a reminder in my personal calendar (but still the instance of Evo hooked up to exchange) and that didn't fire either!
Comment 1 Paul Smith 2008-02-05 21:42:37 UTC
I'm attaching output from running evolution-alarm-notifier as recommended in bug # 436628 but the output does not show the same problem seen in that bug.

There is a lot of weirdness in my output though.  See attached for the full text, but for example:

evolution-alarm-notify-Message: Setting timeout for 28799 1202274000 1202245201
evolution-alarm-notify-Message:  Wed Feb  6 00:00:00 2008

evolution-alarm-notify-Message:  Tue Feb  5 16:00:01 2008

alarm-notify.c:239 (alarm_notify_init) - Initing Alarm Notify
alarm-queue.c:1859 (alarm_queue_init)
alarm-queue.c:232 (queue_midnight_refresh) - Refresh at Wed Feb  6 00:00:00 2008

That's all perfectly fine, BUT, then:

alarm-queue.c:544 (load_alarms) 
alarm-queue.c:573 (load_alarms) - Setting Call backs 
alarm-notify.c:316 (cal_opened_cb) exchange://psmith;auth=NTLM@exch.server.com/;personal/Tasks - Calendar Status 0
alarm-queue.c:1993 (alarm_queue_add_async) - 0x80e01b0
alarm-queue.c:607 (load_alarms_for_today) - From Tue Feb  5 00:00:00 2008
 to Tue Feb  5 00:00:00 2008

What in the world?!?!  Is this a bug in the print statement for the debugging, or is it really trying to load alarms from and to the exact same time?  Only alarms that happen at exactly midnight (of which, luckily, I don't have any) would match that.

Then, just as concerning later on:

alarm-queue.c:759 (query_objects_changed_async) - No Alarm found for client 0x80d2420
alarm-queue.c:662 (remove_comp) - Removing uid 040000008200E00074C5B7101A82E0080000000060BF509B2F64C801000000000000000010000000E9206EC352C69740BB1044EB5DB80805
alarm-que(evolution-alarm-notify:4241): evolution-alarm-notify-DEBUG: Could not recognize alarm's notification type, discarding.
evolution-alarm-notify-Message: Failed to add all

Not sure what that "could not recognize alarm's notification type" is all about; is that just because there are no alarms?  Seems like an error check belongs there anyway.
Comment 2 Paul Smith 2008-02-05 21:43:45 UTC
Created attachment 104512 [details]
Output of running evolution-alarm-notifier stand-alone
Comment 3 Milan Crha 2008-02-05 22:36:03 UTC
Created attachment 104520 [details]
debugging patch

It was only debug info printing bug, as you can see after applying this debug patch (it's intentionally marked as plain text, because it doesn't fix anything).
But nice catch, I overlooked it.

I added some new debug prints to the alarm-notifier, so if you can apply this patch and see what will be printed there, then in will be nice. One of the reason why the event is "rejected" is that it doesn't have any alarm. With this patch we should be able to see the event itself, so we can check.
Comment 4 Srinivasa Ragavan 2008-02-06 04:35:54 UTC
Milan, I remember I debugged it before a bit for Michael Meeks. The alarm_uid in alarm-queue.c:has_known_*() was corrupted. But I never managed to reproduce it and it is pretty consistent for me now.

I will also debug it more. 
Comment 5 Milan Crha 2008-02-06 15:23:32 UTC
Paul, I found it finally, and believe or not, that's my fault. I caused this with my patch in bug #501548. If you revert part for 'calendar/libecal/e-cal-util.c' then it will leak, but work as expected. BTW, in gw it leaks with 'alarm' member, that should be freed too.
Comment 6 Paul Smith 2008-02-06 16:51:16 UTC
Woo hoo!  Commenting out that cal_obj_uid_list_free() call fixed it!

Hopefully a way can be found to fix the memory leak without breaking alarms :-).  Let me know if you need more help testing or debugging.

Cheers!
Comment 7 Milan Crha 2008-02-06 17:32:20 UTC
Created attachment 104575 [details] [review]
proposed eds patch

for evolution-data-server;

This fixes the issue I caused and also frees memory properly (at least on all places I was looking on). Fix for the other leak I mentioned above will be attached to bug #510949, as Chen suggested.

Paul, thanks for helping with this. I would like to ask you for the test of this patch, if it will work even on your machine/environment. Thanks in advance and I'm sorry for causing troubles.
Comment 8 Paul Smith 2008-02-06 18:33:16 UTC
I undid the change I made earlier today (commenting out cal_obj_uid_list_free())--I assume you wanted that since the new patch you provided didn't have that commented out.

I then applied the new proposed patch and rebuilt, then forced all Evo apps to exit and restarted them.

Everything still works!  I'm getting reminders again.  Thanks!
Comment 9 Srinivasa Ragavan 2008-02-07 04:08:24 UTC
I would let Chen have a close look at it. 

Comment 10 Chenthill P 2008-02-07 19:04:08 UTC
The patch looks fine.
Comment 11 Milan Crha 2008-02-07 19:28:09 UTC
Committed to trunk. Committed revision 8467.
Comment 12 Brian J. Murrell 2008-02-12 21:47:19 UTC
I still seem to be having problems with alarm notifications in 2.21.90 with the Ubuntu Hardy update that came out in the last 24h that included the patch for this bug.

It's slighty better than before this patch in that when I start evolution, it will pop up all of the alarms that should have popped up at their designated times (which didn't even happen before this patch), but while evolution is running, I still don't get alarms.
Comment 13 Milan Crha 2008-02-13 17:49:26 UTC
Hi, I'm sorry to respond so late, what do you mean with that "while evo is running"? Is it something like you've added an event with alarm reminder which should popup after 10 minutes since the time you entered the event, and this alarm will not popup? I just tried with local and exchange events and it works for me, so try to explain a bit more, please.
Comment 14 Brian J. Murrell 2008-02-13 17:58:09 UTC
Yeah.  If I add an event (or even if I have events already in my calendar), I won't get any notifications of them while Evolution is running.  If I quit Evolution and restart it, I will get notifications of events that passed while I had it previously running.

I must say that I am not using Exchange, but just the default Evolution back end.  But I was pointed to this bug when I reported the failure on the mailing list.  And indeed, the latest update from Ubuntu Hardy which included the fix for this bug did add the improvement that when I start evolution I get notification of the events that I was not notified of already.  Even this never used to happen.
Comment 15 Milan Crha 2008-02-13 18:14:22 UTC
I'm not aware of any such option or something to prevent from showing reminders. We should debug it a bit. Can you ping me on IRC (#evolution on irc.gimp.org), it will be easier there.