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 669003 - CalDAV: Cannot modify calendar object (libical 0.48)
CalDAV: Cannot modify calendar object (libical 0.48)
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
3.2.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
evolution[google] evolution[caldav]
: 669220 675595 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2012-01-30 10:07 UTC by Milan Crha
Modified: 2014-03-25 08:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (677 bytes, patch)
2012-01-30 18:24 UTC, Milan Crha
committed Details | Review
evolution screen shot. (11.83 KB, image/png)
2013-01-29 14:21 UTC, volga629
  Details

Description Milan Crha 2012-01-30 10:07:00 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=785183

Description of problem:
Whenever I try to modify an event, I get:
»Cannot modify calendar object: Unexpected HTTP status code 412 returned
(Existing event has different ETag)«

Version-Release number of selected component (if applicable):
Fedora 16, Evolution 3.2.3

How reproducible:
Every time, on i686 as well as on x86_64

Steps to Reproduce:
1. Configure Online-Accounts OR add a Google Calendar manually
2. Open Calendar, enter password
3. Try to change or delete existing event
4. Get error message: Cannot modify calendar object: Unexpected HTTP status
code 412 returned (Existing event has different ETag)

Actual results:
Not able to manage already existing events.

Expected results:
Should be able to manage already existing events.

Additional info: I am able to create new events. Don't have a problem changing
existing events with Thunderbird/Lightning. Didn't have the problem in
evolution two weeks ago.
Comment 1 Milan Crha 2012-01-30 18:24:56 UTC
Created attachment 206460 [details] [review]
eds patch

for evolution-data-server;

Well, not a patch, rather a workaround. This is regression in libical 0.48, it escapes quotes in X properties on set, but doesn't unescape them on get. I wrote a message to libical upstream [1], and here's a workaround for the time being.

[1] http://sourceforge.net/mailarchive/forum.php?thread_name=1327947491.31941.3.camel%40localhost&forum_name=freeassociation-devel
Comment 2 Milan Crha 2012-01-30 18:26:53 UTC
Created commit 830fa86 in eds master (3.3.5+)
Comment 3 Juergen Schraten 2012-01-31 06:18:09 UTC
Thanks for helping.
Unfortunately I'm just a damn user, so: What shall I do with that file?
Comment 4 Milan Crha 2012-01-31 09:48:26 UTC
I made an update for Fedora 16 today, which has the patch included. You can grab the evolution-data-server from updates-testing and give it a try. You can also set karma on the update, whether it'll work for you or not. See the downstream bug (comment #0) for more information about the update for Fedora.
Comment 5 Juergen Schraten 2012-02-01 07:57:44 UTC
Tested the i686 version, and it works, thanks!
Will test the x86_64 version at my office in a few hours.
Comment 6 Juergen Schraten 2012-02-01 10:45:28 UTC
x64_64 also works fine, in my humble opinion the bug is fixed (and I can shutdown GCALDaemon again ;-).
Comment 7 Milan Crha 2012-02-10 08:17:10 UTC
I received a confirmation from the downstream reporter that it works for him too.
Comment 8 Milan Crha 2012-02-21 08:41:47 UTC
*** Bug 669220 has been marked as a duplicate of this bug. ***
Comment 9 Ian B. MacDonald 2012-03-15 03:18:33 UTC
This affects the current Ubuntu 12.04 B1 which has the same affected evolution and libical versions.

ii  libical0                        0.48-1 
ii  evolution                       3.2.3-0ubuntu3
Comment 10 Ian B. MacDonald 2012-03-15 04:30:48 UTC
Patch applies cleanly on Ubuntu 12.04, resolves the problem. 
Downstream report: https://bugs.launchpad.net/evolution-data-server/+bug/955707

I would have opened downstream on libical too, but that link in comment 1 is not direct.
Comment 11 Ian B. MacDonald 2012-03-15 04:41:42 UTC
Human error on my part, I added the libical downstream too.

https://bugs.launchpad.net/libical/+bug/955711
Comment 12 Ian B. MacDonald 2012-03-20 17:06:27 UTC
I found another downstream bug I think is related to this ical problem

https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/955984

StacktraceTop:
 icalvalue_get_recur () from /usr/lib/libical.so.0
 icalproperty_get_rrule () from /usr/lib/libical.so.0
 ?? () from /usr/lib/libical.so.0

Is this a no-brainer duplicate.. or not?  The more I align the downstream reports, the faster this patch gets merged.
Comment 13 Milan Crha 2012-03-22 11:49:45 UTC
It looks different, on the first look.
Comment 14 Matthew Barnes 2012-05-07 12:03:29 UTC
*** Bug 675595 has been marked as a duplicate of this bug. ***
Comment 15 volga629 2013-01-29 14:15:01 UTC
I am using F18 and issue still persist. Can't modify calendar or accept  


Cannot receive calendar objects: Unexpected HTTP status code 412 returned (Precondition Failed)


[bendersky@CXXX ~]$ rpm -qa | grep evolu
evolution-3.6.2-3.fc18.x86_64
evolution-data-server-3.6.2-3.fc18.x86_64
[bendersky@CXXX ~]$
Comment 16 volga629 2013-01-29 14:21:20 UTC
Created attachment 234730 [details]
evolution screen shot.

evolution screen shot.
Comment 17 Kayvan Sylvan 2014-03-24 20:57:51 UTC
I am seeing the same thing in F20.

$ rpm -qa | grep evolu
evolution-ews-3.10.4-1.fc20.x86_64
evolution-data-server-3.10.4-3.fc20.x86_64
evolution-mapi-3.10.4-1.fc20.x86_64
evolution-3.10.4-2.fc20.x86_64
Comment 18 Milan Crha 2014-03-25 08:27:07 UTC
(In reply to comment #17)
> I am seeing the same thing in F20.

Fedora 20 uses libical 1.0, from which I suppose you face a slightly different issue. Could you catch a CalDAV log, to see what evolution actually tries to do, please? You can catch the log if you run this:
   $ CALDAV_DEBUG=all /usr/libexec/evolution-calendar-factory -w &>log.txt
from a terminal. After that wait few seconds (5-10), then run evolution and reproduce the issue. The log.txt will contain raw communication between evolution and the server. It contains private information, like server addresses and sometimes even passwords, thus please check for these before you upload the log to bugzilla.

Personally, I would prefer to open a new bug report for this, because this one was relevant in time of evolution 3.6.x, which is more than a year ago (almost a year and half, because the evolution 3.12.0 had been released only yesterday).