Bug 261350 - KGet crashes when trying to remove all completed tasks
Summary: KGet crashes when trying to remove all completed tasks
Status: RESOLVED FIXED
Alias: None
Product: kget
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KGet authors
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-27 08:41 UTC by Joshua Mendoza
Modified: 2010-12-30 13:33 UTC (History)
1 user (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 Joshua Mendoza 2010-12-27 08:41:08 UTC
Application: kget (2.5.4)
KDE Platform Version: 4.5.4 (KDE 4.5.4)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-24-generic x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
I tried to remove all finished tasks (those showing 100% of progress) but when I clicked "Remove All Finished" it suddenly crashed. Although, the second time I tried this (in other kget instance) there is no problem. I don't know why it crashes just like that but this behavior has happened repeatedly.

The crash can be reproduced some of the time.

-- Backtrace:
Application: KGet (kget), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fba9e797760 (LWP 1917))]

Thread 2 (Thread 0x7fba8846d700 (LWP 5788)):
#0  0x00007fba9a112203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fba95971009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fba9597145c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fba9b9d71e6 in QEventDispatcherGlib::processEvents (this=0x23704f0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007fba9b9a9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fba9b9a9dec in QEventLoop::exec (this=0x7fba8846cdb0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fba9b8b42fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007fba9b9895f8 in QInotifyFileSystemWatcherEngine::run (this=0x21eeb20) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fba9b8b727e in QThreadPrivate::start (arg=0x21eeb20) at thread/qthread_unix.cpp:266
#9  0x00007fba9cbe5971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007fba9a11e92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fba9e797760 (LWP 1917)):
[KCrash Handler]
#6  0x000000000043c8ac in TransfersViewDelegate::sizeHint (this=0x1f0a7b0, option=..., index=...) at ../../kget/ui/transfersviewdelegate.cpp:430
#7  0x00007fba9b26ab9e in QAbstractItemView::sizeHintForRow (this=<value optimized out>, row=<value optimized out>) at itemviews/qabstractitemview.cpp:2959
#8  0x00007fba9b2a8d7f in QTreeView::scrollContentsBy (this=0x1eec040, dx=0, dy=2700) at itemviews/qtreeview.cpp:2390
#9  0x00007fba9b1c1d50 in QAbstractScrollArea::qt_metacall (this=0x1eec040, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fffa86d2140) at .moc/release-shared/moc_qabstractscrollarea.cpp:85
#10 0x00007fba9b2670b5 in QAbstractItemView::qt_metacall (this=0x1de9af0, _c=4294967295, _id=-1469243872, _a=0xffffffff) at .moc/release-shared/moc_qabstractitemview.cpp:213
#11 0x00007fba9b2b0425 in QTreeView::qt_metacall (this=0x1de9af0, _c=4294967295, _id=-1469243872, _a=0xffffffff) at .moc/release-shared/moc_qtreeview.cpp:119
#12 0x000000000043bd75 in TransfersView::qt_metacall (this=0x1de9af0, _c=4294967295, _id=-1469243872, _a=0xffffffff) at ./transfersview.moc:91
#13 0x00007fba9b9c2b27 in QMetaObject::activate (sender=0x1eddd80, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffff) at kernel/qobject.cpp:3280
#14 0x00007fba9b3ef9ee in QAbstractSlider::valueChanged (this=0x1de9af0, _t1=0) at .moc/release-shared/moc_qabstractslider.cpp:182
#15 0x00007fba9b2a6bf0 in QTreeViewPrivate::updateScrollBars (this=0x1ee85e0) at itemviews/qtreeview.cpp:3472
#16 0x00007fba9b2a7034 in QTreeView::updateGeometries (this=0x1eec040) at itemviews/qtreeview.cpp:2686
#17 0x00007fba9b25d929 in QAbstractItemView::doItemsLayout (this=0x1eec040) at itemviews/qabstractitemview.cpp:1139
#18 0x00007fba9b2ad8de in QTreeView::doItemsLayout (this=0x1eec040) at itemviews/qtreeview.cpp:2027
#19 0x00007fba9b2a8944 in executePostedLayout (this=0x1eec040, index=...) at ../../include/QtGui/private/../../../src/gui/itemviews/qabstractitemview_p.h:212
#20 QTreeView::visualRect (this=0x1eec040, index=...) at itemviews/qtreeview.cpp:1047
#21 0x00007fba9b26a4f7 in QAbstractItemView::updateEditorGeometries (this=0x1eec040) at itemviews/qabstractitemview.cpp:2589
#22 0x00007fba9b25c50c in QAbstractItemViewPrivate::_q_rowsRemoved (this=<value optimized out>) at itemviews/qabstractitemview.cpp:3253
#23 0x00007fba9b2a0fb0 in QTreeView::rowsRemoved (this=<value optimized out>, parent=..., start=0, end=124) at itemviews/qtreeview.cpp:2508
#24 0x00007fba9b2b0613 in QTreeView::qt_metacall (this=0x1eec040, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa86d27d0) at .moc/release-shared/moc_qtreeview.cpp:139
#25 0x000000000043bd75 in TransfersView::qt_metacall (this=0x1de9af0, _c=4294967295, _id=-1469243872, _a=0xffffffff) at ./transfersview.moc:91
#26 0x00007fba9b9c2b27 in QMetaObject::activate (sender=0x1de9af0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffff) at kernel/qobject.cpp:3280
#27 0x00007fba9ba0e104 in QAbstractItemModel::rowsRemoved (this=0x1de9af0, _t1=<value optimized out>, _t2=0, _t3=124) at .moc/release-shared/moc_qabstractitemmodel.cpp:195
#28 0x00007fba9b9a6187 in QAbstractItemModel::endRemoveRows (this=0x1de9af0) at kernel/qabstractitemmodel.cpp:2467
#29 0x00007fba9b3035c9 in QStandardItemModel::removeRows (this=<value optimized out>, row=0, count=125, parent=<value optimized out>) at itemviews/qstandarditemmodel.cpp:2800
#30 0x00007fba9d83e839 in TransferTreeModel::delTransfers (this=<value optimized out>, t=<value optimized out>) at ../../kget/core/transfertreemodel.cpp:303
#31 0x00007fba9d82bdd2 in KGet::delTransfers (handlers=<value optimized out>) at ../../kget/core/kget.cpp:372
#32 0x000000000049c94d in MainWindow::slotDeleteFinished (this=<value optimized out>) at ../../kget/mainwindow.cpp:707
#33 0x00000000004a5ccd in MainWindow::qt_metacall (this=0x1db9680, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffa86d2c60) at ./mainwindow.moc:176
#34 0x00007fba9b9c2b27 in QMetaObject::activate (sender=0x1de6f00, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffff) at kernel/qobject.cpp:3280
#35 0x00007fba9ad0a852 in QAction::triggered (this=0x1de9af0, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#36 0x00007fba9ad0bf5b in QAction::activate (this=0x1de6f00, event=<value optimized out>) at kernel/qaction.cpp:1256
#37 0x00007fba9b172dc1 in QMenuPrivate::activateCausedStack (this=<value optimized out>, causedStack=..., action=0x1de6f00, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:993
#38 0x00007fba9b178782 in QMenuPrivate::activateAction (this=0x1eeef30, action=0x1de6f00, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1085
#39 0x00007fba9e2852ae in KMenu::mouseReleaseEvent (this=0x1ef81e0, e=0xffffffff) at ../../kdeui/widgets/kmenu.cpp:471
#40 0x00007fba9ad6804e in QWidget::event (this=0x1ef81e0, event=0x7fffa86d38b0) at kernel/qwidget.cpp:8187
#41 0x00007fba9b17a90b in QMenu::event (this=0x1ef81e0, e=0x7fffa86d38b0) at widgets/qmenu.cpp:2410
#42 0x00007fba9ad11fdc in QApplicationPrivate::notify_helper (this=0x1d585c0, receiver=0x1ef81e0, e=0x7fffa86d38b0) at kernel/qapplication.cpp:4396
#43 0x00007fba9ad1830e in QApplication::notify (this=0x7fffa86d45a0, receiver=0x1ef81e0, e=0x7fffa86d38b0) at kernel/qapplication.cpp:3959
#44 0x00007fba9e1a3576 in KApplication::notify (this=0x7fffa86d45a0, receiver=0x1ef81e0, event=0x7fffa86d38b0) at ../../kdeui/kernel/kapplication.cpp:310
#45 0x00007fba9b9aacdc in QCoreApplication::notifyInternal (this=0x7fffa86d45a0, receiver=0x1ef81e0, event=0x7fffa86d38b0) at kernel/qcoreapplication.cpp:732
#46 0x00007fba9ad16dbe in sendEvent (receiver=0x1ef81e0, event=0x7fffa86d38b0, alienWidget=0x0, nativeWidget=0x1ef81e0, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#47 QApplicationPrivate::sendMouseEvent (receiver=0x1ef81e0, event=0x7fffa86d38b0, alienWidget=0x0, nativeWidget=0x1ef81e0, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:3058
#48 0x00007fba9ad9a7bd in QETWidget::translateMouseEvent (this=0x1ef81e0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4337
#49 0x00007fba9ad98c5c in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffa86d41d0) at kernel/qapplication_x11.cpp:3536
#50 0x00007fba9adc50e2 in x11EventSourceDispatch (s=0x1d5c170, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#51 0x00007fba9596d342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#52 0x00007fba959712a8 in ?? () from /lib/libglib-2.0.so.0
#53 0x00007fba9597145c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#54 0x00007fba9b9d7193 in QEventDispatcherGlib::processEvents (this=0x1d1b300, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#55 0x00007fba9adc4a4e in QGuiEventDispatcherGlib::processEvents (this=0x1de9af0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#56 0x00007fba9b9a9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#57 0x00007fba9b9a9dec in QEventLoop::exec (this=0x7fffa86d4500, flags=) at kernel/qeventloop.cpp:201
#58 0x00007fba9b9adebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#59 0x00000000004a7b95 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../kget/main.cpp:203

Reported using DrKonqi
Comment 1 Matthias Fuchs 2010-12-30 13:26:10 UTC
SVN commit 1210289 by mfuchs:

Check if item exists for which a size hint should be retrieved.
Works around a crash, though it does not solve the issue why a size hint is sometimes retrieved for an index for which no valid ModelItem exists.
BUG:261350

 M  +6 -0      transfersviewdelegate.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1210289
Comment 2 Matthias Fuchs 2010-12-30 13:30:30 UTC
Do you know if you moved transfers in the ui before this crash happened?
Comment 3 Matthias Fuchs 2010-12-30 13:32:20 UTC
SVN commit 1210291 by mfuchs:

Backport r1210289
Check if item exists for which a size hint should be retrieved.
Works around a crash, though it does not solve the issue why a size hint is sometimes retrieved for an index for which no valid ModelItem exists.
CCBUG:261350

 M  +6 -0      transfersviewdelegate.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1210291
Comment 4 Matthias Fuchs 2010-12-30 13:33:48 UTC
Uhm now I just realised that you reported this bug for 4.5.4, it would be great to know, if it also existed for 4.6 RC1.