Bug 219626 - crash when starting kontact after login [QSharedDataPointer<Akonadi::EntityPrivate>::operator=, Akonadi::Entity::operator=, operator=]
Summary: crash when starting kontact after login [QSharedDataPointer<Akonadi::EntityPr...
Status: RESOLVED WORKSFORME
Alias: None
Product: Akonadi
Classification: Frameworks and Libraries
Component: libakonadi (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Volker Krause
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-22 03:15 UTC by Marc Schiffbauer
Modified: 2010-04-09 10:19 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marc Schiffbauer 2009-12-22 03:15:17 UTC
Application: akonadi_kcal_resource (0.1)
KDE Platform Version: 4.3.85 (KDE 4.3.85 (KDE 4.4 Beta2)) (Compiled from sources)
Qt Version: 4.6.0
Operating System: Linux 2.6.32-gentoo x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
This crash happened riht after kontact start after login

 -- Backtrace:
Application: Akonadi Resource (akonadi_kcal_resource), signal: Segmentation fault
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.2200.3-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
[KCrash Handler]
#5  QSharedDataPointer<Akonadi::EntityPrivate>::operator= (this=0x78be50, other=...) at /usr/include/qt4/QtCore/qshareddata.h:95
#6  Akonadi::Entity::operator= (this=0x78be50, other=...) at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85/akonadi/entity.cpp:82
#7  0x00007f45a5b3f5d0 in operator= (this=0x749c40, collection=..., destination=..., parent=0x8b21a0) at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85/akonadi/collection.h:66
#8  CollectionMoveJob (this=0x749c40, collection=..., destination=..., parent=0x8b21a0) at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85/akonadi/collectionmovejob.cpp:38
#9  0x00007f45a5b4da30 in Akonadi::CollectionSync::Private::processPendingRemoteNodes(LocalNode*) () from /usr/lib64/libakonadi-kde.so.4
#10 0x00007f45a5b4f8f9 in Akonadi::CollectionSync::Private::execute() () from /usr/lib64/libakonadi-kde.so.4
#11 0x00007f45a5b4bfe4 in Akonadi::CollectionSync::Private::localCollectionFetchResult (this=0x8b21a0, _c=<value optimized out>, _id=<value optimized out>, _a=0x7fff4078a370)
    at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85/akonadi/collectionsync.cpp:178
#12 Akonadi::CollectionSync::qt_metacall (this=0x8b21a0, _c=<value optimized out>, _id=<value optimized out>, _a=0x7fff4078a370)
    at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85_build/akonadi/collectionsync_p.moc:82
#13 0x00007f45a5799c73 in QMetaObject::activate (sender=0x8b2b80, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3286
#14 0x00007f45a527b392 in KJob::result (this=0x78be50, _t1=0x8b2b80) at /var/tmp/portage/kde-base/kdelibs-4.3.85/work/kdelibs-4.3.85_build/kdecore/kjob.moc:194
#15 0x00007f45a527b630 in KJob::emitResult (this=0x8b2b80) at /var/tmp/portage/kde-base/kdelibs-4.3.85/work/kdelibs-4.3.85/kdecore/jobs/kjob.cpp:312
#16 0x00007f45a5b9c7e3 in Akonadi::JobPrivate::handleResponse (this=<value optimized out>, tag=..., data=<value optimized out>)
    at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85/akonadi/job.cpp:67
#17 0x00007f45a5b9c677 in Akonadi::JobPrivate::handleResponse (this=<value optimized out>, tag=..., data=...) at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85/akonadi/job.cpp:49
#18 0x00007f45a5bc97e6 in Akonadi::SessionPrivate::dataReceived (this=0x83bac0) at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85/akonadi/session.cpp:121
#19 0x00007f45a5bca075 in Akonadi::Session::qt_metacall (this=0x836480, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff4078a720)
    at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85_build/akonadi/session.moc:87
#20 0x00007f45a5799c73 in QMetaObject::activate (sender=0x829220, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3286
#21 0x00007f45a57e3ff8 in QIODevice::qt_metacall (this=0x829220, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff4078a860) at .moc/release-shared/moc_qiodevice.cpp:77
#22 0x00007f45a2ccfbc0 in QLocalSocket::qt_metacall (this=0x78be50, _c=QMetaObject::InvokeMetaMethod, _id=6549800, _a=0x0) at .moc/release-shared/moc_qlocalsocket.cpp:81
#23 0x00007f45a5799c73 in QMetaObject::activate (sender=0x838fc8, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3286
#24 0x00007f45a2cc7fdf in QAbstractSocketPrivate::canReadNotification (this=0x839fd0) at socket/qabstractsocket.cpp:626
#25 0x00007f45a2cb7981 in QReadNotifier::event (this=<value optimized out>, e=0x0) at socket/qnativesocketengine.cpp:1053
#26 0x00007f45a3c1853c in QApplicationPrivate::notify_helper (this=0x63c6e0, receiver=0x825970, e=0x7fff4078ae10) at kernel/qapplication.cpp:4242
#27 0x00007f45a3c20d7a in QApplication::notify (this=0x7fff4078b0e0, receiver=<value optimized out>, e=0x7fff4078ae10) at kernel/qapplication.cpp:4125
#28 0x00007f45a4818656 in KApplication::notify (this=0x7fff4078b0e0, receiver=0x825970, event=0x7fff4078ae10)
    at /var/tmp/portage/kde-base/kdelibs-4.3.85/work/kdelibs-4.3.85/kdeui/kernel/kapplication.cpp:302
#29 0x00007f45a578702b in QCoreApplication::notifyInternal (this=0x7fff4078b0e0, receiver=0x825970, event=0x7fff4078ae10) at kernel/qcoreapplication.cpp:704
#30 0x00007f45a57b082a in QCoreApplication::sendEvent (source=0x640310) at kernel/qcoreapplication.h:215
#31 socketNotifierSourceDispatch (source=0x640310) at kernel/qeventdispatcher_glib.cpp:110
#32 0x00007f45a13be4cd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#33 0x00007f45a13c1e88 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#34 0x00007f45a13c1fb0 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#35 0x00007f45a57b0473 in QEventDispatcherGlib::processEvents (this=0x623440, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:407
#36 0x00007f45a3cb4b3e in QGuiEventDispatcherGlib::processEvents (this=0x78be50, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#37 0x00007f45a5785982 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#38 0x00007f45a5785d54 in QEventLoop::exec (this=0x7fff4078b070, flags=) at kernel/qeventloop.cpp:201
#39 0x00007f45a5789a3b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#40 0x00007f45a5bb4f92 in Akonadi::ResourceBase::init (r=0x83b340) at /var/tmp/portage/kde-base/kdepimlibs-4.3.85/work/kdepimlibs-4.3.85/akonadi/resourcebase.cpp:219
#41 0x000000000040a668 in main ()

Reported using DrKonqi
Comment 1 Thomas McGuire 2009-12-22 15:11:02 UTC
Volker, could it be a symptom of the bug I fixed with r1060671?

That one also had an invalid memory access at QSharedDataPointer<Akonadi::EntityPrivate>::operator=.

That fix should also be merged to trunk.
Comment 2 Thomas McGuire 2009-12-27 21:39:04 UTC
SVN commit 1066751 by tmcguire:

SVN_MERGE
CCBUG: 219626
Merged revisions 1060404,1060670-1060671 via svnmerge from 
svn+ssh://tmcguire@svn.kde.org/home/kde/branches/work/akonadi-ports/kdepimlibs

........
  r1060404 | tmcguire | 2009-12-08 21:04:13 +0100 (Tue, 08 Dec 2009) | 3 lines
  
  Add test for walking the parent collections after parsing a collection.
  Fails because of some uninitalized memory reads.
........
  r1060670 | tmcguire | 2009-12-09 16:35:06 +0100 (Wed, 09 Dec 2009) | 5 lines
  
  Cleanup the test.
  
  I hope adjusting the HRID test was ok, I guess adding another test caused the
  negative collections to be even more negative.
........
  r1060671 | tmcguire | 2009-12-09 16:37:59 +0100 (Wed, 09 Dec 2009) | 8 lines
  
  Fix crash in ProtocolHelperTest::testParentCollectionAfterCollectionParsing().
  See comments for details.
  This is the best fix I could come up with, I hope it doesn't hurt performance too much.
  
  (And the lesson we have learned: Don't cast pointers to references and then return them)
  
  Volker, you'll want to review this.
........


 _M            . (directory)  
 M  +25 -3     akonadi/entity.cpp  
 M  +6 -0      akonadi/entity.h  
 M  +20 -2     akonadi/tests/protocolhelpertest.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1066751
Comment 3 Tobias Koenig 2010-04-09 10:19:59 UTC
The merge should have fixed the bug, please reopen if you can still reproduce it.