Bug 263956

Summary: Akonadie crash on startup
Product: [Frameworks and Libraries] Akonadi Reporter: Wolfram <privat>
Component: DAV ResourceAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: b_stader, greg, privat
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Do not retrieve items if no configured URL was found
New crash information added by DrKonqi

Description Wolfram 2011-01-22 11:58:59 UTC
Application: akonadi_davgroupware_resource (0.1)
KDE Platform Version: 4.5.95 (4.6 RC2)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-25-generic-pae i686
Distribution: Ubuntu 10.10

-- Information about the crash:
- Custom settings of the application: kubuntu mit kde 5.6 beta

webdav-Anbindung an egroupware 1.8. Syncronisieren vov Adressen und Terminen.
Nach einrichten der neuen Anbindung an den webdav eines anderen Benutzers kommt ständiger Absturz.

The crash can be reproduced every time.

-- Backtrace:
Application: Akonadi Resource (akonadi_davgroupware_resource), signal: Segmentation fault
[KCrash Handler]
#7  0x080613c3 in DavItemsListJob::start (this=0x9146fd0) at ../../../../resources/dav/common/davitemslistjob.cpp:38
#8  0x08072df7 in DavGroupwareResource::retrieveItems (this=0x9079000, collection=...) at ../../../../resources/dav/resource/davgroupwareresource.cpp:191
#9  0xb6ae644e in Akonadi::ResourceBasePrivate::slotSynchronizeCollection (this=0x9102758, col=...) at ../../akonadi/resourcebase.cpp:572
#10 0xb6ae9dba in Akonadi::ResourceBase::qt_metacall (this=0x9079000, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0xbfa0ced8) at ./moc_resourcebase.cpp:142
#11 0x08078b4f in DavGroupwareResource::qt_metacall (this=0x9079000, _c=QMetaObject::InvokeMetaMethod, _id=38, _a=0xbfa0ced8) at ./davgroupwareresource.moc:103
#12 0xb77498ca in QMetaObject::metacall (object=0x9079000, cl=152158184, idx=38, argv=0xbfa0ced8) at kernel/qmetaobject.cpp:237
#13 0xb775c6ad in QMetaObject::activate (sender=0x9117670, m=0xb6bc0bd8, local_signal_index=2, argv=0x0) at kernel/qobject.cpp:3280
#14 0xb6aeafd3 in Akonadi::ResourceScheduler::executeCollectionSync (this=0x9117670, _t1=...) at ./resourcescheduler_p.moc:141
#15 0xb6aeecbf in Akonadi::ResourceScheduler::executeNext (this=0x9117670) at ../../akonadi/resourcescheduler.cpp:275
#16 0xb6aeef23 in Akonadi::ResourceScheduler::qt_metacall (this=0x9117670, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0x915f690) at ./resourcescheduler_p.moc:116
#17 0xb77498ca in QMetaObject::metacall (object=0x9117670, cl=152158184, idx=19, argv=0x915f690) at kernel/qmetaobject.cpp:237
#18 0xb7754df6 in QMetaCallEvent::placeMetaCall (this=0x912d2f0, object=0x9117670) at kernel/qobject.cpp:534
#19 0xb77566a2 in QObject::event (this=0x9117670, e=0x0) at kernel/qobject.cpp:1219
#20 0xb5accfdc in QApplicationPrivate::notify_helper (this=0x9076c08, receiver=0x9117670, e=0x912d2f0) at kernel/qapplication.cpp:4396
#21 0xb5ad304e in QApplication::notify (this=0xbfa0d8c0, receiver=0x9117670, e=0x912d2f0) at kernel/qapplication.cpp:3798
#22 0xb6673f8a in KApplication::notify (this=0xbfa0d8c0, receiver=0x9117670, event=0x912d2f0) at ../../kdeui/kernel/kapplication.cpp:311
#23 0xb7743b3b in QCoreApplication::notifyInternal (this=0xbfa0d8c0, receiver=0x9117670, event=0x912d2f0) at kernel/qcoreapplication.cpp:732
#24 0xb7746d8b in sendEvent (receiver=0x0, event_type=0, data=0x90621e8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#25 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x90621e8) at kernel/qcoreapplication.cpp:1373
#26 0xb7746f4d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266
#27 0xb7772a74 in sendPostedEvents (s=0x9079120) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#28 postEventSourceDispatch (s=0x9079120) at kernel/qeventdispatcher_glib.cpp:277
#29 0xb5669855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#30 0xb566d668 in ?? () from /lib/libglib-2.0.so.0
#31 0xb566d848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#32 0xb7772565 in QEventDispatcherGlib::processEvents (this=0x9076be8, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#33 0xb5b8ebe5 in QGuiEventDispatcherGlib::processEvents (this=0x9076be8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#34 0xb7742609 in QEventLoop::processEvents (this=0xbfa0d824, flags=) at kernel/qeventloop.cpp:149
#35 0xb7742a8a in QEventLoop::exec (this=0xbfa0d824, flags=...) at kernel/qeventloop.cpp:201
#36 0xb774700f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#37 0xb5acbe07 in QApplication::exec () at kernel/qapplication.cpp:3672
#38 0xb6ae3f83 in Akonadi::ResourceBase::init (r=0x9079000) at ../../akonadi/resourcebase.cpp:302
#39 0x080723d3 in init<DavGroupwareResource> (argc=3, argv=0xbfa0d9a4) at /usr/include/akonadi/resourcebase.h:188
#40 main (argc=3, argv=0xbfa0d9a4) at ../../../../resources/dav/resource/davgroupwareresource.cpp:704

This bug may be a duplicate of or related to bug 250525.

Possible duplicates by query: bug 250525.

Reported using DrKonqi
Comment 1 Torgny Nyblom 2011-01-23 06:14:11 UTC
Could you please repost the "What I was doing" section again in english?
Comment 2 Wolfram 2011-01-23 17:29:57 UTC
in English: webdav-connected to egroupware 1.8. Sync of adressbook and calendar.
After connecting to the database of another user (adding the user to the url) Akonadi crashes with every refreshing the data. I think the url is not correct.But there is a crash instead of a 'Warning' ore a message.
Comment 3 Grégory Oestreicher 2011-01-23 18:22:42 UTC
Hi,

Which version of KDE PIM are you using? This bug reminds me of another I have addressed some time ago and that should be in the latest beta.

Just to be sure, as I wasn't able to reproduce, are you using https://yourserver/groupdav.php/ for you and https://yourserver/groupdav.php/otheruser/ for the other user?

Cheers,
Grégory
Comment 4 Grégory Oestreicher 2011-01-23 18:24:38 UTC
Oh, and I forgot to ask: are you using GroupDav, CalDav or CardDav?

Cheers,
Grégory
Comment 5 Wolfram 2011-01-23 19:05:10 UTC
I'm using last beta. Connected groupdav with:

http://server/egrouwpware/groupdav.php/otheruser/ (crashes)
http://server/egrouwpware/groupdav.php/ (working with adressbook)
Comment 6 Grégory Oestreicher 2011-01-23 19:37:25 UTC
Le dimanche 23 janvier 2011 19:06:15, Wolfram a écrit :
> 
> I'm using last beta. Connected groupdav with:
> 
> http://server/egrouwpware/groupdav.php/otheruser/ (crashes)
> http://server/egrouwpware/groupdav.php/ (working with adressbook)

That's exactly what I did, and I'm still unable to make it crash.
Can you post the content of the file 
~/.kde4/share/config/akonadi_davgroupware_resource_Xrc after redacting the 
username and server hostname (where X is the number of the resource)?

Cheers,
Grégory
Comment 7 Wolfram 2011-01-24 12:51:22 UTC
Here the content of the file:

[General]
displayName=eGroupware
remoteUrls=xxx|GroupDav|http://xx.dyndns.ws/egroupware/groupdav.php/,xxx|GroupDav|http://xx.dyndns.ws/egroupware/groupdav.php/xxx/
Comment 8 Grégory Oestreicher 2011-01-24 23:39:59 UTC
Hi,

> Here the content of the file:

Thanks. So it's not the bug I thought…

Can you try the attached patch and tell if things are better? The resource may 
crash, but with another backtrace as this patch address only one point where a 
problem may occur and will have to be extended somewhat.

Cheers,
Grégory
Comment 9 Grégory Oestreicher 2011-01-24 23:41:01 UTC
Created attachment 56403 [details]
Do not retrieve items if no configured URL was found
Comment 10 Boerny 2011-01-28 16:44:04 UTC
Created attachment 56580 [details]
New crash information added by DrKonqi

akonadi_davgroupware_resource (0.1) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.0

using groupdav with egroupware 1.6. Get error when trying to connect.

-- Backtrace (Reduced):
#6  0x000000000041c559 in DavItemsListJob::start (this=0x2009e40) at ../../../../resources/dav/common/davitemslistjob.cpp:38
#7  0x000000000042de85 in DavGroupwareResource::retrieveItems (this=0x1f7ce10, collection=...) at ../../../../resources/dav/resource/davgroupwareresource.cpp:191
#8  0x00007fc7ef8096b5 in Akonadi::ResourceBasePrivate::slotSynchronizeCollection (this=<value optimized out>, col=<value optimized out>) at ../../akonadi/resourcebase.cpp:572
#9  0x00007fc7ef80bd25 in Akonadi::ResourceBase::qt_metacall (this=0x1f7ce10, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff09fcce50) at ./moc_resourcebase.cpp:142
#10 0x00000000004339d5 in DavGroupwareResource::qt_metacall (this=0x0, _c=167562704, _id=0, _a=0x201d3f0) at ./davgroupwareresource.moc:103
Comment 11 Grégory Oestreicher 2011-01-30 22:52:49 UTC
Hi,

The both of you are using Ubuntu 10.10, so I guess I'll have to test with this 
distro as I'm still unable to reproduce this bug.

To speed things up a bit can you tell me from which repo you installed KDE and 
the Dav resource?

Cheers,
Grégory
Comment 12 Grégory Oestreicher 2011-02-07 22:41:03 UTC
Hi,

Can you try the fix in this bug report : https://bugs.kde.org/show_bug.cgi?id=265096 and tell me if that works?

Cheers,
Grégory
Comment 13 Grégory Oestreicher 2011-02-19 11:48:11 UTC
Hi,

Can you look into akonadiconsole how many collections were discovered by the resource? There should be three per URL (Calendar, Address Book and Infolog) when using GroupDav. For an unknow reason (and I haven't been able to reproduce this issue) there is a collection that is requested by Akonadi and for which the resource has no configuration, or at least can't find it…

Cheers,
Grégory
Comment 14 Wolfram 2011-02-19 16:25:34 UTC
Hi Greg,
I also had this problem, but weeks ago. Under the current installation (4.6.40.git; opensuse repo) I didn't see this problem.
 
Sorry
Wolf
Comment 15 Grégory Oestreicher 2011-02-21 00:14:07 UTC
Git commit 365ccae0496cd4c77f4eee9533c8b7ffa2d3460a by Gregory Oestreicher.
Committed on 21/02/2011 at 00:09.
Pushed by goestreicher into branch 'master'.

Save the mappings discovered between collections URLs and
configured URLs. Prevents a crash when retrieveCollections()
is not called immediately. The resource must be deleted
and re-created if no full sync is successfull

BUG: 263956

M  +5    -0    resources/dav/resource/davgroupwareresource.cpp     
M  +1    -0    resources/dav/resource/davgroupwareresource.h     
M  +4    -0    resources/dav/resource/davgroupwareresource.kcfg     
M  +16   -0    resources/dav/resource/settings.cpp     

http://commits.kde.org/kdepim-runtime/365ccae0496cd4c77f4eee9533c8b7ffa2d3460a