Version: (using KDE Devel) Installed from: Compiled sources I get frequent crashes while manipulating services in the "services preferences order" e.g: clicking "add", chosing a part in the list of services and applying works, but doing it twice in a row often crashes. Backtrace: 0xb4bddf9c in KServiceListWidget::addService (this=0x81197f0) at qlistwidget.h:84 84 { return data(Qt::DisplayRole).toString(); } (gdb) bt #0 0xb4bddf9c in KServiceListWidget::addService (this=0x81197f0) at qlistwidget.h:84 #1 0xb4bde5c2 in KServiceListWidget::qt_metacall (this=0x81197f0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbfffe030) at kservicelistwidget.moc:78 #2 0xb7369968 in QMetaObject::activate (sender=0x81560a8, from_signal_index=29, to_signal_index=30, argv=0xbfffe030) at kernel/qobject.cpp:3080 #3 0xb7369c2b in QMetaObject::activate (sender=0x81560a8, m=0xb70e8990, from_local_signal_index=2, to_local_signal_index=3, argv=0xbfffe030) at kernel/qobject.cpp:3162 #4 0xb7030da1 in QAbstractButton::clicked (this=0x81560a8, _t1=false) at .moc/debug-shared/moc_qabstractbutton.cpp:180 #5 0xb6ddff95 in QAbstractButtonPrivate::emitClicked (this=0x8155af8) at widgets/qabstractbutton.cpp:532 #6 0xb6ddff29 in QAbstractButtonPrivate::click (this=0x8155af8) at widgets/qabstractbutton.cpp:525 #7 0xb6de1485 in QAbstractButton::mouseReleaseEvent (this=0x81560a8, e=0xbfffe690) at widgets/qabstractbutton.cpp:1102 #8 0xb6b02868 in QWidget::event (this=0x81560a8, event=0xbfffe690) at kernel/qwidget.cpp:6129 #9 0xb6de12f0 in QAbstractButton::event (this=0x81560a8, e=0xbfffe690) at widgets/qabstractbutton.cpp:1064 #10 0xb6e83421 in QPushButton::event (this=0x81560a8, e=0xbfffe690) at widgets/qpushbutton.cpp:667 #11 0xb6ab7315 in QApplicationPrivate::notify_helper (this=0x8068df8, receiver=0x81560a8, e=0xbfffe690) at kernel/qapplication.cpp:3558 #12 0xb6ab6106 in QApplication::notify (this=0xbfffeeb0, receiver=0x81560a8, e=0xbfffe690) at kernel/qapplication.cpp:3257 #13 0xb7990624 in KApplication::notify (this=0xbfffeeb0, receiver=0x81560a8, event=0xbfffe690) at /home/germain/git/kdelibs/kdeui/kernel/kapplication.cpp:319 #14 0xb7354bd4 in QCoreApplication::notifyInternal (this=0xbfffeeb0, receiver=0x81560a8, event=0xbfffe690) at kernel/qcoreapplication.cpp:532 #15 0xb6ab858d in QCoreApplication::sendSpontaneousEvent (receiver=0x81560a8, event=0xbfffe690) at qcoreapplication.h:205 #16 0xb6b18a13 in QETWidget::translateMouseEvent (this=0x81560a8, event=0xbfffe9a0) at kernel/qapplication_x11.cpp:3866 s (this=0x8068f38, flags={i = 20}) ==10979== ==10979== Invalid read of size 4 ==10979== at 0x1F902F9C: KServiceListWidget::addService() (qlistwidget.h:84) ==10979== by 0x1F9035C1: KServiceListWidget::qt_metacall(QMetaObject::Call, int, void**) (kservicelistwidget.moc:78) ==10979== by 0x1C65C967: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3080) ==10979== by 0x1C65CC2A: QMetaObject::activate(QObject*, QMetaObject const*, int, int, void**) (qobject.cpp:3162) ==10979== by 0x1CFDADA0: QAbstractButton::clicked(bool) (moc_qabstractbutton.cpp:180) ==10979== by 0x1CD89F94: QAbstractButtonPrivate::emitClicked() (qabstractbutton.cpp:532) ==10979== by 0x1CD89F28: QAbstractButtonPrivate::click() (qabstractbutton.cpp:525) ==10979== by 0x1CD8B484: QAbstractButton::mouseReleaseEvent(QMouseEvent*) (qabstractbutton.cpp:1102) ==10979== by 0x1CAAC867: QWidget::event(QEvent*) (qwidget.cpp:6129) ==10979== by 0x1CD8B2EF: QAbstractButton::event(QEvent*) (qabstractbutton.cpp:1064) ==10979== by 0x1CE2D420: QPushButton::event(QEvent*) (qpushbutton.cpp:667) ==10979== by 0x1CA61314: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3558) ==10979== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==10979== ==10979== Process terminating with default action of signal 11 (SIGSEGV) ==10979== Access not within mapped region at address 0x0 ==10979== at 0x1F902F9C: KServiceListWidget::addService() (qlistwidget.h:84) ==10979== by 0x1F9035C1: KServiceListWidget::qt_metacall(QMetaObject::Call, int, void**) (kservicelistwidget.moc:78) ==10979== by 0x1C65C967: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3080) ==10979== by 0x1C65CC2A: QMetaObject::activate(QObject*, QMetaObject const*, int, int, void**) (qobject.cpp:3162) ==10979== by 0x1CFDADA0: QAbstractButton::clicked(bool) (moc_qabstractbutton.cpp:180) ==10979== by 0x1CD89F94: QAbstractButtonPrivate::emitClicked() (qabstractbutton.cpp:532) ==10979== by 0x1CD89F28: QAbstractButtonPrivate::click() (qabstractbutton.cpp:525) ==10979== by 0x1CD8B484: QAbstractButton::mouseReleaseEvent(QMouseEvent*) (qabstractbutton.cpp:1102) ==10979== by 0x1CAAC867: QWidget::event(QEvent*) (qwidget.cpp:6129) ==10979== by 0x1CD8B2EF: QAbstractButton::event(QEvent*) (qabstractbutton.cpp:1064) ==10979== by 0x1CE2D420: QPushButton::event(QEvent*) (qpushbutton.cpp:667) ==10979== by 0x1CA61314: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3558) ==
I made a large number of fixes to this code, especially in trunk. I think this crash cannot happen anymore (must have been when creating a new desktop file, and kbuildsycoca wasn't run properly because kded wasn't running -- r782150 in kdelibs). Ah, must backport.
SVN commit 782229 by dfaure: Run kbuildsycoca4 ourselves when we can't ask kded to do it for us BUG: 152332 M +11 -3 kbuildsycocaprogressdialog.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=782229