Version: 2.1.1 (using 4.1.1 (KDE 4.1.1), Gentoo) Compiler: i686-pc-linux-gnu-gcc OS: Linux (i686) release 2.6.25-gentoo-r7 Today I downloaded two files with kget. After both downloads were finished, I selected the first one by clicking on it (it expanded) and then selected the second one by hitting shift+down. KGet from KDE-4.1.1 then crashed with the backtrace below. Regrettably I am not able to reproduce this crash. Application: KGet (kget), signal SIGSEGV [Thread debugging using libthread_db enabled] [New Thread 0xb61a3700 (LWP 2340)] [KCrash handler] #6 0xb7d0c160 in QWidget::hide (this=0x82f65b0) at /usr/include/qt4/QtGui/qwidget.h:474 #7 0xb7d9e0c8 in KExtendableItemDelegate::Private::_k_verticalScroll ( this=0x81b3ec0) at /var/tmp/portage/kde-base/kdelibs-4.1.1/work/kdelibs-4.1.1/kdeui/itemviews/kextendableitemdelegate.cpp:158 #8 0xb7d9f24c in KExtendableItemDelegate::qt_metacall (this=0x81bba08, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbff2d27c) at /var/tmp/portage/kde-base/kdelibs-4.1.1/work/kdelibs_build/kdeui/kextendableitemdelegate.moc:77 #9 0x080716db in TransfersViewDelegate::qt_metacall (this=0x81bba08, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0xbff2d27c) at /var/tmp/portage/kde-base/kget-4.1.1/work/kget_build/kget/transfersviewdelegate.moc:159 #10 0xb75c0131 in QMetaObject::activate (sender=0x81040c0, from_signal_index=<value optimized out>, to_signal_index=27, argv=0xbff2d27c) at kernel/qobject.cpp:3007 #11 0xb75c2028 in QMetaObject::activate (sender=0x81040c0, m=0xb6fd84b4, local_signal_index=0, argv=0xbff2d27c) at kernel/qobject.cpp:3077 #12 0xb6e08449 in QAbstractSlider::valueChanged (this=0x81040c0, _t1=1) at .moc/debug-shared/moc_qabstractslider.cpp:161 #13 0xb6b63061 in QAbstractSlider::setValue (this=0x81040c0, value=1) at widgets/qabstractslider.cpp:533 #14 0xb6d298f1 in QTreeView::scrollTo (this=0x81a7600, index=@0x833df60, hint=QAbstractItemView::EnsureVisible) at itemviews/qtreeview.cpp:1149 #15 0xb6ce4cc8 in QAbstractItemView::currentChanged (this=0x81a7600, current=@0x833df60, previous=@0x80ae508) at itemviews/qabstractitemview.cpp:3044 #16 0xb6d1eb3d in QTreeView::currentChanged (this=0x81a7600, current=@0x833df60, previous=@0x80ae508) at itemviews/qtreeview.cpp:3704 #17 0xb6ce45e4 in QAbstractItemView::qt_metacall (this=0x81a7600, _c=QMetaObject::InvokeMetaMethod, _id=20, _a=0xbff2d568) at .moc/debug-shared/moc_qabstractitemview.cpp:227 #18 0xb6d2a14e in QTreeView::qt_metacall (this=0x81a7600, _c=QMetaObject::InvokeMetaMethod, _id=51, _a=0xbff2d568) at .moc/debug-shared/moc_qtreeview.cpp:119 #19 0x08070555 in TransfersView::qt_metacall (this=0x81a7600, _c=QMetaObject::InvokeMetaMethod, _id=51, _a=0xbff2d568) at /var/tmp/portage/kde-base/kget-4.1.1/work/kget_build/kget/transfersview.moc:60 #20 0xb75c0131 in QMetaObject::activate (sender=0x8166610, from_signal_index=<value optimized out>, to_signal_index=5, argv=0xbff2d568) at kernel/qobject.cpp:3007 #21 0xb75c2028 in QMetaObject::activate (sender=0x8166610, m=0xb6fd3a2c, local_signal_index=1, argv=0xbff2d568) at kernel/qobject.cpp:3077 #22 0xb6d329ed in QItemSelectionModel::currentChanged (this=0x8166610, _t1=@0x833df60, _t2=@0x80ae508) at .moc/debug-shared/moc_qitemselectionmodel.cpp:151 #23 0xb6d32b77 in QItemSelectionModel::setCurrentIndex (this=0x8166610, index=@0x833df60, command={i = -1074603956}) at itemviews/qitemselectionmodel.cpp:1088 #24 0xb6cdd2b4 in QAbstractItemView::keyPressEvent (this=0x81a7600, event=0xbff2de1c) at itemviews/qabstractitemview.cpp:2040 #25 0xb6d2921d in QTreeView::keyPressEvent (this=0x81a7600, event=0xbff2de1c) at itemviews/qtreeview.cpp:1865 #26 0xb6873086 in QWidget::event (this=0x81a7600, event=0xbff2de1c) at kernel/qwidget.cpp:7056 #27 0xb6bae193 in QFrame::event (this=0x81a7600, e=0xbff2de1c) at widgets/qframe.cpp:657 #28 0xb6c4141d in QAbstractScrollArea::event (this=0x81a7600, e=0xbff2de1c) at widgets/qabstractscrollarea.cpp:903 #29 0xb6cdc27e in QAbstractItemView::event (this=0x81a7600, event=0xbff2de1c) at itemviews/qabstractitemview.cpp:1373 #30 0xb681af1b in QApplicationPrivate::notify_helper (this=0x80b22b8, receiver=0x81a7600, e=0xbff2de1c) at kernel/qapplication.cpp:3800 #31 0xb6822a2b in QApplication::notify (this=0xbff2e700, receiver=0x81a7600, e=0xbff2de1c) at kernel/qapplication.cpp:3446 #32 0xb7dbbce9 in KApplication::notify (this=0xbff2e700, receiver=0x81a7600, event=0xbff2de1c) at /var/tmp/portage/kde-base/kdelibs-4.1.1/work/kdelibs-4.1.1/kdeui/kernel/kapplication.cpp:311 #33 0xb75a9771 in QCoreApplication::notifyInternal (this=0xbff2e700, receiver=0x81a7600, event=0xbff2de1c) at kernel/qcoreapplication.cpp:591 #34 0xb687b71c in qt_sendSpontaneousEvent (receiver=0x81a7600, event=0x2) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218 #35 0xb68acc8b in QKeyMapper::sendKeyEvent (keyWidget=0x81a7600, grab=false, type=QEvent::KeyPress, code=16777237, modifiers={i = -1074601764}, text=@0xbff2e108, autorepeat=<value optimized out>, count=1, nativeScanCode=116, nativeVirtualKey=65364, nativeModifiers=1) at kernel/qkeymapper_x11.cpp:1658 #36 0xb68aebb2 in QKeyMapperPrivate::translateKeyEvent (this=0x80cc798, keyWidget=0x81a7600, event=0xbff2e578, grab=176) at kernel/qkeymapper_x11.cpp:1629 #37 0xb6889d62 in QApplication::x11ProcessEvent (this=0xbff2e700, event=0xbff2e578) at kernel/qapplication_x11.cpp:3059 #38 0xb68b035d in QEventDispatcherX11::processEvents (this=0x80b2370, flags= {i = -1074600424}) at kernel/qeventdispatcher_x11.cpp:134 #39 0xb75a8300 in QEventLoop::processEvents (this=0xbff2e690, flags= {i = -1074600360}) at kernel/qeventloop.cpp:149 #40 0xb75a84a2 in QEventLoop::exec (this=0xbff2e690, flags={i = -1074600296}) at kernel/qeventloop.cpp:200 #41 0xb75aa8bf in QCoreApplication::exec () at kernel/qcoreapplication.cpp:849 #42 0xb681acb3 in QApplication::exec () at kernel/qapplication.cpp:3330 #43 0x080907fe in main (argc=3, argv=0xbff2e8e4) at /var/tmp/portage/kde-base/kget-4.1.1/work/kget-4.1.1/kget/main.cpp:153 #0 0xffffe424 in __kernel_vsyscall ()
This bug is most probably already fixed in trunk. If you can verify, we could also backport it to the KDE 4.1 branch. SVN commit 858415 by ahartmetz: - Do not treat about-to-be-deleted extenders as still present, hopefully fixing hard to reproduce bugs in KGet. - Properly document that the delegate takes ownership of extenders.
Hi, regrettably the current kdelibs SVN checkout fails to compile on my machine. So currently I cannot verify if this bug is still valid in trunk. However, if I manage to compile some trunk version in the future I'll see if this bug is still valid (and if so, I'll just reopen this one)
Hi, not sure if it is still helpful, but I just wanted to say that this bug indeed seems to have been fixed in trunk (perhaps by commit 858415). So backporting that fix might be a reasonable idea.
SVN commit 874881 by uwolfer: Backport: SVN commit 858415 by ahartmetz: - Do not treat about-to-be-deleted extenders as still present, hopefully fixing hard to reproduce bugs in KGet. - Properly document that the delegate takes ownership of extenders. CCBUG:170598 M +9 -7 kextendableitemdelegate.cpp M +4 -3 kextendableitemdelegate.h WebSVN link: http://websvn.kde.org/?view=rev&revision=874881