Bug 323821

Summary: ktp-accounts-kcm crashed when trying to import kopete logs
Product: [Unmaintained] telepathy Reporter: nine
Component: common-internalsAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: ddomenichelli
Priority: NOR Keywords: drkonqi
Version: 0.6.3   
Target Milestone: Future   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 0.7.0
Sentry Crash Report:

Description nine 2013-08-21 07:38:10 UTC
Application: kcmshell4 (4.11.00)
KDE Platform Version: 4.11.00
Qt Version: 4.8.5
Operating System: Linux 3.11.0-rc5-2.gadcd98b-desktop x86_64
Distribution: "openSUSE 12.3 (x86_64)"

-- Information about the crash:
I was setting up a new Jabber account in telephathy-kde's kcm. It reported correctly that there are kopete logs for this account and offered to import them. After a few seconds a message came that the logs are invalid (though they work with kopete just fine) and after clicking ok on the message dialog, the kcm crashed.

The crash can be reproduced every time.

-- Backtrace:
Application: KDE Control Module (kcmshell4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fcb95fa3780 (LWP 31722))]

Thread 2 (Thread 0x7fcb78ea4700 (LWP 31763)):
[KCrash Handler]
#5  size (this=0x28841e0) at ../../src/corelib/tools/qstring.h:102
#6  QString::startsWith (this=0x7fcb78ea3910, s=..., cs=Qt::CaseSensitive) at tools/qstring.cpp:3460
#7  0x00007fcb7bea97b8 in KTp::LogsImporter::Private::convertKopeteMessage (this=this@entry=0x28841c0, kopeteMessage=...) at /usr/src/debug/ktp-common-internals-0.6.3/KTp/logs-importer-private.cpp:265
#8  0x00007fcb7beaa9c1 in KTp::LogsImporter::Private::convertKopeteLog (this=this@entry=0x28841c0, filepath=...) at /usr/src/debug/ktp-common-internals-0.6.3/KTp/logs-importer-private.cpp:367
#9  0x00007fcb7beab9bf in KTp::LogsImporter::Private::run (this=0x28841c0) at /usr/src/debug/ktp-common-internals-0.6.3/KTp/logs-importer-private.cpp:57
#10 0x00007fcb94b130ec in QThreadPrivate::start (arg=0x28841c0) at thread/qthread_unix.cpp:338
#11 0x00007fcb9487ce0f in start_thread () from /lib64/libpthread.so.0
#12 0x00007fcb935f27dd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fcb95fa3780 (LWP 31722)):
#0  0x00007fcb935eb623 in select () from /lib64/libc.so.6
#1  0x00007fcb94c3a963 in qt_safe_select (nfds=14, fdread=0x7fffa3e8c120, fdwrite=0x7fffa3e8c1a0, fdexcept=0x0, orig_timeout=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007fcb94be9382 in select_msecs (fdwrite=<optimized out>, fdread=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at io/qprocess_unix.cpp:1008
#3  select_msecs (nfds=<optimized out>, fdread=<optimized out>, fdwrite=<optimized out>, timeout=<optimized out>) at io/qprocess_unix.cpp:1005
#4  0x00007fcb94beabf6 in QProcessPrivate::waitForFinished (this=0x27c95d0, msecs=-1) at io/qprocess_unix.cpp:1229
#5  0x00007fcb94ba4c6e in QProcess::waitForFinished (this=this@entry=0x7fffa3e8c2b0, msecs=msecs@entry=-1) at io/qprocess.cpp:1759
#6  0x00007fcb94ba7370 in QProcess::execute (program=..., arguments=...) at io/qprocess.cpp:2159
#7  0x00007fcb950c50e2 in KToolInvocation::startKdeinit() () from /usr/lib64/libkdecore.so.5
#8  0x00007fcb950c5290 in KToolInvocation::klauncher() () from /usr/lib64/libkdecore.so.5
#9  0x00007fcb950c5482 in KToolInvocation::startServiceInternal(char const*, QString const&, QStringList const&, QString*, QString*, int*, QByteArray const&, bool, QString const&) () from /usr/lib64/libkdecore.so.5
#10 0x00007fcb950c6134 in KToolInvocation::startServiceByDesktopPath(QString const&, QStringList const&, QString*, QString*, int*, QByteArray const&, bool) () from /usr/lib64/libkdecore.so.5
#11 0x00007fcb95abb463 in ?? () from /usr/lib64/libkdeui.so.5
#12 0x00007fcb95abd71a in KWallet::Wallet::~Wallet() () from /usr/lib64/libkdeui.so.5
#13 0x00007fcb95abd889 in KWallet::Wallet::~Wallet() () from /usr/lib64/libkdeui.so.5
#14 0x00007fcb7beba73a in cleanup (pointer=<optimized out>) at /usr/include/QtCore/qscopedpointer.h:62
#15 ~QScopedPointer (this=0x27ac110, __in_chrg=<optimized out>) at /usr/include/QtCore/qscopedpointer.h:100
#16 ~WalletInterfacePrivate (this=0x27ac100, __in_chrg=<optimized out>) at /usr/src/debug/ktp-common-internals-0.6.3/KTp/wallet-interface.cpp:28
#17 KTp::WalletInterfacePrivate::~WalletInterfacePrivate (this=0x27ac100, __in_chrg=<optimized out>) at /usr/src/debug/ktp-common-internals-0.6.3/KTp/wallet-interface.cpp:28
#18 0x00007fcb7beb7099 in KTp::WalletInterface::~WalletInterface (this=0x27e0040, __in_chrg=<optimized out>) at /usr/src/debug/ktp-common-internals-0.6.3/KTp/wallet-interface.cpp:101
#19 0x00007fcb93541f61 in __run_exit_handlers () from /lib64/libc.so.6
#20 0x00007fcb93541fe5 in exit () from /lib64/libc.so.6
#21 0x00007fcb93e05868 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:772
#22 0x00007fcb959add58 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib64/libkdeui.so.5
#23 0x00007fcb95481bce in _XIOError () from /usr/lib64/libX11.so.6
#24 0x00007fcb9547fbac in _XReply () from /usr/lib64/libX11.so.6
#25 0x00007fcb95465701 in XGetWindowProperty () from /usr/lib64/libX11.so.6
#26 0x00007fcb93e28e43 in GetMWMHints (display=<optimized out>, window=<optimized out>) at kernel/qwidget_x11.cpp:148
#27 0x00007fcb93e2b29d in QWidgetPrivate::setConstraints_sys (this=<optimized out>) at kernel/qwidget_x11.cpp:2691
#28 0x00007fcb93de8648 in QWidget::setMinimumSize (this=0x2343d50, minw=529, minh=219) at kernel/qwidget.cpp:4007
#29 0x00007fcb93dc5af0 in setMinimumSize (s=<synthetic pointer>, this=0x2343d50) at ../../src/gui/kernel/qwidget.h:970
#30 QLayout::activate (this=0x23ca150) at kernel/qlayout.cpp:1252
#31 0x00007fcb93dedb3f in QWidget::setVisible (this=0x253cd40, visible=<optimized out>) at kernel/qwidget.cpp:7750
#32 0x00007fcb7c9d46af in ?? () from /usr/lib64/kde4/kcm_ktp_accounts.so
#33 0x00007fcb94c2444f in QMetaObject::activate (sender=0x2362f20, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffa3e8cdf0) at kernel/qobject.cpp:3556
#34 0x00007fcb94c6ed04 in QAbstractItemModel::rowsInserted (this=<optimized out>, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:196
#35 0x00007fcb94c097ad in QAbstractItemModel::endInsertRows (this=0x2362f20) at kernel/qabstractitemmodel.cpp:2433
#36 0x00007fcb7bc5c65a in KTp::AccountsListModel::onAccountAdded (this=0x2362f20, account=...) at /usr/src/debug/ktp-common-internals-0.6.3/KTp/Models/accounts-list-model.cpp:200
#37 0x00007fcb94c2444f in QMetaObject::activate (sender=0x2568420, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffa3e8d0a0) at kernel/qobject.cpp:3556
#38 0x00007fcb7c1beac2 in Tp::AccountSet::accountAdded(Tp::SharedPtr<Tp::Account> const&) () from /usr/lib64/libtelepathy-qt4.so.2
#39 0x00007fcb7c1bf6c3 in ?? () from /usr/lib64/libtelepathy-qt4.so.2
#40 0x00007fcb7c1bf93c in ?? () from /usr/lib64/libtelepathy-qt4.so.2
#41 0x00007fcb94c2444f in QMetaObject::activate (sender=0x253c740, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffa3e8d2d0) at kernel/qobject.cpp:3556
#42 0x00007fcb7c1b54c2 in Tp::AccountManager::newAccount(Tp::SharedPtr<Tp::Account> const&) () from /usr/lib64/libtelepathy-qt4.so.2
#43 0x00007fcb7c1b8d52 in ?? () from /usr/lib64/libtelepathy-qt4.so.2
#44 0x00007fcb94c2444f in QMetaObject::activate (sender=0x244aed0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffa3e8d4a0) at kernel/qobject.cpp:3556
#45 0x00007fcb7c392def in Tp::PendingOperation::finished(Tp::PendingOperation*) () from /usr/lib64/libtelepathy-qt4.so.2
#46 0x00007fcb7c392ed1 in ?? () from /usr/lib64/libtelepathy-qt4.so.2
#47 0x00007fcb94c2392e in QObject::event (this=0x244aed0, e=<optimized out>) at kernel/qobject.cpp:1203
#48 0x00007fcb93d9b92c in QApplicationPrivate::notify_helper (this=this@entry=0x21cb300, receiver=receiver@entry=0x244aed0, e=e@entry=0x27b36f0) at kernel/qapplication.cpp:4562
#49 0x00007fcb93d9fdab in QApplication::notify (this=0x7fffa3e8f670, receiver=0x244aed0, e=0x27b36f0) at kernel/qapplication.cpp:4423
#50 0x00007fcb959aef76 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#51 0x00007fcb94c0ef3e in QCoreApplication::notifyInternal (this=0x7fffa3e8f670, receiver=receiver@entry=0x244aed0, event=event@entry=0x27b36f0) at kernel/qcoreapplication.cpp:949
#52 0x00007fcb94c128a1 in sendEvent (event=0x27b36f0, receiver=0x244aed0) at kernel/qcoreapplication.h:231
#53 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x21012b0) at kernel/qcoreapplication.cpp:1573
#54 0x00007fcb94c3d423 in sendPostedEvents () at kernel/qcoreapplication.h:236
#55 postEventSourceDispatch (s=0x21cc380) at kernel/qeventdispatcher_glib.cpp:280
#56 0x00007fcb905367d5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#57 0x00007fcb90536b08 in ?? () from /usr/lib64/libglib-2.0.so.0
#58 0x00007fcb90536bc4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#59 0x00007fcb94c3d5b6 in QEventDispatcherGlib::processEvents (this=0x2107790, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#60 0x00007fcb93e3be0e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#61 0x00007fcb94c0dbef in QEventLoop::processEvents (this=this@entry=0x7fffa3e8ddc0, flags=...) at kernel/qeventloop.cpp:149
#62 0x00007fcb94c0de78 in QEventLoop::exec (this=0x7fffa3e8ddc0, flags=...) at kernel/qeventloop.cpp:204
#63 0x00007fcb942507a8 in QDialog::exec (this=0x7fffa3e8de20) at dialogs/qdialog.cpp:562
#64 0x00007fcb7c9d51cd in ?? () from /usr/lib64/kde4/kcm_ktp_accounts.so
#65 0x00007fcb94c2444f in QMetaObject::activate (sender=0x2533cb0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffa3e8dfc0) at kernel/qobject.cpp:3556
#66 0x00007fcb94401582 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:219
#67 0x00007fcb94155b2e in QAbstractButtonPrivate::emitClicked (this=this@entry=0x2470770) at widgets/qabstractbutton.cpp:548
#68 0x00007fcb94156360 in QAbstractButtonPrivate::click (this=this@entry=0x2470770) at widgets/qabstractbutton.cpp:541
#69 0x00007fcb941565cc in QAbstractButton::mouseReleaseEvent (this=0x2533cb0, e=0x7fffa3e8e860) at widgets/qabstractbutton.cpp:1123
#70 0x00007fcb93deb3f9 in QWidget::event (this=0x2533cb0, event=0x7fffa3e8e860) at kernel/qwidget.cpp:8376
#71 0x00007fcb93d9b92c in QApplicationPrivate::notify_helper (this=this@entry=0x21cb300, receiver=receiver@entry=0x2533cb0, e=e@entry=0x7fffa3e8e860) at kernel/qapplication.cpp:4562
#72 0x00007fcb93da060b in QApplication::notify (this=<optimized out>, receiver=0x2533cb0, e=0x7fffa3e8e860) at kernel/qapplication.cpp:4105
#73 0x00007fcb959aef76 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#74 0x00007fcb94c0ef3e in QCoreApplication::notifyInternal (this=0x7fffa3e8f670, receiver=0x2533cb0, event=0x7fffa3e8e860) at kernel/qcoreapplication.cpp:949
#75 0x00007fcb93d9c76b in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:231
#76 QApplicationPrivate::sendMouseEvent (receiver=0x2533cb0, event=0x7fffa3e8e860, alienWidget=0x2533cb0, nativeWidget=0x2343d50, buttonDown=0x7fcb94871288 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3173
#77 0x00007fcb93e17074 in QETWidget::translateMouseEvent (this=this@entry=0x2343d50, event=event@entry=0x7fffa3e8efd0) at kernel/qapplication_x11.cpp:4528
#78 0x00007fcb93e15e01 in QApplication::x11ProcessEvent (this=0x7fffa3e8f670, event=0x7fffa3e8efd0) at kernel/qapplication_x11.cpp:3651
#79 0x00007fcb93e3c192 in x11EventSourceDispatch (s=0x21d1520, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#80 0x00007fcb905367d5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#81 0x00007fcb90536b08 in ?? () from /usr/lib64/libglib-2.0.so.0
#82 0x00007fcb90536bc4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#83 0x00007fcb94c3d5b6 in QEventDispatcherGlib::processEvents (this=0x2107790, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#84 0x00007fcb93e3be0e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#85 0x00007fcb94c0dbef in QEventLoop::processEvents (this=this@entry=0x7fffa3e8f3b0, flags=...) at kernel/qeventloop.cpp:149
#86 0x00007fcb94c0de78 in QEventLoop::exec (this=0x7fffa3e8f3b0, flags=...) at kernel/qeventloop.cpp:204
#87 0x00007fcb942507a8 in QDialog::exec (this=0x2343d50) at dialogs/qdialog.cpp:562
#88 0x00007fcb81f1731c in kdemain () from /usr/lib64/libkdeinit4_kcmshell4.so
#89 0x000000000040889a in _start ()

Reported using DrKonqi
Comment 1 Daniel Vrátil 2013-08-22 12:50:08 UTC
Git commit 6ef449827a9f9c9dc3c4c1fb0b601a273fdd7a30 by Dan Vrátil.
Committed on 22/08/2013 at 12:44.
Pushed by dvratil into branch 'kde-telepathy-0.6'.

Don't stop logs import on error

Documentation to KTp::LogsImporter clearly states that when error() signal,
the import can still continue importing further logs, so we should not
quit in onError() slot.

REVIEW: 112189
FIXED-IN: 0.6.4

M  +5    -9    src/kcm-telepathy-accounts.cpp

http://commits.kde.org/telepathy-accounts-kcm/6ef449827a9f9c9dc3c4c1fb0b601a273fdd7a30