Bug 276319 - Nepomuk service stub keeps on crashing [Tp::Connection::contactManager, Account::onConnectionStatusChanged]
Summary: Nepomuk service stub keeps on crashing [Tp::Connection::contactManager, Accou...
Status: RESOLVED FIXED
Alias: None
Product: telepathy
Classification: Frameworks and Libraries
Component: nepomuk-service (show other bugs)
Version: git-latest
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: 0.4.0
Assignee: Telepathy Bugs
URL:
Keywords:
: 276290 278560 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-06-23 12:31 UTC by Francesco Nwokeka
Modified: 2012-07-06 12:47 UTC (History)
4 users (show)

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 Francesco Nwokeka 2011-06-23 12:31:22 UTC
Version:           git-latest (using Devel) 
OS:                Linux

I get random crashes from nepomuk when in latest KDE trunk and stable version. Here is a backtrace of one of the crashes I had today.

-------
Application: Nepomuk Service Stub (nepomukservicestub), signal: Segmentation fault
[KCrash Handler]
#6  0x00007f77058cc931 in Tp::Connection::contactManager() const () from /usr/lib/libtelepathy-qt4.so.1
#7  0x00007f7705d0492d in Account::onConnectionStatusChanged (this=0xbb3bb0, status=<value optimized out>) at /home/z3r0/GitProjects/KDE/Telepathy/telepathy-nepomuk-service/account.cpp:104
#8  0x00007f7705d057b1 in Account::qt_metacall (this=0xbb3bb0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffd8036b10) at /home/z3r0/GitProjects/KDE/Telepathy/telepathy-nepomuk-service/trunkBuild/account.moc:145
#9  0x00007f77152186ae in QMetaObject::metacall (object=0xbb3bb0, cl=QMetaObject::InvokeMetaMethod, idx=16, argv=0x7fffd8036b10) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qmetaobject.cpp:237
#10 0x00007f771522d1ca in QMetaObject::activate (sender=0xb9ffa0, m=0x7f7705ce77e0, local_signal_index=19, argv=0x7fffd8036b10) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qobject.cpp:3280
#11 0x00007f7705844af1 in Tp::Account::connectionStatusChanged(Tp::ConnectionStatus) () from /usr/lib/libtelepathy-qt4.so.1
#12 0x00007f770585110c in ?? () from /usr/lib/libtelepathy-qt4.so.1
#13 0x00007f77058559a4 in Tp::Account::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libtelepathy-qt4.so.1
#14 0x00007f77152186ae in QMetaObject::metacall (object=0xb9ffa0, cl=QMetaObject::InvokeMetaMethod, idx=34, argv=0x7fffd8037da0) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qmetaobject.cpp:237
#15 0x00007f771522d1ca in QMetaObject::activate (sender=0xa032a0, m=0x7f7705ce77c0, local_signal_index=1, argv=0x7fffd8037da0) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qobject.cpp:3280
#16 0x00007f7705844b65 in Tp::Client::AccountInterface::AccountPropertyChanged(QMap<QString, QVariant> const&) () from /usr/lib/libtelepathy-qt4.so.1
#17 0x00007f770584bfd4 in Tp::Client::AccountInterface::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libtelepathy-qt4.so.1
#18 0x00007f7714bc6ba1 in QDBusConnectionPrivate::deliverCall (this=0xa743e0, object=0xa032a0, msg=..., metaTypes=..., slotIdx=7) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/dbus/qdbusintegrator.cpp:919
#19 0x00007f7714bd2afc in QDBusCallDeliveryEvent::placeMetaCall (this=0xc24ee0, object=0xa032a0) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/dbus/qdbusintegrator_p.h:103
#20 0x00007f7715228bdc in QObject::event (this=0xa032a0, e=0xc24ee0) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qobject.cpp:1219
#21 0x00007f7712cd4742 in QApplicationPrivate::notify_helper (this=0x97df20, receiver=0xa032a0, e=0xc24ee0) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/gui/kernel/qapplication.cpp:4445
#22 0x00007f7712cd1d7e in QApplication::notify (this=0x7fffd8038ed0, receiver=0xa032a0, e=0xc24ee0) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/gui/kernel/qapplication.cpp:3845
#23 0x00007f77142836e6 in KApplication::notify (this=0x7fffd8038ed0, receiver=0xa032a0, event=0xc24ee0) at /mnt/STORAGE/KDE-GIT/kdeSources/kdelibs/kdeui/kernel/kapplication.cpp:311
#24 0x00007f7715210656 in QCoreApplication::notifyInternal (this=0x7fffd8038ed0, receiver=0xa032a0, event=0xc24ee0) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qcoreapplication.cpp:732
#25 0x00007f7715214367 in QCoreApplication::sendEvent (receiver=0xa032a0, event=0xc24ee0) at ../../include/QtCore/../../../../qt-copy/src/corelib/kernel/qcoreapplication.h:215
#26 0x00007f7715211880 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x93ba30) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qcoreapplication.cpp:1373
#27 0x00007f77152114a1 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qcoreapplication.cpp:1266
#28 0x00007f77152494e5 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../../../qt-copy/src/corelib/kernel/qcoreapplication.h:220
#29 0x00007f77152484e5 in postEventSourceDispatch (s=0x9811d0) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#30 0x00007f771124a29d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#31 0x00007f771124aa78 in ?? () from /usr/lib/libglib-2.0.so.0
#32 0x00007f771124ad09 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#33 0x00007f7715248d95 in QEventDispatcherGlib::processEvents (this=0x93b500, flags=...) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:415
#34 0x00007f7712daaa1c in QGuiEventDispatcherGlib::processEvents (this=0x93b500, flags=...) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#35 0x00007f771520e21c in QEventLoop::processEvents (this=0x7fffd8038d30, flags=...) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qeventloop.cpp:149
#36 0x00007f771520e370 in QEventLoop::exec (this=0x7fffd8038d30, flags=...) at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qeventloop.cpp:201
#37 0x00007f7715210d48 in QCoreApplication::exec () at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/corelib/kernel/qcoreapplication.cpp:1009
#38 0x00007f7712cd18f6 in QApplication::exec () at /mnt/STORAGE/KDE-GIT/kdeSources/qt-copy/src/gui/kernel/qapplication.cpp:3719
#39 0x0000000000403dc9 in main (argc=2, argv=0x7fffd8039378) at /mnt/STORAGE/KDE-GIT/kdeSources/kde-runtime/nepomuk/servicestub/main.cpp:167


Reproducible: Didn't try
Comment 1 George Goldberg 2011-06-23 12:33:33 UTC
oooh nice backtrace. I think I know what's going on here, and I'll try and sort it out later.
Comment 2 George Goldberg 2011-07-10 10:52:43 UTC
Turns out it isn't entirely obvious where this crash is coming from afaics. I've added some extra sanity checks to the slot concerned which with any luck will prevent it from crashing, but I'm not certain this will work. Branch is here [1] - I would appreciate it if you could give this branch a go and see if it eliminates the crashes.

[1] http://quickgit.kde.org/?p=clones%2Ftelepathy-nepomuk-service%2Fgberg%2Ftelepathy-nepomuk-service.git&a=shortlog&h=refs/heads/bug-276319
Comment 3 Luis Silva 2011-07-10 11:25:04 UTC
Can this be a duplicate of bug #276290 ?
Comment 4 George Goldberg 2011-07-10 11:30:12 UTC
*** Bug 276290 has been marked as a duplicate of this bug. ***
Comment 5 George Goldberg 2011-07-10 11:31:32 UTC
@Luis:

What version of telepathy-qt4 are you compiling against?
Comment 6 Luis Silva 2011-07-10 11:34:15 UTC
I am compiling agains latest master for both telepathy-qt4 and telepathy-glib.
Comment 7 George Goldberg 2011-07-10 11:42:45 UTC
Can you run the telepathy nepomuk service manually (~$ nepomukservicestub nepomuktelepathyservice ) and then paste the debug output it prints in the lead up to the crash.
Comment 8 Luis Silva 2011-07-11 19:05:21 UTC
Here it is. If I can provide anything else, just let me know.

nepomuktelepathyservice(32292) NepomukStorage::NepomukStorage:
nepomuktelepathyservice(32292) Controller::Controller: Calling becomeReady on the AM.
nepomuktelepathyservice(32292) TelepathyService::TelepathyService: We're off...
nepomuktelepathyservice(32292) Controller::onAccountManagerReady: AccountManager ready.
nepomuktelepathyservice(32292) Account::Account: Account Constructed.
nepomuktelepathyservice(32292) Controller::onNewAccount: Created new account:  Account(0x8db6720)
nepomuktelepathyservice(32292) NepomukStorage::createAccount: Creating a new Account
nepomuktelepathyservice(32292) NepomukStorage::createAccount: 1
nepomuktelepathyservice(32292) NepomukStorage::createAccount: NepomukStorage(0x8c38bf8) : Found IM Account:  "nepomuk:/res/24662dfd-497f-40b1-8e64-085e4781c06e"
nepomuktelepathyservice(32292) NepomukStorage::createAccount: NepomukStorage(0x8c38bf8) : Found the corresponding IMAccount in Nepomuk.
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection closed: Account(0x8db6720)
nepomuktelepathyservice(32292) Account::Account: Account Constructed.
nepomuktelepathyservice(32292) Controller::onNewAccount: Created new account:  Account(0x8dba250)
nepomuktelepathyservice(32292) NepomukStorage::createAccount: Creating a new Account
nepomuktelepathyservice(32292) NepomukStorage::createAccount: 1
nepomuktelepathyservice(32292) NepomukStorage::createAccount: NepomukStorage(0x8c38bf8) : Found IM Account:  "nepomuk:/res/fc846f10-eeb0-48d9-89cd-dab38c9f188d"
nepomuktelepathyservice(32292) NepomukStorage::createAccount: NepomukStorage(0x8c38bf8) : Found the corresponding IMAccount in Nepomuk.
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection closed: Account(0x8dba250)
nepomuktelepathyservice(32292) Account::Account: Account Constructed.
nepomuktelepathyservice(32292) Controller::onNewAccount: Created new account:  Account(0x8dca048)
nepomuktelepathyservice(32292) NepomukStorage::createAccount: Creating a new Account
nepomuktelepathyservice(32292) NepomukStorage::createAccount: 1
nepomuktelepathyservice(32292) NepomukStorage::createAccount: NepomukStorage(0x8c38bf8) : Found IM Account:  "nepomuk:/res/bd6bd851-2a7c-43cf-9a43-6f56a68b9545"
nepomuktelepathyservice(32292) NepomukStorage::createAccount: NepomukStorage(0x8c38bf8) : Found the corresponding IMAccount in Nepomuk.
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection closed: Account(0x8dca048)
nepomuktelepathyservice(32292) Account::Account: Account Constructed.
nepomuktelepathyservice(32292) Controller::onNewAccount: Created new account:  Account(0x8dad888)
nepomuktelepathyservice(32292) NepomukStorage::createAccount: Creating a new Account
nepomuktelepathyservice(32292) NepomukStorage::createAccount: 1
nepomuktelepathyservice(32292) NepomukStorage::createAccount: NepomukStorage(0x8c38bf8) : Found IM Account:  "nepomuk:/res/18deb25c-98d2-4208-895a-a199a0da749c"
nepomuktelepathyservice(32292) NepomukStorage::createAccount: NepomukStorage(0x8c38bf8) : Found the corresponding IMAccount in Nepomuk.
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection closed: Account(0x8dad888)
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection closed: Account(0x8db6720)
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection closed: Account(0x8dba250)
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection closed: Account(0x8dca048)
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection closed: Account(0x8dad888)
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection up: Account(0x8db6720)
tp-qt4 0.7.1.1 WARN: Calling allKnownContacts() before FeatureRoster is ready 
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Loop over.
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection closed: Account(0x8db6720)
tp-qt4 0.7.1.1 WARN: Properties::GetAll(Connection) failed with "org.freedesktop.Telepathy.Error.Disconnected": "method cannot be called unless status is CONNECTION_STATUS_CONNECTED"
tp-qt4 0.7.1.1 WARN: GetSelfHandle() failed with "org.freedesktop.Telepathy.Error.Disconnected": "method cannot be called unless status is CONNECTION_STATUS_CONNECTED"
tp-qt4 0.7.1.1 WARN: Nested PendingReady for true failed with "org.freedesktop.Telepathy.Error.Disconnected" : "method cannot be called unless status is CONNECTION_STATUS_CONNECTED" 
tp-qt4 0.7.1.1 WARN: Building connection "/org/freedesktop/Telepathy/Connection/butterfly/msn/lacsilva_40hotmail_2ecom" failed with "org.freedesktop.Telepathy.Error.Disconnected" - "method cannot be called unless status is CONNECTION_STATUS_CONNECTED" 
tp-qt4 0.7.1.1 WARN: Nested PendingReady for true failed with "org.freedesktop.Telepathy.Error.Disconnected" : "method cannot be called unless status is CONNECTION_STATUS_CONNECTED" 
tp-qt4 0.7.1.1 WARN: Building connection "/org/freedesktop/Telepathy/Connection/butterfly/msn/lacsilva_40hotmail_2ecom" failed with "org.freedesktop.Telepathy.Error.Disconnected" - "method cannot be called unless status is CONNECTION_STATUS_CONNECTED" 
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection up: Account(0x8dca048)
tp-qt4 0.7.1.1 WARN: Calling allKnownContacts() before FeatureRoster is ready 
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Loop over.
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection up: Account(0x8dad888)
tp-qt4 0.7.1.1 WARN: Calling allKnownContacts() before FeatureRoster is ready 
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Loop over.
nepomuktelepathyservice(32292) Account::onConnectionStatusChanged: Connection up: Account(0x8dba250)
KCrash: Application 'nepomukservicestub' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/lacsilva/.kde/socket-Panorama/kdeinit4__0
Comment 9 Luis Silva 2011-07-20 16:27:29 UTC
I tried to remove all my accounts and readd them one by one. It turns out that this crash only happens with msn accounts.
Comment 10 George Goldberg 2011-07-31 15:15:07 UTC
https://git.reviewboard.kde.org/r/102106/ almost certainly fixes this bug (just as soon as it gets merged to master).
Comment 11 Dario Andres 2011-08-07 16:22:16 UTC
[Comment from a bug triager]
From bug 278560 (KDE SC 4.6.95):
- What I was doing when the application crashed: I was playing with the 4.7
telepathy feature in systemsettings.
I create firstly my gtalk account, and gnome3-keyring appear wanting to create
a new keyring called "default". I create it, otherwise you can leave the
window.
Then I create my hotmail msn
Then I create the irc connection and the crash just happen at that time.

[KCrash Handler]
#6  Tp::Connection::contactManager (this=0x0) at
/usr/src/debug/telepathy-qt4-0.7.1.60.1310094280/TelepathyQt4/connection.cpp:2301
#7  0x00007ff1af79100d in Account::onConnectionStatusChanged (this=0x8e0d00,
status=<optimized out>) at
/usr/src/debug/telepathy-nepomuk-service-0.1git.1308161497/account.cpp:104
#8  0x00007ff1af791ed3 in Account::qt_metacall (this=0x8e0d00,
_c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fffb2066a10) at
/usr/src/debug/telepathy-nepomuk-service-0.1git.1308161497/build/account.moc:158
#9  0x00007ff1be98aeda in QMetaObject::activate (sender=0x8b6b70, m=<optimized
out>, local_signal_index=<optimized out>, argv=0x7fffb2066a10) at
kernel/qobject.cpp:3278
#10 0x00007ff1af288501 in Tp::Account::connectionStatusChanged (this=<optimized
out>, _t1=Tp::ConnectionStatusConnected) at
/usr/src/debug/telepathy-qt4-0.7.1.60.1310094280/build/TelepathyQt4/_gen/account.moc.hpp:427
...
Comment 12 Dario Andres 2011-08-07 16:22:21 UTC
*** Bug 278560 has been marked as a duplicate of this bug. ***
Comment 13 David Edmundson 2011-08-08 12:31:09 UTC
This should have been fixed in the commit:

---
commit 8c11209e6678addd8ba79408164e6bca79f66c9d
Author: David Edmundson <kde@davidedmundson.co.uk>
Date:   Wed Jul 27 11:19:21 2011 +0100

Replace monitoring of connectionStatusChanged with connectionChanged as these 
are not always directly in sync.
    
This prevents a potential crash using Account::connection() when it doesn't ex
ist.


--

Please re-open if you still have crashes.