GNOME Bugzilla – Bug 710683
Rebuild of libical (1.0) causes ABI break with the previous version
Last modified: 2015-04-09 09:46:45 UTC
Created attachment 257881 [details] screenshot After I installed the f20 updates today and rebooted my shell calendar started freaking out. It is showing events from 2 years ago and is bigger than the screen allows.
Do you know which packages got updated? Can you check using yum history? I can't recall any recent calendar changes in the shell so maybe a regression in eds?
Certainly eds was among them. Oct 22 17:25:33 Updated: evolution-data-server-3.10.1-1.fc20.x86_64 Oct 22 17:25:40 Updated: evolution-3.10.1-1.fc20.x86_64 Oct 22 17:27:27 Updated: evolution-ews-3.10.1-1.fc20.x86_64 Oct 22 17:27:30 Updated: evolution-data-server-devel-3.10.1-1.fc20.x86_64
Oct 22 17:24:07 Updated: libical-1.0-3.fc20.x86_64
Events are all messed up in Evolution too so not just a shell bug.
If you export the corresponding ical files for the calendar(s) from Evolution, is the date wrong in there too?
It is a google calendar. It didn't do this before the update. How do I export the ical file?
https://help.gnome.org/users/evolution/stable/exporting-data-calendar.html
Created attachment 257944 [details] part of ical file Here are some of the events that are getting messed up. Dates look fine to me at first glance.
Looks related to https://bugzilla.redhat.com/show_bug.cgi?id=1021136 Some kind of change/bugfix in libical 1.0. Don't know the details yet.
*** Bug 710785 has been marked as a duplicate of this bug. ***
Reporter of the duplicate bug in comment 10 confirms downgrading to libical 0.48 as a workaround.
I can confirm the same on arch:
Downgrading to libical 0.48 worked around this particular issue. However, calendar integration within gnome-shell wouldn't work anymore after that. No appointments would show up. Strangely the "Open clocks" button would also be missing. Maybe I should have rebuilt gnome-shell? My current workaround is libical 1.0 and not using recurring events.
https://bugzilla.redhat.com/show_bug.cgi?id=1023020 doesn't seem to fix it for me. I'm still seeing the problem. Anyone have any other information?
Reminders are also broken for me (https://bugzilla.gnome.org/show_bug.cgi?id=715141), and this seems to coincide with my experiencing this bug here.
(In reply to comment #14) > https://bugzilla.redhat.com/show_bug.cgi?id=1023020 doesn't seem to fix it for > me. I'm still seeing the problem. Anyone have any other information? The update probably gave you the right versions, but just in case, to have the build fix of libical properly working, you need to install also the dependant packages which were rebuilt against rebuilt libical, otherwise it would not work. I know, it is obvious, but just in case.
I have been doing full f20 updates. Is there something else I need to do?
It would be nice to try and get this fixed before the 3.12 release.
I spoke with William on IRC at the end of the last week, and I suggested him to purge his GMail calendar local cache and let evolution redownload his messages. I do not know whether it worked or not, but the safest is to make sure that all software using libical on the installation machine is the one against which it was built. There is nothing more to be done here. As a proof, I took William's snapshot from comment #8 and I see those repeating events only in the times when they are supposed to be, according to the iCalendar data in the ics file. I have eds built against libical-1.0-4.fc20.
I'm sorry to say the problem is still present. I removed the cache while logged out (twice) and rebooted each time. I even removed the account from GOA. But I'm still getting the same problem.
Created attachment 268766 [details] .ics file that shows the problem If I go into Evolution->File->New->Calendar and select "from file" and use this I reproduce the problem.
So this is weird. I created a new user on this computer and imported the attached file and I can reproduce the problem. I went to another similarly fully up to date F20 system and imported the file and it did not reproduce the problem. The evolution and ical package versions are the same. One difference is that on the problematic system I have eds-devel and -debuginfo installed where on the other one I did not.
OK, I also cannot reproduce this, whatever I do. So, please, give me output of: $ rpm -qa | grep evolution | sort $ rpm -qa | grep libical | sort $ rpm -q gnome-shell gnome-online-accounts I get this result: evolution-3.10.3-1.fc20.x86_64 evolution-data-server-3.10.3-1.fc20.x86_64 evolution-data-server-debuginfo-3.10.2-1.fc20.x86_64 evolution-data-server-devel-3.10.3-1.fc20.x86_64 evolution-devel-3.10.3-1.fc20.x86_64 libical-1.0-4.fc20.x86_64 libical-devel-1.0-4.fc20.x86_64 package gnome-shell is not installed gnome-online-accounts-3.10.2-1.fc20.x86_64 and I see no problem, neither with newer eds' debuginfo packages.
Milan, could you install gnome-shell, please ?
OK, I tried on another machine, which is unaffected by my development environment, with these up-to-date packages: evolution-3.10.3-1.fc20.x86_64 evolution-data-server-3.10.3-1.fc20.x86_64 evolution-data-server-debuginfo-3.10.3-1.fc20.x86_64 evolution-ews-3.10.3-1.fc20.x86_64 evolution-help-3.10.3-1.fc20.noarch libical-1.0-4.fc20.x86_64 gnome-shell-3.10.3-4.fc20.x86_64 gnome-online-accounts-3.10.2-1.fc20.x86_64 and it still works as expected. I saved the ics file from comment #21, open evolution and add it as a new On This Computer calendar, which points to that ics file. Evolution doesn't show repeated events back from 2011 at 2013. One more test, please: $ ldd /usr/libexec/evolution-calendar-factory | grep libical $ rpm -q --whatprovides `ldd /usr/libexec/evolution-calendar-factory | grep libical | awk '{print $3}'` Which looks for me for /lib64/libical.so.1 (and two other in /lib64) and all of them are from libical-1.0-4.fc20.x86_64.
I removed the devel and debuginfo and now have: $ rpm -qa | grep -P 'evolution|libical|gnome-shell|gnome-online-accounts' |sort evolution-3.10.3-1.fc20.x86_64 evolution-data-server-3.10.3-1.fc20.x86_64 evolution-ews-3.10.3-1.fc20.x86_64 gnome-online-accounts-3.10.2-1.fc20.x86_64 gnome-online-accounts-devel-3.10.2-1.fc20.x86_64 gnome-shell-3.10.3-4.fc20.x86_64 gnome-shell-debuginfo-3.10.3-4.fc20.x86_64 gnome-shell-extension-alternate-tab-3.10.1-1.fc20.noarch gnome-shell-extension-apps-menu-3.10.1-1.fc20.noarch gnome-shell-extension-common-3.10.1-1.fc20.noarch gnome-shell-extension-launch-new-instance-3.10.1-1.fc20.noarch gnome-shell-extension-places-menu-3.10.1-1.fc20.noarch gnome-shell-extension-user-theme-3.10.1-1.fc20.noarch gnome-shell-extension-window-list-3.10.1-1.fc20.noarch libical-1.0-4.fc20.x86_64 libical-devel-1.0-4.fc20.x86_64
mccann@Quoll ~]$ ldd /usr/libexec/evolution-calendar-factory | grep libical libical.so.1 => /lib64/libical.so.1 (0x0000003a93e00000) libicalss.so.1 => /lib64/libicalss.so.1 (0x0000003a98a00000) libicalvcal.so.1 => /lib64/libicalvcal.so.1 (0x0000003a97c00000) [mccann@Quoll ~]$ rpm -q --whatprovides `ldd /usr/libexec/evolution-calendar-factory | grep libical | awk '{print $3}'` libical-1.0-4.fc20.x86_64 libical-1.0-4.fc20.x86_64 libical-1.0-4.fc20.x86_64 $ ldd /usr/libexec/bluetooth/obexd | grep libical libical.so.1 => /lib64/libical.so.1 (0x00007fb88b56d000) libicalss.so.1 => /lib64/libicalss.so.1 (0x00007fb88b352000) libicalvcal.so.1 => /lib64/libicalvcal.so.1 (0x00007fb88b13a000)
But the problem may not be the version of the library it is using at runtime but the version that it was built against, right? Is there a way to tell that? I guess the soname was not bumped?
Right, the problem is the library (libical, in this case) it was built with. I do not know how to check the version other than with mouse-clicking in koji interface (in case of Fedora). No, the soname version wasn't bumped in Fedora for libical.
Just in case, I installed the same packages as you have (comment #26), the same versions and so on, restarted the machine and the evolution itself behaves correctly, the same as gnome-shell's calendar, which doesn't show the events from 2011 in its calendar for February 2014.
I suppose this got obsolete during the time, definitely with the upstream (libical) fix to not break ABI on rebuild of it.