GNOME Bugzilla – Bug 518744
Calendar Attendee addresses are Garbage
Last modified: 2013-09-14 16:49:55 UTC
Please describe the problem: I am using Evolution with an Exchange Server When I upgrade t0 evolution-data-server 2.21.92 (from .91) all the Attendees are garbled. Its showing weird characters or only an @. the log shows: (evolution:32248): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text() When I switch back to 2.21.91 everything is fine again. Steps to reproduce: 1. Evolution and Evolution Components 2.21.91 2. Connect to Exchange, and have calendar items there 3. upgrade to Data Server 2.21.92 and open a calendar item from the exchange calendar Actual results: Expected results: Does this happen every time? yes. Other information:
One further thing. Evolution-Exchange 2.21.92 crashes with Evolution-Data-Server 2.21.91. But if I have Evolution-Exchange 2.21.92 with Evolution-Data-Server 2.21.92 it does ignore the TimeZone of a Calendar Entry. It treats all of them with the TimeZone configured in the settings.
I checked the ChangeLogs: #514836: Fix importing contact lists into a attendee lists for a meeting. I checked the GT and it has new comments that state exactly what I report in this bug. So this bug is actually a duplicate of 514836 but I do not want to close it until 514836 is reopened!
Just for a record: bug #514836 comment #15 contains the screenshot of such broken meeting. I would like to solve it here, because it's probably other issue than was one in the bug you mentioned.
Ok then we should also not forget the second part of this issue. It might be related. When I have evolution-exchange 2.21.92 in place with data server 92, it also seems to ignore the TimeZone Setting of meeting. All meetings are treated with the timezone configured in the calendar settings. when I switch back to exchange 2.21.91 (still keeping data server 92) the timezones are treated correct again!
Sure, I'm not sure if it's same or other issue, but can be one, ok. I found that this is really related to bug #516408, the change in evolution-data-server/calendar/libical/src/libical/icalmemory.c is now BUFFER_RING_SIZE defined to 2, which is definitely low number, if I change it to say 20, then all seems fine (one need to recompile all eds/evo and eex to get this working). Can you try such "improvement", please?
btw, it's possible that your meetings has been saved in corrupted state, thus even after recompile of all those three you will see it corrupted. Probably need to recreate them.
It was saved correctly. cause when I look at it with Outlook WebAccess everything is fine!
I'll try to check your improvement later this day. have to do my day job right now ;-)
Sure, anytime, just update bug when you find out. Thanks for your help. :)
ok I have tested it. It works fine BUFFER_RING_SIZE 20. What does it mean though? that we can have 20 Attendees?
BTW, the TimeZone stuff is also working now. So it was related!
Thanks for confirming. What does it exactly mean I'm not sure, I guess just max number of parameters in one value of the meeting entry (I'm not sure with terminology here, so take it easy). Anyway, marking this as a blocker now.
Created attachment 106075 [details] [review] Proposed fix for the bug. Please apply and let me know the feedback. Thanks!!
It's hard to review this when I do not know much interns in libical, I can just check for little things. - In icalparser_get_param_name, free(str); when returning 0 (the later one). - ChangeLog entry :) (just for a record, we told on IRC) I tested it a little and seems fine now. Michael, can you check too, please? Just in case I overlooked something? (And of course, real data are real data). Thanks in advance. (Just revert our last changes and apply this patch to clean eds and rebuild all family).
I checked it. it works fine it seems. I only recompiled data server. the changes are all in c files and should not have compile time effects on the other components.
Patch has been committed with the null check while free'ing the strings.