GNOME Bugzilla – Bug 543517
Calendar displays appointments/meetings at incorrect times
Last modified: 2015-06-15 16:53:27 UTC
Please describe the problem: Originally reported at http://bugs.debian.org/491095 . When I add an appointment to Evolution's calendar manually, or when I accept a meeting notice, it ends up at the wrong time. I tried adding an appointment from 12-1PM, and it showed up from 7-8PM; however, hovering over it or opening it shows that it still thinks the meeting goes from 12-1PM. Accepting a meeting for 3PM made it show up at 5AM the following day. I would tend to suspect timezone handling, because those meetings got offset by 7 hours and 14 hours respectively, and I use the US/Pacific timezone (AKA "America/Los_Angeles" for programs that refuse to show the timezone names), which currently equals UTC-7. Perhaps something applies a timezone offset multiple times or in the wrong direction? Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
What are Evolution's time zone settings and what is your system one?
Both Evolution and my system have America/Los_Angeles as the timezone.
I tried creating a new test user on my system and running evolution as that user, and I could reproduce the problem. Also interesting: whatever time I have selected when I go to create an appointment, the appointment time defaults to seven hours later. For instance, if I have 12PM selected and create a new appointment, the time defaults to 7PM.
there is a similar bug on https://launchpad.net/bugs/254980 using evolution 2.22.3 "evolution 2.22.3.1-0ubuntu1 on Hardy does not use the correct timezone when adding calendar events or displaying reminders. My timezone is set to America/New_York (-0400, currently in daylight savings). This is confirmed with 'dpkg-reconfigure tzdata'. Evolution preferences are setup to America/New_York. Output of date: $ date Tue Aug 5 09:41:48 EDT 2008 $ date -u Tue Aug 5 13:41:50 UTC 2008 If I am in 'day view' of the evolution calendar, and I double click on the '12pm' time slot, the Appointment editor dialog displays the time as '4pm', but the Appointment editor dialog shows the timezone as 'America/New_York'. It doesn't seem to make a difference if I choose another timezone, the times are always wrong in the appointment editor. Interestingly, if I double click '12pm', the editor shows '4pm', then if I don't change the time at all and save the appointment, it shows up in the calendar as '8pm'. Creating a new calendar and adding a single event as described (ie double click 12pm, is displays 4pm in edit, save, displays 8pm in evolution) results in: BEGIN:VCALENDAR CALSCALE:GREGORIAN PRODID:-//Ximian//NONSGML Evolution Calendar//EN VERSION:2.0 BEGIN:VTIMEZONE TZID:/softwarestudio.org/Tzfile/America/New_York X-LIC-LOCATION:America/New_York BEGIN:STANDARD TZNAME:EST DTSTART:19701102T010000 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11 TZOFFSETFROM:-0400 TZOFFSETTO:-0500 END:STANDARD BEGIN:DAYLIGHT TZNAME:EDT DTSTART:19700308T030000 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3 TZOFFSETFROM:-0500 TZOFFSETTO:-0400 END:DAYLIGHT END:VTIMEZONE BEGIN:VEVENT UID:20080805T134927Z-19543-1000-1-97@severus DTSTAMP:20080805T134927Z DTSTART;TZID=/softwarestudio.org/Tzfile/America/New_York:20080805T160000 DTEND;TZID=/softwarestudio.org/Tzfile/America/New_York:20080805T163000 TRANSP:OPAQUE SEQUENCE:2 SUMMARY:bar CLASS:PUBLIC CREATED:20080805T134952 LAST-MODIFIED:20080805T134952 BEGIN:VALARM X-EVOLUTION-ALARM-UID:20080805T134952Z-19867-1000-1-14@severus DESCRIPTION:bar ACTION:DISPLAY TRIGGER;VALUE=DURATION;RELATED=START:-PT1H END:VALARM END:VEVENT END:VCALENDAR"
I tried to reproduce with 2.24, setting system and Evolution's timezone to the New York one, but no, it shows time (given from double-slicked timeslot) properly in the new editing dialog, same as was selection before. I do not know what I'm doing wrong here. I tried also with 2.22.3.1 but same (good) results. Any idea what I could do wrong?
I have this bug also, but with the America/Montreal timezone. When I double click in the calendar to add a new entry, the time is 5 hours off the time I'm clicking on. For example, clicking to make an entry at noon opens up the appointment window with 5 pm. If I create a new system user and start evolution, the brand new user has the same problem. On another machine, with the exact same time zone, everything is working properly. I'm not sure what could be at fault...Is there anything I could check?
Created attachment 123723 [details] Screenshot of problem Here is what happens when I click on 12:00
I still have this issue with evolution 2.25.92.
It seems the location of the timezone set in evolution didn't match the one in timezones or something else happens here, still pointing to time zone issue, as the difference seems to be much likely same as a UTC offset. Marc, could you turn on View->Time zone in the appointment dialog and check what is there. From all the above I guess evo didn't found the timezone by its location stored in a gconf key /apps/evolution/calendar/display/timezone or maybe something with timezone in the cal_view in general. Marc (or anybody else seeing this), do you compile evolution yourself (as I hope by the version), I may try to produce some test patch to investigate the issue, but it'll be some guess-and-test thing, as I do not see this myself. I also tried with a brand new user, but it still works fine for me.
Actually, since upgrading to evolution 2.26.0, I'm no longer seeing this issue.
(In reply to comment #10) > Actually, since upgrading to evolution 2.26.0, I'm no longer seeing this issue. > Hehe, interesting. Thanks for the update. Even I do not believe in a "magical fix", can you other try with the 2.26.0 please?
I'm the reporter in the Ubuntu bug, and no longer see this in Ubuntu 9.04 (evolution 2.26.1-0ubuntu1).
This bug is still there with Ubuntu 9.04 and evolution 2.26.1-0ubuntu2, at least when connecting to Novell Groupwise and using the Calendar. If I remember correct e-mails did show a wrong time in versions before. My impression was that that might be related to the way Novell puts date and time in the mail header (+0000) and the way e.g. sendmail does it (+0200 for MEST). I still have all day events scheduled with the Linux Groupwise client by others displayed on the wrong day, or even from 23:00 till 23:00 or 01:00 till 01:00 two days later when playing with "Adjust for Daylight Saving Time" Windows clients cause different results .. I'm lost here. My guess is that the dates and times displayed by Evolution are related to the the original e-mail and/or original scheduled meeting request/event, depending on the client and/or server used. At least that seems the case with a Groupwise server in between.
meel, with Groupwise client there are certain issues with all-day events. 'Adjust for Daylight Saving time' will not solve the problem. This is unrelated to this bug. This is an interoperability issue. Dates in mails from groupwise connector will be stored in utc format. The dates for meeting mails would the start date of the meeting.
I'd like to rescind comment #12. In investigating whether or not http://bugzilla.gnome.org/show_bug.cgi?id=269155 was still an issue (webdav and free/busy), I started seeing this again. It had been working fine, but then when I added a webdav calendar to publish to, appointment times no longer worked correctly. evolution 2.26.1-0ubuntu2 on Ubuntu 9.04.
I am using Evolution 2.28 with evolution-mapi 0.28 on Fedora 12 and have this same problem. Calendar events are 5 hours in the future. I am using the America/New_York time zone in Evolution and Fedora. Interestingly enough this does not seem to affect events that I add manually to my calendar through evolution. If I add an appointment at 1pm it shows for 1pm on my calender (and through the exchange owa) and alerts work fine. However if I add the appointment through OWA, Outlook on a different machine, or accept a meeting, the time is off by 5 hours into the future (1pm appointment becomes 6pm). The calendar event shows the right times in the description, but not the time field. Here is the description for a 10:30 AM appointment that is showing up as a 3:30pm one. "When: Friday, November 20, 2009 10:30 AM-11:30 AM (GMT-05:00) Eastern Time (US & Canada)." If you require any more information please let me know.
(In reply to comment #16) > I am using Evolution 2.28 with evolution-mapi 0.28 on Fedora 12 and have this > same problem. Calendar events are 5 hours in the future. I am using the > America/New_York time zone in Evolution and Fedora. With MAPI it's slightly different, see bug #586203, and there mentioned bug #347845 which this one is most likely a duplicate. It would be better to verify that, before marking this one as such.
Ah, my bad. My search-fu is weak today, that bug #347845 seems to be exactly what I am encountering. Thank for your help.
Well, I just reinstalled my desktop, and now have the problem again. This is with evolution 2.28.1-0ubuntu2 on Ubuntu Karmic.
Well, this is odd, I did a "apt-get --reinstall install tzdata" and it seems to have fixed the problem.
(In reply to comment #20) > Well, this is odd, I did a "apt-get --reinstall install tzdata" and it seems to > have fixed the problem. Sounds fairly suspicious. Any chance at all that you can try to reproduce the problem?
I haven't found the trigger that causes it yet. As soon as the problem happens to me again, I'll try and figure it out.
Setting to need-info per comment #22.
OK. So it's happened a couple of times again. I think this is a Debian/Ubuntu bug that has nothing to do with Evolution. When this happens, my /usr/share/zoneinfo/UCT file has been altered, and is what is causing Evolution to have this problem. Reinstalling the tzdata package fixes this issue. I'm pretty sure this bug can be closed.
Closing the bug as per comment#24
Closing this seems premature to me. Based off one user saying it's not an Evolution problem? I'd like to reopen this. Reinstalling tzdata does nothing for me. Every other app in Ubuntu 11.10 has no issues with time, Evolution is the only one. This points to Evolution being the culprit.
If any of you have time, could you please check again whether this issue still happens in Evolution 3.8.5 or 3.6.4 and update this report by adding a comment and changing the "Version" field and provide information about your distribution? Thanks a lot.
I am experiencing incorrect times in 3.8.5, using the Exchange Web Services plugin to sync my corporate mail account. I live in Denmark, which is CEST (GMT+1 or GMT+2, depending on DST), and all the timestamps are one hour early. Maybe it's a problem with summertime?
By timestamp, do you mean an appintment start and end, or anything else? Could you verify that your timezone in evolution is a correct one? (It's at Edit->Preferences->Calendar and Tasks->Timezone, alternatively, set a Second timezone to see what will be shown). Also, could you save one such event example in an iCalendar file (it's in a context menu above the event), and attach it here, possibly redacted, with removed personal and/or private information from there, please?
Created attachment 253594 [details] Buggy reccurring appointment, Outlook format
Created attachment 253595 [details] Buggy recurring appointment, exported from Outlook (error on import!)
Created attachment 253596 [details] Buggy recurring appointment, exported from Outlook (error on import!)
Created attachment 253597 [details] Buggy recurring appointment, exported from Evolution
Thanks for the quick reply, Milan. It appears that the timestamps (start and end) are only "incorrect" (as in "not the same as Outlook 2010 and on my Android phone") when it is a recurring event. It *seems* to be related to daylight savings time, but I think it looks more complicated than that. The thing is, I can't reproduce the bug unless I export and import the event as Outlook Message Format (*.msg). Exporting as .ics in Outlook results in a "is not a valid Internet Calendar file" error when I try to re-import it. Importing the same file in Evolution sets the timezone to UTC. I have attached a recurring event that *should* occur every Wednesday at 10:00-10:10 between 2011-11-16 and 2012-03-28. Local timezone is GMT+1 with a switch to DST right before the last occurrence. This is how the times are *displayed* in the calendars right now: 2011-11-16 until 2012-03-21: - Outlook 2010: 10:00-10:10 - Android phone: 10:00-10:10 - Evolution: 09:00-09:10 Last occurrence (2012-03-28): - Outlook 2010: 11:00-11:10 - Android phone: 11:00-11:10 - Evolution: 09:00-09:10 So Evolution doesn't seem to care about the DST switch, but things get really weird when I try to open the appointment in the different clients. When I try to open a single occurrence in Outlook, this error pops up: "Cannot open this item. You changed one of the recurrences of this item, and this instance no longer exists. Close any open items and try again." When I open the series instead, the recurrence is shown as: "Occurs every Wednesday effective 16-11-2011 until 28-03-2012 from 09:00 to 09:10 (UTC+01:00) Brussels, Copenhagen, Madrid, Paris." It makes absolutely no sense to me that Outlook shows the event series as 09:00-09:10 UTC+01:00 and yet displays the time as 11:00-11:10 on 2012-03-28. The event was created in Outlook, so I wonder if the data somehow got changed on the server. Go home Outlook, you're drunk! When I open an occurrence on my Android phone, the time is marked as Central European Summer Time in all occurrences with UTC being two hours behind. The last occurrence is set to one hour ahead of the others (including the UTC stamp). The event timezone in Evolution is just blank. All the times are 09:00-09:10, like in the month view, including 2012-03-28. The event series is attached as exported from Outlook (both .ics and .msg) and Evolution (.ics).
(In reply to comment #31) > Created an attachment (id=253595) [details] > Buggy recurring appointment, exported from Outlook (error on import!) Sorry about the confusion. This was actually the .ics from Evolution.
I see, evolution has stored the times as floating, without timezone, which means it sticks the set time regardless your current timezone. It might be due to unrecognized timezone set on the server side, which seems to be it, because outlook's ics file also shows weird timezone (no TZID, for example).
Created attachment 253611 [details] e.xml for curl Helge, could you save this e.xml file please, and run the below long command at the same folder where you saved the e.xml file, which will initiate a request to get the calendar item from your server in the same way as evolution-ews does, which may help to identify what is stored on the server. The result is saved into b.xml. Please check its content for anything private (I do not expect there is anything more than you already attached above), and attach it here. Also, change USER, PASSWORD and the actual server name you use for EWS in the command (I know, it's obvious). Thanks in advance. curl -v -k --user USER:PASSWORD -X POST -d @e.xml --ntlm https://exchange.server.com/EWS/Exchange.asmx --header 'Content-Type: text/xml; charset=utf-8' -o b.xml
Created attachment 253622 [details] Raw response from Exchange server Thanks for your guidance, Milan :-) The e.xml was missing a '>' in the first element, but otherwise it worked like a charm. I will attach both e.xml and the base64-decoded response.
Created attachment 253623 [details] Decoded content in b.xml (calendar data)
(In reply to comment #38) > The e.xml was missing a '>' in the first element, but otherwise it worked like > a charm. Weird, it doesn't claim anything to me. Nonetheless, the attached file is the e.xml, not b.xml :)
Created attachment 253629 [details] Raw response from Exchange server (b.xml) Ha-ha, I mixed it up :-) The decoded content in attachment 253623 [details] is of course from b.xml. I'd better go get some coffee.
Thanks. I see in it that is has sat no timezone: > <t:TimeZone/> which is what the .ics from Outlook shows. This is wrong, from my point of view, the event should have always set some timezone. You mentioned, at comment #34, this event was created by Outlook, is it correct?
Created attachment 253816 [details] e.xml ][ for curl Could you change the original e.xml file by adding <FieldURI FieldURI="calendar:MeetingTimeZone"/> below the calendar:TimeZone line and initiate the curl command, please? I'm not interested in the whole output from the server, only whether it will include the <MeetingTimeZone/> element and what will be inside. As the other test, please get this second e.xml and run the curl command on it (I see the error of missing'>' in the XML now and this second file has it fixed - I caused it be deleting too much from the XML structure). This e.xml initiates an Exchange2010 request and adds StartTimeZone and EndTimeZone properties request. Again, I'm only interested in its values, if any. I guess, that the Outlook and Android use default calendar timezone for this event. You can test it by changing calendar timezone in OWA (web) interface.
I'm closing this. All the clues show that the other issues are due to interoperability and (for some reason) broken data on the server. Evolution-ews also received couple fixes regarding timezone handling meanwhile, the current stable 3.16.3 might be the proof. The change doesn't "fix" already downloaded events, they should be re-downloaded by deleting ~/.cache/evolution/calendar/<calendar-uid>/ ideally with evolution-calendar-factory being stopped. If other reporters also have an issue with the time, and the time being recognized as a floating time (no real timezone being set for it), then it's jsut it.