Application: ktp-contactlist (0.4)
KDE Platform Version: 4.8.3 (4.8.3) (Compiled from sources)
Qt Version: 4.8.2
Operating System: Linux 3.5.0-gentoo x86_64
Distribution: "Gentoo Base System release 2.1"
-- Information about the crash:
- What I was doing when the application crashed:
→ Set the presence to 'Away' with a custom presence message
→ Left the computer
→ Returned after 1h
→ Unlocked the screen
→ Was greeted by a dialog, whether I want to enable the 'Now playing…' plugin and the presence was set to 'Now playing…'
→ Clicked 'No'
→ The dialog raised again
→ Clicked 'No' again
→ Contact list crashed
KTP from git, last built 2012-07-22
1 Jabber/XMPP account used
Application: KDE Telepathy Contact List (ktp-contactlist), signal: Segmentation fault
#6 0x000000000043b5ed in parent (this=0xeb47a0) at /usr/include/qt4/QtCore/qabstractitemmodel.h:393
#7 PresenceModelExtended::data (this=0x802050, index=..., role=0) at /var/tmp/portage/net-im/ktp-contact-list-9999/work/ktp-contact-list-9999/global-presence-chooser.cpp:95
#8 0x00007f9471b14450 in QComboBoxPrivate::itemText (this=0x7f7c10, index=...) at widgets/qcombobox.cpp:1287
#9 0x00007f9471b1865a in QComboBoxPrivate::_q_emitCurrentIndexChanged (this=0x7f7c10, index=...) at widgets/qcombobox.cpp:1279
#10 0x00007f9471b1892a in QComboBoxPrivate::setCurrentIndex (this=0x7f7c10, mi=<optimized out>) at widgets/qcombobox.cpp:2046
#11 0x00007f9471b18a2c in QComboBox::setCurrentIndex (this=<optimized out>, index=9) at widgets/qcombobox.cpp:2022
#12 0x00007f9471b19e59 in QComboBoxPrivate::_q_rowsRemoved (this=0x7f7c10, parent=<optimized out>) at widgets/qcombobox.cpp:1071
#13 0x00007f9472b2f453 in QMetaObject::activate (sender=0x802050, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff4f423cb0) at kernel/qobject.cpp:3547
#14 0x00007f9472b7a3e4 in QAbstractItemModel::rowsRemoved (this=<optimized out>, _t1=<optimized out>, _t2=9, _t3=9) at .moc/release-shared/moc_qabstractitemmodel.cpp:211
#15 0x00007f9472b13e3b in QAbstractItemModel::endRemoveRows (this=0x802050) at kernel/qabstractitemmodel.cpp:2487
#16 0x000000000043b185 in PresenceModelExtended::removeTemporaryPresence (this=<optimized out>) at /var/tmp/portage/net-im/ktp-contact-list-9999/work/ktp-contact-list-9999/global-presence-chooser.cpp:164
#17 0x000000000043bba0 in GlobalPresenceChooser::onPresenceChanged (this=0x6973c0, presence=...) at /var/tmp/portage/net-im/ktp-contact-list-9999/work/ktp-contact-list-9999/global-presence-chooser.cpp:354
#18 0x00007f9472b2f453 in QMetaObject::activate (sender=0x692440, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff4f423fd0) at kernel/qobject.cpp:3547
#19 0x00007f947406d4b5 in KTp::GlobalPresence::currentPresenceChanged (this=<optimized out>, _t1=<optimized out>) at /var/tmp/portage/net-im/ktp-common-internals-9999/work/ktp-common-internals-9999_build/KTp/global-presence.moc:139
#20 0x00007f947406da97 in KTp::GlobalPresence::onCurrentPresenceChanged (this=0x692440) at /var/tmp/portage/net-im/ktp-common-internals-9999/work/ktp-common-internals-9999/KTp/global-presence.cpp:118
#21 0x00007f9472b2f453 in QMetaObject::activate (sender=0x93d130, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff4f424280) at kernel/qobject.cpp:3547
#22 0x00007f9474336975 in Tp::Account::currentPresenceChanged (this=<optimized out>, _t1=<optimized out>) at /var/tmp/portage/net-libs/telepathy-qt-9999/work/telepathy-qt-9999_build/TelepathyQt/_gen/account.moc.hpp:413
#23 0x00007f9474345e18 in Tp::Account::Private::updateProperties (this=0x98aa70, props=...) at /var/tmp/portage/net-libs/telepathy-qt-9999/work/telepathy-qt-9999/TelepathyQt/account.cpp:4288
#24 0x00007f9472b2f453 in QMetaObject::activate (sender=0x7fad40, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff4f424fb0) at kernel/qobject.cpp:3547
#25 0x00007f9474336ac5 in Tp::Client::AccountInterface::AccountPropertyChanged (this=<optimized out>, _t1=<optimized out>) at /var/tmp/portage/net-libs/telepathy-qt-9999/work/telepathy-qt-9999_build/TelepathyQt/_gen/cli-account.moc.hpp:134
#26 0x00007f9474336cad in Tp::Client::AccountInterface::qt_static_metacall (_o=0x7fad40, _c=<optimized out>, _id=1, _a=0x7fff4f4250b0) at /var/tmp/portage/net-libs/telepathy-qt-9999/work/telepathy-qt-9999_build/TelepathyQt/_gen/cli-account.moc.hpp:65
#27 0x00007f9474336e1b in Tp::Client::AccountInterface::qt_metacall (this=0x7fad40, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff4f4250b0) at /var/tmp/portage/net-libs/telepathy-qt-9999/work/telepathy-qt-9999_build/TelepathyQt/_gen/cli-account.moc.hpp:118
#28 0x00007f947273e97a in QDBusConnectionPrivate::deliverCall (this=0x68b910, object=0x7fad40, msg=..., metaTypes=..., slotIdx=9) at qdbusintegrator.cpp:947
#29 0x00007f9472b2e896 in QObject::event (this=0x7fad40, e=<optimized out>) at kernel/qobject.cpp:1195
#30 0x00007f947174d374 in QApplicationPrivate::notify_helper (this=0x6975d0, receiver=0x7fad40, e=0xd660b0) at kernel/qapplication.cpp:4551
#31 0x00007f9471751e4f in QApplication::notify (this=<optimized out>, receiver=0x7fad40, e=0xd660b0) at kernel/qapplication.cpp:4412
#32 0x00007f94737e8bd6 in KApplication::notify (this=0x7fff4f425ce0, receiver=0x7fad40, event=0xd660b0) at /var/tmp/portage/kde-base/kdelibs-4.8.3/work/kdelibs-4.8.3/kdeui/kernel/kapplication.cpp:311
#33 0x00007f9472b19c0b in QCoreApplication::notifyInternal (this=0x7fff4f425ce0, receiver=0x7fad40, event=0xd660b0) at kernel/qcoreapplication.cpp:915
#34 0x00007f9472b1d1d7 in sendEvent (event=0xd660b0, receiver=0x7fad40) at kernel/qcoreapplication.h:231
#35 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6681b0) at kernel/qcoreapplication.cpp:1539
#36 0x00007f9472b48bd3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#37 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#38 0x00007f946da6f262 in g_main_dispatch (context=0x696fc0) at gmain.c:2539
#39 g_main_context_dispatch (context=0x696fc0) at gmain.c:3075
#40 0x00007f946da6f5a8 in g_main_context_iterate (context=0x696fc0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3146
#41 0x00007f946da6f664 in g_main_context_iteration (context=0x696fc0, may_block=1) at gmain.c:3207
#42 0x00007f9472b48d6f in QEventDispatcherGlib::processEvents (this=0x667a40, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#43 0x00007f94717f273e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#44 0x00007f9472b18972 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#45 0x00007f9472b18c25 in QEventLoop::exec (this=0x7fff4f425c30, flags=...) at kernel/qeventloop.cpp:204
#46 0x00007f9472b1d67b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#47 0x0000000000435d65 in main (argc=1, argv=0x7fff4f425fb8) at /var/tmp/portage/net-im/ktp-contact-list-9999/work/ktp-contact-list-9999/main.cpp:62
Reported using DrKonqi
Thanks, great report.
My theory is that the custom auto-away presence message is inserted as the 'temp presence' to the combobox, then when it's removed before you're switched to available/the-presence-before, it automatically moves down in the list, which is now playing. Then something strange happens and it goes down.
Hopefully I'll be able to fix it before 0.5.
Git commit 67d235c46e492db89de25fc185201128d5be7bdc by Martin Klapetek.
Committed on 31/07/2012 at 15:22.
Pushed by mklapetek into branch 'master'.
Set the new presence first and only then remove the temp presence
Removing the temp presence first causes setting new selected index (as the currently selected one was just deleted) which is set to the next in the list, which in case of the temp presence is the 'Now playing...' one, which prompts the user for enabling it if it is disabled.
So now we first change the presence (and current index) and only then remove the temp presence, then it won't cause another unwanted index re-setting.
Reviewed-by: David Edmundson
M +3 -2 global-presence-chooser.cpp
Created attachment 74873 [details]
New crash information added by DrKonqi
ktp-contactlist (0.5.1) on KDE Platform 4.9.2 using Qt 4.8.3
- What I was doing when the application crashed:
This happened right now again…
I restarted NetworkManager and once NetworkManager was down (it wasn't up again yet) contactlist showed the dialog:
This plugin is currently disabled. Do you want to enable it and use as your presence?
Once I responded with "No" contactlist crashed with the attached backtrace.
-- Backtrace (Reduced):
#6 0x000000000043f531 in parent (this=0x6978b0) at /usr/include/qt4/QtCore/qabstractitemmodel.h:393
#7 PresenceModelExtended::data (this=0x881680, index=..., role=0) at /var/tmp/portage/net-im/ktp-contact-list-9999/work/ktp-contact-list-9999/global-presence-chooser.cpp:95
#8 0x00007f2bb0dd5c40 in QComboBoxPrivate::itemText (this=0x8208b0, index=...) at widgets/qcombobox.cpp:1287
#9 0x00007f2bb0dd9e3a in QComboBoxPrivate::_q_emitCurrentIndexChanged (this=<optimized out>, index=...) at widgets/qcombobox.cpp:1279
#10 0x00007f2bb0dda10a in QComboBoxPrivate::setCurrentIndex (this=0x8208b0, mi=<optimized out>) at widgets/qcombobox.cpp:2046
I can reproduce this crash every time now.
I have the 'Now playing…' presence disabled in KTP settings.
*** Bug 306743 has been marked as a duplicate of this bug. ***
Elias, can you still reproduce this issue? And if so, are you using custom presence message for autoaway?
Git commit 3315e817fb1ce8fd802b9ff7e9aa665d352573ef by David Edmundson.
Committed on 15/01/2013 at 18:00.
Pushed by davidedmundson into branch 'master'.
Merge big model refactor.
Replace all the models used to power KTp
Subclass of Tp::Contact (KTp::Contact) to power the model
Create a list of contacts ContactListModel
Which can be grouped into AccountsTreeProxyModel or GroupsTreeProxyModel
Related: bug 307899, bug 282218, bug 279023
M +5 -0 KTp/CMakeLists.txt
I don't think this bug was fixed changing models. This is with the presence chooser.
Is this bug still valid? Version Fixed in reports "0.5"
Git commit acc91df99a169e8528dc1ecabcc8239d3f30880b by David Edmundson.
Committed on 29/04/2013 at 03:54.
Pushed by davidedmundson into branch 'kde-telepathy-0.6'.
Remove pointless call to model index parent to count top level items
M +3 -3 global-presence-chooser.cpp
*** Bug 319525 has been marked as a duplicate of this bug. ***