Bug 211695

Summary: removing torrent-download crashed kget
Product: [Applications] kget Reporter: Arne Babenhauserheide <arne_bab>
Component: generalAssignee: KGet authors <kget>
Status: RESOLVED WAITINGFORINFO    
Severity: crash CC: arne_bab
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Arne Babenhauserheide 2009-10-24 21:20:05 UTC
Application that crashed: kget
Version of the application: 2.3.2
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.3
Operating System: Linux 2.6.30-gentoo-r5 x86_64

What I was doing when the application crashed:
When I tried to remove one one torrent download (or two at the same time - I'm not perfectly sure), kget died. 

The torrent downloads in kget where from jamendo and had only few sources. I only had these two download in kget. 

 -- Backtrace:
Application: KGet (kget), signal: Aborted
[Current thread is 0 (LWP 21462)]

Thread 3 (Thread 0x7f52e4163950 (LWP 21484)):
#0  QMutex::lock (this=0x7f52e60726a8) at thread/qmutex.cpp:161
#1  0x00007f52e5d780fd in net::DownloadThread::update (this=0x8d0dd0) at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2/kget/transfer-plugins/bittorrent/libbtcore/net/downloadthread.cpp:56
#2  0x00007f52e5d792c1 in net::NetworkThread::run (this=0x8d0dd0) at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2/kget/transfer-plugins/bittorrent/libbtcore/net/networkthread.cpp:48
#3  0x00007f52f556c8c4 in QThreadPrivate::start (arg=0x8d0dd0) at thread/qthread_unix.cpp:188
#4  0x00007f52f52fa007 in start_thread () from /lib/libpthread.so.0
#5  0x00007f52f45c948d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f52e3962950 (LWP 21485)):
#0  0x00007f52f52fddb9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f52f556d445 in QWaitCondition::wait (this=0x8d1108, mutex=0x8d1110, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007f52e5d778c9 in net::UploadThread::update (this=0x8d10a0) at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2/kget/transfer-plugins/bittorrent/libbtcore/net/uploadthread.cpp:73
#3  0x00007f52e5d792c1 in net::NetworkThread::run (this=0x8d10a0) at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2/kget/transfer-plugins/bittorrent/libbtcore/net/networkthread.cpp:48
#4  0x00007f52f556c8c4 in QThreadPrivate::start (arg=0x8d10a0) at thread/qthread_unix.cpp:188
#5  0x00007f52f52fa007 in start_thread () from /lib/libpthread.so.0
#6  0x00007f52f45c948d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f52f8ccc760 (LWP 21462)):
[KCrash Handler]
#5  0x00007f52f452b205 in raise () from /lib/libc.so.6
#6  0x00007f52f452c723 in abort () from /lib/libc.so.6
#7  0x00007f52e5d6ccb8 in QtMessageOutput (type=<value optimized out>, 
    msg=0xe9e458 "ASSERT failure in QPersistentModelIndex::~QPersistentModelIndex: \"persistent model indexes corrupted\", file kernel/qabstractitemmodel.cpp, line 475")
    at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2/kget/transfer-plugins/bittorrent/libbtcore/util/log.cpp:299
#8  0x00007f52f556423e in qt_message_output (msgType=QtFatalMsg, buf=0x53d6 <Address 0x53d6 out of bounds>) at global/qglobal.cpp:2007
#9  0x00007f52f55643b0 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2241
#10 0x00007f52f5641f2f in QAbstractItemModelPrivate::removePersistentIndexData (this=0x8ae120, data=0x841b30) at kernel/qabstractitemmodel.cpp:474
#11 0x00007f52f564243a in QPersistentModelIndexData::destroy (data=0x841b30) at kernel/qabstractitemmodel.cpp:83
#12 0x00007f52f56425e8 in ~QPersistentModelIndex (this=0xdf1d00) at kernel/qabstractitemmodel.cpp:155
#13 0x00007f52f66235a6 in QList<QItemSelectionRange>::free (this=<value optimized out>, data=0xb75a10) at ../../include/QtGui/../../src/gui/itemviews/qitemselectionmodel.h:59
#14 0x00007f52f66730a0 in QList<QItemSelectionRange>::clear (this=0x53d6) at ../../include/QtCore/../../src/corelib/tools/qlist.h:378
#15 0x00007f52f667087a in QItemSelectionModelPrivate::_q_rowsAboutToBeRemoved (this=0x8ae1d0, parent=@0x7fff76a83e50, start=<value optimized out>, end=0)
    at ../../include/QtGui/private/../../../src/gui/itemviews/qitemselectionmodel_p.h:91
#16 0x00007f52f6671042 in QItemSelectionModel::qt_metacall (this=0x8adf40, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff76a83dc0)
    at .moc/debug-shared/moc_qitemselectionmodel.cpp:130
#17 0x00007f52f565eeb9 in QMetaObject::activate (sender=0x8adf00, from_signal_index=<value optimized out>, to_signal_index=10, argv=0xffffffffffffffff) at kernel/qobject.cpp:3101
#18 0x00007f52f5691b94 in QAbstractItemModel::rowsAboutToBeRemoved (this=0x53d6, _t1=<value optimized out>, _t2=0, _t3=0) at .moc/debug-shared/moc_qabstractitemmodel.cpp:166
#19 0x00007f52f5643f91 in QAbstractItemModel::beginRemoveRows (this=0x8adf00, parent=@0x7fff76a83e50, first=0, last=0) at kernel/qabstractitemmodel.cpp:2113
#20 0x00007f52f7992d8e in TransferTreeModel::delTransfer (this=0x8adf00, transfer=0x96f580) at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2/kget/core/transfertreemodel.cpp:76
#21 0x00007f52f798b7a8 in KGet::delTransfer (transfer=0x816230) at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2/kget/core/kget.cpp:330
#22 0x000000000044f509 in MainWindow::slotDeleteSelected (this=0x6a5b00) at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2/kget/mainwindow.cpp:590
#23 0x00000000004528dd in MainWindow::qt_metacall (this=0x6a5b00, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff76a84150)
    at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2_build/kget/mainwindow.moc:157
#24 0x00007f52f565eeb9 in QMetaObject::activate (sender=0x8dd4a0, from_signal_index=<value optimized out>, to_signal_index=6, argv=0xffffffffffffffff) at kernel/qobject.cpp:3101
#25 0x00007f52f617fe37 in QAction::triggered (this=0x53d6, _t1=false) at .moc/debug-shared/moc_qaction.cpp:236
#26 0x00007f52f6180ba0 in QAction::activate (this=0x8dd4a0, event=<value optimized out>) at kernel/qaction.cpp:1167
#27 0x00007f52f64c38fa in QAbstractButtonPrivate::click (this=0x902cb0) at widgets/qabstractbutton.cpp:525
#28 0x00007f52f64c3b6d in QAbstractButton::mouseReleaseEvent (this=0x8eeaa0, e=0x7fff76a84b30) at widgets/qabstractbutton.cpp:1115
#29 0x00007f52f65873ba in QToolButton::mouseReleaseEvent (this=0x53d6, e=0x53d6) at widgets/qtoolbutton.cpp:709
#30 0x00007f52f61d7858 in QWidget::event (this=0x8eeaa0, event=0x7fff76a84b30) at kernel/qwidget.cpp:7554
#31 0x00007f52f61856dd in QApplicationPrivate::notify_helper (this=0x6b3130, receiver=0x8eeaa0, e=0x7fff76a84b30) at kernel/qapplication.cpp:4065
#32 0x00007f52f618e80b in QApplication::notify (this=<value optimized out>, receiver=0x8eeaa0, e=0x7fff76a84b30) at kernel/qapplication.cpp:3767
#33 0x00007f52f86e2061 in KApplication::notify (this=0x7fff76a868f0, receiver=0x8eeaa0, event=0x7fff76a84b30)
    at /var/tmp/portage/kde-base/kdelibs-4.3.2-r3/work/kdelibs-4.3.2/kdeui/kernel/kapplication.cpp:302
#34 0x00007f52f5649d53 in QCoreApplication::notifyInternal (this=0x7fff76a868f0, receiver=0x8eeaa0, event=0x7fff76a84b30) at kernel/qcoreapplication.cpp:606
#35 0x00007f52f618d9ea in QApplicationPrivate::sendMouseEvent (receiver=0x8eeaa0, event=0x7fff76a84b30, alienWidget=0x8eeaa0, nativeWidget=0x6a5b00, buttonDown=<value optimized out>, 
    lastMouseReceiver=@0x7f52f6b01ff0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#36 0x00007f52f61edc0c in QETWidget::translateMouseEvent (this=0x6a5b00, event=<value optimized out>) at kernel/qapplication_x11.cpp:4411
#37 0x00007f52f61ec726 in QApplication::x11ProcessEvent (this=0x7fff76a868f0, event=0x7fff76a86530) at kernel/qapplication_x11.cpp:3552
#38 0x00007f52f6211a24 in x11EventSourceDispatch (s=0x6add90, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#39 0x00007f52f0c02f41 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#40 0x00007f52f0c064d8 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#41 0x00007f52f0c0668c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#42 0x00007f52f5670def in QEventDispatcherGlib::processEvents (this=0x6831f0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:328
#43 0x00007f52f621128f in QGuiEventDispatcherGlib::processEvents (this=0x53d6, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#44 0x00007f52f5648a12 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1990748192}) at kernel/qeventloop.cpp:149
#45 0x00007f52f5648bac in QEventLoop::exec (this=0x7fff76a86860, flags={i = 1990748272}) at kernel/qeventloop.cpp:197
#46 0x00007f52f564d526 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#47 0x00000000004543d4 in main (argc=6, argv=0x7fff76a86ea8) at /var/tmp/portage/kde-base/kget-4.3.2/work/kget-4.3.2/kget/main.cpp:173

Reported using DrKonqi
Comment 1 Lukas Appelhans 2009-10-25 13:15:10 UTC
I'm 99% sure that this is fixed in latest trunk, can you give it a try?

Lukas
Comment 2 Arne Babenhauserheide 2009-10-25 14:00:27 UTC
I build releases from gentoo packages -and I'd rather not switch my whole KDe to the SVN version, so I sadly can't check trunk :( 

Sorry that I can't be of more use here, but many thanks for working on kget!
Comment 3 Lukas Appelhans 2009-10-25 14:17:49 UTC
Ok no problem, just report back at 4.4 time then please :)

Lukas
Comment 4 Arne Babenhauserheide 2009-10-25 14:42:49 UTC
I'll try - is there some way to get notified of this bug automatically when 4.4 is out? 

(If not, I'll just vote for it and then check my votes after I installed 4.4 :) )
Comment 5 Lukas Appelhans 2009-10-25 14:45:23 UTC
I don't think there is a way... :) I could also just close it now and you could reopen it if it still exists... ;)

Lukas
Comment 6 Arne Babenhauserheide 2009-10-25 19:22:41 UTC
I think that's the best way - I close it as RESOLVED with WAITINGFORINFO: "does it still appear in 4.4 / trunk?", and should I run into it again, we have that info :)