Version: 4.4 branch: r1085604 (using KDE 4.4.0) Compiler: gcc 4.4.3 OS: Linux Installed from: Compiled From Sources I think this is probably a KCategorizedView bug, actually, but it could potentially be a usage issue, so I'll report it against KRunner first. Running latest 4.4 branch. I opened KRunner, clicked on the spanner to get the list of plugins, scrolled down a short way, and started to type "amarok" into the search field. It got as far as "a", then froze, using 100% CPU. Note that this doesn't happen if the list is not scrolled. It happens everytime if I scroll a short way down first. GDB has the backtrace below in thread 1. Where it's getting stuck is in KCategorizedView::Private::highestElementInLastRow, the Q_FOREVER construct. prevIndex is -1, which means that when it tries to get the previous index, it stays as -1. So it never hits the "prevIndex == block.firstIndex" escape clause. And tempRect.topLeft().y() == 0, prevRect.topLeft().y() == -17, so it never hits that escape clause either. The block argument to highestElementInLastRow has firstIndex.row() == 0, items.count() == 1. So lastIndex.row() == 0. q->rootIndex() appears to be invalid when I check it with GDB. proxyModel->index(0, q->modelColumn(), q->rootIndex()) gives index (0, 0), to presumeably prevIndex starts out at (0, 0) before the loop is entered, then moves back to the invalid index. #0 KCategorizedView::Private::highestElementInLastRow (this=0x1b0f780, block=...) at /home/kde-devel/src/KDE/kdelibs/kdeui/itemviews/kcategorizedview.cpp:351 #1 0x00007fa74cfdf977 in KCategorizedView::Private::blockHeight ( this=0x1b0f780, category=...) at /home/kde-devel/src/KDE/kdelibs/kdeui/itemviews/kcategorizedview.cpp:232 #2 0x00007fa74cfe35ac in KCategorizedView::paintEvent (this=0x16932d0, event=0x7fff6a2331f0) at /home/kde-devel/src/KDE/kdelibs/kdeui/itemviews/kcategorizedview.cpp:809 #3 0x00007fa74b572ea5 in QWidget::event (this=0x16932d0, event=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:8124 #4 0x00007fa74b9d74d7 in QFrame::event (this=0x16932d0, e=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/gui/widgets/qframe.cpp:557 #5 0x00007fa74ba7cabd in QAbstractScrollArea::viewportEvent (this=0x16932d0, e=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/gui/widgets/qabstractscrollarea.cpp:1036 #6 0x00007fa74bb29b39 in QAbstractItemView::viewportEvent (this=0x16932d0, event=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/gui/itemviews/qabstractitemview.cpp:1603 #7 0x00007fa74ba7d793 in QAbstractScrollAreaPrivate::viewportEvent ( this=0x1bc5020, event=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/gui/widgets/qabstractscrollarea_p.h:100 #8 0x00007fa74ba7d858 in QAbstractScrollAreaFilter::eventFilter ( this=0x1864640, o=0x164ccc0, e=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/gui/widgets/qabstractscrollarea_p.h:116 #9 0x00007fa74c7d5011 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x1502290, receiver=0x164ccc0, event=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/corelib/kernel/qcoreapplication.cpp:819 #10 0x00007fa74b50bc41 in QApplicationPrivate::notify_helper (this=0x1502290, receiver=0x164ccc0, e=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/gui/kernel/qapplication.cpp:4293 #11 0x00007fa74b50babc in QApplication::notify (this=0x1501f50, receiver=0x164ccc0, e=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/gui/kernel/qapplication.cpp:4262 #12 0x00007fa74d0071af in KApplication::notify (this=0x1501f50, receiver=0x164ccc0, event=0x7fff6a2331f0) at /home/kde-devel/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302 #13 0x00007fa74c7d4d31 in QCoreApplication::notifyInternal (this=0x1501f50, receiver=0x164ccc0, event=0x7fff6a2331f0) at /home/kde-devel/src/qt/src/corelib/kernel/qcoreapplication.cpp:704 #14 0x00007fa74b50e06f in QCoreApplication::sendSpontaneousEvent ( receiver=0x164ccc0, event=0x7fff6a2331f0) at ../../include/QtCore/../../../src/qt/src/corelib/kernel/qcoreapplication.h:218 #15 0x00007fa74b56b60c in QWidgetPrivate::drawWidget (this=0x16de910, pdev=0x1663e18, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5321 #16 0x00007fa74b56bf7e in QWidgetPrivate::paintSiblingsRecursive ( this=0x1bc5020, pdev=0x1663e18, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5434 #17 0x00007fa74b56baa7 in QWidgetPrivate::drawWidget (this=0x1bc5020, pdev=0x1663e18, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5370 #18 0x00007fa74b56bf7e in QWidgetPrivate::paintSiblingsRecursive ( this=0x7fa72407af50, pdev=0x1663e18, siblings=..., index=2, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5434 #19 0x00007fa74b56baa7 in QWidgetPrivate::drawWidget (this=0x7fa72407af50, pdev=0x1663e18, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5370 #20 0x00007fa74b56bf7e in QWidgetPrivate::paintSiblingsRecursive ( this=0x7fa72407a480, pdev=0x1663e18, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5434 #21 0x00007fa74b56baa7 in QWidgetPrivate::drawWidget (this=0x7fa72407a480, pdev=0x1663e18, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5370 #22 0x00007fa74b56bf7e in QWidgetPrivate::paintSiblingsRecursive ( this=0x7fa7240c66d0, pdev=0x1663e18, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5434 #23 0x00007fa74b56be02 in QWidgetPrivate::paintSiblingsRecursive ( this=0x7fa7240c66d0, pdev=0x1663e18, siblings=..., index=0, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5421 #24 0x00007fa74b56baa7 in QWidgetPrivate::drawWidget (this=0x7fa7240c66d0, pdev=0x1663e18, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5370 #25 0x00007fa74b56bf7e in QWidgetPrivate::paintSiblingsRecursive ( this=0x164c720, pdev=0x1663e18, siblings=..., index=2, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5434 #26 0x00007fa74b56baa7 in QWidgetPrivate::drawWidget (this=0x164c720, pdev=0x1663e18, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5370 #27 0x00007fa74b56bf7e in QWidgetPrivate::paintSiblingsRecursive ( this=0x164c1c0, pdev=0x1663e18, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5434 #28 0x00007fa74b56baa7 in QWidgetPrivate::drawWidget (this=0x164c1c0, pdev=0x1663e18, rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0x1643850) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:5370 #29 0x00007fa74b77ff35 in QWidgetBackingStore::sync (this=0x1643850) at /home/kde-devel/src/qt/src/gui/painting/qbackingstore.cpp:1291 #30 0x00007fa74b562451 in QWidgetPrivate::syncBackingStore (this=0x164c1c0) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:1663 #31 0x00007fa74b5734fc in QWidget::event (this=0x1668a20, event=0x1cc4940) at /home/kde-devel/src/qt/src/gui/kernel/qwidget.cpp:8271 #32 0x00007fa7408f46df in KRunnerDialog::event (this=0x1668a20, event=0x1cc4940) at /home/kde-devel/src/KDE/kdebase/workspace/krunner/krunnerdialog.cpp:331 #33 0x00007fa74b50bc6a in QApplicationPrivate::notify_helper (this=0x1502290, receiver=0x1668a20, e=0x1cc4940) at /home/kde-devel/src/qt/src/gui/kernel/qapplication.cpp:4297 [event loop]
Fixed in r1181738 and r1181739.
*** Bug 238819 has been marked as a duplicate of this bug. ***
k3b still crashes when opening settings dialog because of this bug. will the patch be ported back to kdelibs 4.5.2 (currently 4.5.2-310.1) ?