Bug 265589

Summary: GroupDAV resource crashes when selected in Akonadi Console
Product: [Frameworks and Libraries] Akonadi Reporter: Ingo Ratsdorf <ingo>
Component: DAV ResourceAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED WORKSFORME    
Severity: crash CC: greg
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Ingo Ratsdorf 2011-02-06 10:52:01 UTC
Application: akonadi_davgroupware_resource (0.1)
KDE Platform Version: 4.6.00 (4.6.0) (Compiled from sources)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-26-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
Opened Akonadi Console, clicked on imported tasks and resource crashed
The same happens when clicking on calendar, only Contacts work okay

The crash can be reproduced every time.

-- Backtrace:
Application: Akonadi Resource (akonadi_davgroupware_resource), signal: Aborted
[KCrash Handler]
#7  0x00f7b416 in __kernel_vsyscall ()
#8  0x01db3941 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0x01db6e42 in abort () at abort.c:92
#10 0x008d5055 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#11 0x008d2f35 in ?? () from /usr/lib/libstdc++.so.6
#12 0x008d2f72 in std::terminate() () from /usr/lib/libstdc++.so.6
#13 0x008d314b in __cxa_rethrow () from /usr/lib/libstdc++.so.6
#14 0x00cc1776 in QObject::event (this=0x9db82e0, e=0x9e1b440) at kernel/qobject.cpp:1222
#15 0x08be4fdc in QApplicationPrivate::notify_helper (this=0x9d2e160, receiver=0x9db82e0, e=0x9e1b440) at kernel/qapplication.cpp:4396
#16 0x08beb04e in QApplication::notify (this=0xbf8b0720, receiver=0x9db82e0, e=0x9e1b440) at kernel/qapplication.cpp:3798
#17 0x07523f7a in KApplication::notify (this=0xbf8b0720, receiver=0x9db82e0, event=0x9e1b440) at ../../kdeui/kernel/kapplication.cpp:311
#18 0x00caeb3b in QCoreApplication::notifyInternal (this=0xbf8b0720, receiver=0x9db82e0, event=0x9e1b440) at kernel/qcoreapplication.cpp:732
#19 0x00cb1d8b in sendEvent (receiver=0x0, event_type=0, data=0x9d198e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#20 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9d198e0) at kernel/qcoreapplication.cpp:1373
#21 0x00cb1f4d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266
#22 0x00cdda74 in sendPostedEvents (s=0x9d30510) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#23 postEventSourceDispatch (s=0x9d30510) at kernel/qeventdispatcher_glib.cpp:277
#24 0x00aa0855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#25 0x00aa4668 in ?? () from /lib/libglib-2.0.so.0
#26 0x00aa4848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#27 0x00cdd565 in QEventDispatcherGlib::processEvents (this=0x9d19390, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#28 0x08ca6be5 in QGuiEventDispatcherGlib::processEvents (this=0x9d19390, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#29 0x00cad609 in QEventLoop::processEvents (this=0xbf8b0684, flags=) at kernel/qeventloop.cpp:149
#30 0x00cada8a in QEventLoop::exec (this=0xbf8b0684, flags=...) at kernel/qeventloop.cpp:201
#31 0x00cb200f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#32 0x08be3e07 in QApplication::exec () at kernel/qapplication.cpp:3672
#33 0x0466ff93 in Akonadi::ResourceBase::init (r=0x9dd5030) at ../../akonadi/resourcebase.cpp:302
#34 0x080749b3 in init<DavGroupwareResource> (argc=3, argv=0xbf8b0804) at /usr/include/akonadi/resourcebase.h:188
#35 main (argc=3, argv=0xbf8b0804) at /home/ingo/projects/kdepim-runtime/resources/dav/resource/davgroupwareresource.cpp:731

Possible duplicates by query: bug 265582, bug 265576, bug 265574, bug 265546, bug 265538.

Reported using DrKonqi
Comment 1 Grégory Oestreicher 2011-02-06 20:29:31 UTC
Hi Ingo,

Are you using self-compiled packages for all of KDE? I've never seen this behavior and would like to replicate your setup.

Cheers,
Grégory
Comment 2 Ingo Ratsdorf 2011-02-06 22:51:08 UTC
Hi Grégory,

I am following the groupdav resource for quite a while and had an older version reasonably well working before some code was shifted from KCal to KCalCore, at which point I could not compile anymore as Kubuntu 10.04 had no headers and libs for it.
I yesterday upgraded to Kubuntu 10.10 and to KDE 4.6 RC which allowed me to make the groupdav latest version from Git.

Note: I have downloded the whole kdepim-runtime but made only teh groupdav resource and installed it.

All complied without glitches just two warning and linked fine, also installed correctly as far as I can tell.

Yet, the groupdavresource randomly crashes on startup. In akonadiconsule, it will only show contacts, not calendars or tasks. Selecting calendars or tasks will crash the resource.

My groupdav server is eGroupware 1.9.002 from SVN which is running fine with the old pre KCalCore groupdav resource on another machine.

I had to patch the CMakeList.txt file in order to compile and install the groupdav client.
I added the usual KDE requirements plus the kcfg_ macro, that I can never find in any packed or some reason.
Nevertheless as I said, it compiled and linked fine.

Currently, he latest groupdav resource does not work at all for me.

Regards,
Ingo
Comment 3 Grégory Oestreicher 2011-02-07 22:38:51 UTC
Hi Ingo,

I'm still not able to compile the latest DAV resource on Kubuntu 10.10. One issue is the missing kcalcore. Then I had to hack through the CMakeLists.txt, as I guess you did, to change the minimum versions required. Even if I was able to compile the resource, I would have put a big red flag on using such versions.

As a final note, and as you are using eGroupware, can you try to apply the changes mentioned in this bug report : https://bugs.kde.org/show_bug.cgi?id=265096 and tell me if that helps.

Cheers,
Grégory
Comment 4 Ingo Ratsdorf 2011-02-08 06:46:51 UTC
Hi Grégory,

I applied the mentioned patch which seems to make the pre KCalCore groupdav resource work without throwing warnings about invalid data.
Yet it has no influence on the latest groupdav resource.
I used wireshark to trace HTTP requests and responses.
All REPORT calls seem to go through fine, but EVERY TIME the groupdav sends a GET and received a (good looking) response from the server, the resource will crash. Very funny.
This is a typical request and response directly before the resource crashes:

GET /groupdav.php/calendar/1091.ics HTTP/1.1
Host: groupware.envirology.co.nz
Connection: Keep-Alive
User-Agent: KDE DAV groupware client
Pragma: no-cache
Cache-control: no-cache
Accept: text/html, image/jpeg;q=0.9, image/png;q=0.9, text/*;q=0.9, image/*;q=0.9, */*;q=0.8
Accept-Encoding: x-gzip, x-deflate, gzip, deflate
Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5
Accept-Language: en-US,en;q=0.9
Cookie: last_loginid=ingo; last_domain=default
Authorization: Basic xxxxxxxxxxxxxxxxxxxxx

HTTP/1.1 200 OK
Date: Tue, 08 Feb 2011 04:58:33 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
X-Dav-Powered-By: EGroupware 1.9.005 CalDAV/CardDAV/GroupDAV server
Content-Encoding: identity
ETag: EGw-1091:0:1297074806-wGE
Cache-Control: maxage=1
Pragma: public
Set-Cookie: last_loginid=ingo; expires=Tue, 22-Feb-2011 04:58:33 GMT; path=/; domain=groupware.envirology.co.nz
Set-Cookie: last_domain=default; expires=Tue, 22-Feb-2011 04:58:33 GMT; path=/; domain=groupware.envirology.co.nz
Content-length: 836
Keep-Alive: timeout=3, max=99
Connection: Keep-Alive
Content-Type: text/calendar; charset=utf-8

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//eGroupWare//NONSGML eGroupWare Calendar 1.9.002//EN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:Pacific/Auckland
X-LIC-LOCATION:Pacific/Auckland
BEGIN:DAYLIGHT
TZOFFSETFROM:+1200
TZOFFSETTO:+1300
TZNAME:NZDT
DTSTART:19700927T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=9
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+1300
TZOFFSETTO:+1200
TZNAME:NZST
DTSTART:19700405T030000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;VALUE=DATE:20100619
DTEND;VALUE=DATE:20100620
CLASS:PRIVATE
SUMMARY:SOME DESCRIPTION HERE
RRULE:FREQ=YEARLY
PRIORITY:5
TRANSP:TRANSPARENT
UID:gsukn30pqulfv2l5951l59bibs@google.com
STATUS:CONFIRMED
CREATED:20110130T102608Z
LAST-MODIFIED:20110130T102608Z
DTSTAMP:20110208T045834Z
END:VEVENT
END:VCALENDAR

I'll try to recompile and see what happens. This is all too strange.

Cheers.
Comment 5 Ingo Ratsdorf 2011-02-08 11:32:30 UTC
Hi.

I should chnage the bug title, actually. The resource crashes whenever an actual calendar element is fetched from the server, ie every GET.
This applies only to VTODO's and VCALENDAR's, not VCARD's. VCARD's load fine.

In that respect, I have included some console output just before the crash:

korganizer(2883)/libakonadi Akonadi::SessionPrivate::init: ""
korganizer(2883)/libakonadi Akonadi::SessionPrivate::reconnect: connectToServer "/home/ingo/.local/share/akonadi/socket-ingo-laptop/akonadiserver.socket"
korganizer(2883)/libakonadi Akonadi::SessionPrivate::dataReceived: Server protocol version is: 28
korganizer(2883)/libakonadi Akonadi::PluginRegistry::findBestMatchImpl: Looking for  "default for application/x-vnd.akonadi.calendar.todo"
korganizer(2883)/libakonadi Akonadi::PluginRegistry::findBestMatchImpl:   Considering serializer plugin for type "text/calendar" as the closest match
korganizer(2883)/libakonadi Akonadi::PluginRegistry::findBestMatchImpl:     -> got  AkonadiFuture::SerializerPluginKCal  and am happy with it.
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal) KCal::ICalFormat::fromRawString: parse error
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: Failed to parse incidence! 
korganizer(2883)/akonadiserializer (calendar) AkonadiFuture::SerializerPluginKCal::deserialize: "" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Unable to deserialize payload part: "RFC822" 
korganizer(2883)/libakonadi Akonadi::ItemSerializer::deserialize: Payload data was:  "" 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal): No IncidencePtr payload 
korganizer(2883)/kdepimlibs (kcal) KCal::ResourceCalendar::load: Done loading resource "akonadi calendar"
korganizer(2883)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
ingo@ingo-laptop:~$ korganizer(2883)/libakonadi Akonadi::Firstrun::~Firstrun: done
korganizer(2883)/libakonadi Akonadi::SessionPrivate::dataReceived: Server protocol version is: 28
korganizer(2883)/kdepimlibs (kcal) KCal::ResourceAkonadi::subresources: ("akonadi:?collection=32", "akonadi:?collection=34", "akonadi:?collection=36")
korganizer(2883)/kdepimlibs (kcal) KCal::ResourceAkonadi::subresources: ("akonadi:?collection=32", "akonadi:?collection=34", "akonadi:?collection=36")
korganizer(2883)/kdepimlibs (kcal) KCal::ResourceAkonadi::subresources: ("akonadi:?collection=32", "akonadi:?collection=34", "akonadi:?collection=36")
korganizer(2883)/kdepimlibs (kcal) KCal::ResourceAkonadi::subresources: ("akonadi:?collection=32", "akonadi:?collection=34", "akonadi:?collection=36")
korganizer(2883)/kdepimlibs (kcal) KCal::ResourceAkonadi::subresources: ("akonadi:?collection=32", "akonadi:?collection=34", "akonadi:?collection=36")

I guess from the above, that Akonadi cannot serialise the VCALENDAR information received, for whatever reason. As per my previous comment, the elemnt is returned correctly from the server.

I have meanwhile recompiled the resource: NO CHANGE IN BEHAVIOUR.
Build information below:

ingo@ingo-laptop:/data/ingo/projects/kdepim-runtime$ make
Scanning dependencies of target akonadi_davgroupware_resource_automoc
Generating davitemdeletejob.moc                                                                                                                                        
Generating davitemfetchjob.moc                                                                                                                                         
Generating configdialog.moc                                                                                                                                            
Generating davgroupwareresource.moc                                                                                                                                    
Generating settings.moc                                                                                                                                                
Generating davitemcreatejob.moc                                                                                                                                        
Generating davitemmodifyjob.moc                                                                                                                                        
Generating davcollectionsmultifetchjob.moc                                                                                                                             
Generating etagcache.moc                                                                                                                                               
Generating davcollectiondeletejob.moc                                                                                                                                  
Generating setupwizard.moc                                                                                                                                             
Generating davcollectionsfetchjob.moc                                                                                                                                  
Generating davitemslistjob.moc                                                                                                                                         
Generating moc_urlconfigurationdialog.cpp                                                                                                                              
Generating moc_davitemsfetchjob.cpp                                                                                                                                    
Generating moc_davprincipalhomesetsfetchjob.cpp                                                                                                                        
Generating moc_davcollectionmodifyjob.cpp                                                                                                                              
[  0%] Built target akonadi_davgroupware_resource_automoc                                                                                                              
Scanning dependencies of target akonadi_davgroupware_resource
[  2%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/akonadi_davgroupware_resource_automoc.o                                 
[  5%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davcollection.o                                               
[  8%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davcollectiondeletejob.o                                      
[ 11%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davcollectionsfetchjob.o                                      
[ 13%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davcollectionmodifyjob.o                                      
[ 16%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davcollectionsmultifetchjob.o                                 
[ 19%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davprotocolbase.o                                             
[ 22%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davitem.o                                                     
[ 25%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davitemcreatejob.o                                            
[ 27%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davitemdeletejob.o                                            
[ 30%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davitemfetchjob.o                                             
[ 33%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davitemmodifyjob.o                                            
[ 36%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davitemsfetchjob.o                                            
[ 38%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davitemslistjob.o                                             
[ 41%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davmanager.o                                                  
[ 44%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davmultigetprotocol.o                                         
[ 47%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davprincipalhomesetsfetchjob.o                                
[ 50%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/davutils.o                                                    
/data/ingo/projects/kdepim-runtime/resources/dav/common/davutils.cpp: In function ‘DavUtils::Protocol DavUtils::protocolByName(const QString&)’:                       
/data/ingo/projects/kdepim-runtime/resources/dav/common/davutils.cpp:99: warning: ‘protocol’ may be used uninitialized in this function
[ 52%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/common/etagcache.o
[ 55%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/protocols/caldavprotocol.o                                           
[ 58%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/protocols/carddavprotocol.o                                          
[ 61%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/__/protocols/groupdavprotocol.o                                         
[ 63%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/configdialog.o                                                          
[ 66%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/davgroupwareresource.o                                                  
[ 69%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/davprotocolattribute.o                                                  
[ 72%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/setupwizard.o                                                           
[ 75%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/settings.o                                                              
[ 77%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/urlconfigurationdialog.o                                                
[ 80%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/settingsbase.o                                                          
[ 83%] Building CXX object resources/dav/resource/CMakeFiles/akonadi_davgroupware_resource.dir/settingsadaptor.o                                                       
Linking CXX executable akonadi_davgroupware_resource                                                                                                                   
[100%] Built target akonadi_davgroupware_resource   

Sooooo.... still walking in the pitch dark.

Cheers,
Ingo
Comment 6 Ingo Ratsdorf 2011-02-17 09:32:02 UTC
Hi Grégory,

did you have a chance to look into this?
Any chance that you could send me a binary copy of your version (I386)?

Cheers,
Ingo
Comment 7 Grégory Oestreicher 2011-02-19 11:23:46 UTC
Hi Ingo,

> did you have a chance to look into this?

I still haven't managed to get the resource to compile on KUbuntu 10.10, 
mostly because I'm not familiar with this distro and can't find where to get 
the KCalCore headers. Where did you get yours from? If you give me the repo 
you used I'll be able to at least compile, which would be a great progress for 
this report :)

> Any chance that you could send me a binary copy of your version (I386)?

I'm developing and compiling in a non-standard location, and with trunk, so I 
doubt my binaries will help here. If I recompile the resource cleanly, no 
problems to send you this.

Cheers,
Grégory
Comment 8 Ingo Ratsdorf 2011-03-17 23:50:56 UTC
Official news:
The groupdav resource only works with the latest version of KDE with a certain serialiser installed that - as I understand - ships as part of the kdepim-runtime lot.
If you just install this resource without all the rest - it will not work and throw an exception.

I have now backported all calls of KCalCore back to KCal. And I can confirm the resource is now working.

Apart from the fact that it is useless in KOranaiser and Kontact because you cannot select the resource when adding events. I figured out that you can only select Akonadi resources, but no "folders" so to speak, which the groupdav resource represents - a folder with todos, tasks and addressbooks within it.
Does that maybe needs a new Korganiser and Kontact as well?
Comment 9 Grégory Oestreicher 2011-03-18 10:07:02 UTC
Hi Ingo,

> I have now backported all calls of KCalCore back to KCal. And I can confirm the
> resource is now working.

Nice work :)

> Apart from the fact that it is useless in KOranaiser and Kontact because you
> cannot select the resource when adding events. I figured out that you can only
> select Akonadi resources, but no "folders" so to speak, which the groupdav
> resource represents - a folder with todos, tasks and addressbooks within it.
> Does that maybe needs a new Korganiser and Kontact as well?

Yes, the DAV resource stores all discovered collections (calendars, to-do lists,
address books) under a common root, that is represented as a directory. KOrg 4.4.x and
previous do not display the collections recursively. This requires a 4.6beta release.
Hopefully RC1 will be tagged soon, giving you a more stable environment to work into
than what may be the case with the latest beta.

Cheers,
Grégory