Bug 314400 - KTelepathy crashes after settings dialog closes
Summary: KTelepathy crashes after settings dialog closes
Status: RESOLVED FIXED
Alias: None
Product: telepathy
Classification: Frameworks and Libraries
Component: contactlist (show other bugs)
Version: 0.5.2
Platform: Ubuntu Linux
: NOR crash
Target Milestone: Future
Assignee: Telepathy Bugs
URL:
Keywords:
: 325720 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-02-04 04:06 UTC by Lê Hoàng Phương
Modified: 2013-10-09 15:05 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 Lê Hoàng Phương 2013-02-04 04:06:51 UTC
Application: ktp-contactlist (0.5.2)
KDE Platform Version: 4.9.98
Qt Version: 4.8.3
Operating System: Linux 3.5.0-23-generic i686
Distribution: Ubuntu 12.10

-- Information about the crash:
- What I was doing when the application crashed:
Right after closing the settings dialog, the KDE IM Contacts list (not the plasmoid) crashes

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Telepathy Contact List (ktp-contactlist), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#7  0x33692028 in ?? ()
#8  0xb698f7ab in QObject::disconnect (sender=0xa15cbf0, signal=0xb712a8d4 "2selectionChanged(QItemSelection,QItemSelection)", receiver=0xa2dc478, method=0xb712da5c "1_k_slotSelectionChanged(QItemSelection,QItemSelection)") at kernel/qobject.cpp:2891
#9  0xb6f793e3 in eventFilter (event=0xbfea1e94, watched=0xa15d150, this=0xa2dc428) at ../../kdeui/itemviews/kwidgetitemdelegate.cpp:272
#10 KWidgetItemDelegatePrivate::eventFilter (this=0xa2dc428, watched=0xa15d150, event=0xbfea1e94) at ../../kdeui/itemviews/kwidgetitemdelegate.cpp:236
#11 0xb69778fe in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9d6f908, receiver=0xa15d150, event=0xbfea1e94) at kernel/qcoreapplication.cpp:1025
#12 0xb5b1e36d in QApplicationPrivate::notify_helper (this=0x9d6f908, receiver=0xa15d150, e=0xbfea1e94) at kernel/qapplication.cpp:4558
#13 0xb5b22e54 in QApplication::notify (this=0x9d6f908, receiver=0xa15d150, e=0xbfea1e94) at kernel/qapplication.cpp:4423
#14 0xb6f9a321 in KApplication::notify (this=0xbfea533c, receiver=0xa15d150, event=0xbfea1e94) at ../../kdeui/kernel/kapplication.cpp:311
#15 0xb697778e in QCoreApplication::notifyInternal (this=0xbfea533c, receiver=0xa15d150, event=0xbfea1e94) at kernel/qcoreapplication.cpp:915
#16 0xb5b6e3c4 in sendEvent (event=0xbfea1e94, receiver=0xa15d150) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#17 QWidgetPrivate::setWinId (this=0xa15d168, id=0) at kernel/qwidget.cpp:1731
#18 0xb5bc7fb9 in QWidget::destroy (this=0xa15d150, destroyWindow=true, destroySubWindows=true) at kernel/qwidget_x11.cpp:1118
#19 0xb5b71290 in QWidget::~QWidget (this=0xa15d150, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1686
#20 0xb5f8761f in QFrame::~QFrame (this=0xa15d150, __in_chrg=<optimized out>) at widgets/qframe.cpp:240
#21 0xb6018598 in QAbstractScrollArea::~QAbstractScrollArea (this=0xa15d150, __in_chrg=<optimized out>) at widgets/qabstractscrollarea.cpp:521
#22 0xb60b5a9e in QAbstractItemView::~QAbstractItemView (this=0xa15d150, __in_chrg=<optimized out>) at itemviews/qabstractitemview.cpp:598
#23 0xb60d8e8f in QListView::~QListView (this=0xa15d150, __in_chrg=<optimized out>) at itemviews/qlistview.cpp:205
#24 0xb60d8ed2 in QListView::~QListView (this=0xa15d150, __in_chrg=<optimized out>) at itemviews/qlistview.cpp:207
#25 0xb698ba59 in QObjectPrivate::deleteChildren (this=0xa15bb68) at kernel/qobject.cpp:1908
#26 0xb5b71258 in QWidget::~QWidget (this=0xa1589c0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1677
#27 0xb5b715c2 in QWidget::~QWidget (this=0xa1589c0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1701
#28 0xb698ba59 in QObjectPrivate::deleteChildren (this=0xa159f20) at kernel/qobject.cpp:1908
#29 0xb5b71258 in QWidget::~QWidget (this=0xa159a70, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1677
#30 0xb7040331 in KCModule::~KCModule (this=0xa159a70, __in_chrg=<optimized out>) at ../../kdeui/widgets/kcmodule.cpp:193
#31 0xb1be0143 in ?? () from /usr/lib/kde4/kcm_ktp_accounts.so
#32 0xb1be0182 in ?? () from /usr/lib/kde4/kcm_ktp_accounts.so
#33 0xb6af9c2c in KCModuleProxy::deleteClient (this=0xa294b88) at ../../kutils/kcmoduleproxy.cpp:219
#34 0xb6af71d8 in KCMultiDialogPrivate::_k_dialogClosed (this=0xa27f300) at ../../kutils/kcmultidialog.cpp:201
#35 0xb698fed6 in QMetaObject::activate (sender=0xa2757d0, m=0x80a22f0 <KDialog::staticMetaObject>, local_signal_index=16, argv=0x0) at kernel/qobject.cpp:3547
#36 0xb6ee5715 in KDialog::finished (this=this@entry=0xa2757d0) at ./kdialog.moc:315
#37 0xb6ee5754 in KDialog::hideEvent (this=0xa2757d0, event=0xbfea2914) at ../../kdeui/dialogs/kdialog.cpp:998
#38 0xb5b77d69 in QWidget::event (this=0xa2757d0, event=0xbfea2914) at kernel/qwidget.cpp:8582
#39 0xb5b1e39c in QApplicationPrivate::notify_helper (this=0x9d6f908, receiver=0xa2757d0, e=0xbfea2914) at kernel/qapplication.cpp:4562
#40 0xb5b22e54 in QApplication::notify (this=0x9d6f908, receiver=0xa2757d0, e=0xbfea2914) at kernel/qapplication.cpp:4423
#41 0xb6f9a321 in KApplication::notify (this=0xbfea533c, receiver=0xa2757d0, event=0xbfea2914) at ../../kdeui/kernel/kapplication.cpp:311
#42 0xb697778e in QCoreApplication::notifyInternal (this=0xbfea533c, receiver=0xa2757d0, event=0xbfea2914) at kernel/qcoreapplication.cpp:915
#43 0xb5b785af in sendEvent (event=0xbfea2914, receiver=0xa2757d0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#44 QWidgetPrivate::hide_helper (this=this@entry=0xa2804d0) at kernel/qwidget.cpp:7637
#45 0xb5b7a810 in QWidget::setVisible (this=0xa2757d0, visible=false) at kernel/qwidget.cpp:7810
#46 0xb605e350 in QDialog::setVisible (this=0xa2757d0, visible=false) at dialogs/qdialog.cpp:793
#47 0xb5b70c28 in hide (this=<optimized out>) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:498
#48 QWidgetPrivate::close_helper (this=0xa2804d0, mode=QWidgetPrivate::CloseWithSpontaneousEvent) at kernel/qwidget.cpp:7945
#49 0xb5b952b6 in QETWidget::translateCloseEvent (this=this@entry=0xa2757d0) at kernel/qapplication_x11.cpp:5810
#50 0xb5bab59a in QApplication::x11ClientMessage (this=0xbfea533c, w=0xa2757d0, event=0xbfea2ddc, passive_only=false) at kernel/qapplication_x11.cpp:3192
#51 0xb5ba972a in QApplication::x11ProcessEvent (this=0xbfea533c, event=0xbfea2ddc) at kernel/qapplication_x11.cpp:3876
#52 0xb5bd4dc4 in x11EventSourceDispatch (s=0x9d69cb0, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#53 0xb4f639e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#54 0xb4f63d80 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#55 0xb4f63e61 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#56 0xb69a9981 in QEventDispatcherGlib::processEvents (this=0x9d238d8, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#57 0xb5bd49aa in QGuiEventDispatcherGlib::processEvents (this=0x9d238d8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#58 0xb697626c in QEventLoop::processEvents (this=this@entry=0xbfea30d8, flags=...) at kernel/qeventloop.cpp:149
#59 0xb6976561 in QEventLoop::exec (this=0xbfea30d8, flags=...) at kernel/qeventloop.cpp:204
#60 0xb605cd2d in QDialog::exec (this=0xa2757d0) at dialogs/qdialog.cpp:554
#61 0x0806379a in _start ()

Possible duplicates by query: bug 310939, bug 308844, bug 305931, bug 302972, bug 296373.

Reported using DrKonqi
Comment 1 Martin Klapetek 2013-02-05 12:38:20 UTC
This looks like KDE/Qt-wide problem, not much we can do... :/

*** This bug has been marked as a duplicate of bug 305931 ***
Comment 2 Christoph Feck 2013-02-24 00:42:04 UTC
Not a duplicate. This backtrace shows no mention of KAboutDialog.
Comment 3 Sven Brauch 2013-05-02 17:11:38 UTC
Git commit 0518aa05a2e8f9811cc323757e1f6fcacc759d41 by Sven Brauch.
Committed on 02/05/2013 at 19:06.
Pushed by brauch into branch 'master'.

Avoid warning messages when closing the settings dialog

KWidgetItemDelegate doesn't like it if its view is deleted before
the delegate itself. This happens though if the delegate is
parented to the dialog itself, since the dialog will delete the UI
in its destructor (thus deleting the view), but the delegate is only
deleted by ~QObject's deleteChildren() call (which happens later).
Parenting the delegates to the dialog's main layout instead
prevents the problem.
This might fix crash bug 314400, but it's not clear if it will.

M  +4    -2    src/kcm-telepathy-accounts.cpp

http://commits.kde.org/telepathy-accounts-kcm/0518aa05a2e8f9811cc323757e1f6fcacc759d41
Comment 4 Tsu Jan 2013-10-09 14:31:10 UTC
I encountered the same problem with ktp-accounts-kcm-0.6.3 and confirm that the above diff fixes the crash. Thanks!
Comment 5 David Edmundson 2013-10-09 15:05:32 UTC
*** Bug 325720 has been marked as a duplicate of this bug. ***