GNOME Bugzilla – Bug 757169
[abrt] Crash on GTasks save from gnome-todo
Last modified: 2015-10-27 08:00:06 UTC
Moving this from a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1274903 The GTasks calendar backend crashes when a newly created task in gnome-todo is modified using gnome-todo immediately after it is created. (gdb) f 10 # 10 0x00007f53dab205d6 in gdata_service_update_entry (self=0x7f53bc002620 [GDataTasksService], domain=domain@entry=0x7f53e01558e0 [GDataAuthorizationDomain], entry=entry@entry=0x7f53d4210430 [GDataTasksTask], cancellable=cancellable@entry=0x7f53e013fb00 [GCancellable], error=error@entry=0x7f53da036a88) at gdata/gdata-service.c:1661 1661 g_assert (_link != NULL); (gdb) l 1656 klass = GDATA_PARSABLE_GET_CLASS (entry); 1657 g_assert (klass->get_content_type != NULL); 1658 if (g_strcmp0 (klass->get_content_type (), "application/json") == 0) { 1659 /* Get the edit URI */ 1660 _link = gdata_entry_look_up_link (entry, GDATA_LINK_SELF); 1661 g_assert (_link != NULL); 1662 message = _gdata_service_build_message (self, domain, SOUP_METHOD_PUT, gdata_link_get_uri (_link), gdata_entry_get_etag (entry), TRUE); 1663 upload_data = gdata_parsable_get_json (GDATA_PARSABLE (entry)); 1664 soup_message_set_request (message, "application/json", SOUP_MEMORY_TAKE, upload_data, strlen (upload_data)); 1665 } else { (gdb) bt
+ Trace 235624
The problem was that the gnome-todo removed (didn't provide) X-EVOLUTION-GTASKS-SELF-LINK property on the component it wanted to modify, which is mandatory for the libgdata function. I made the code in the evolution-data-server to fallback to the cached component for this property, if available. Created commit 07e98c1 in eds master (3.19.2+) Created commit 68137dd in eds gnome-3-18 (3.18.2+)