https://bugs.kde.org/show_bug.cgi?id=366448
Bug ID: 366448 Summary: Crash when removing multiple torrents at a time Product: ktorrent Version: unspecified Platform: Compiled Sources OS: Linux Status: UNCONFIRMED Keywords: drkonqi Severity: crash Priority: NOR Component: general Assignee: joris.guis...@gmail.com Reporter: tankta...@gmail.com Application: ktorrent (5.0.1) (Compiled from sources) Qt Version: 5.6.1 Frameworks Version: 5.23.0 Operating System: Linux 4.6.5-gentoo x86_64 Distribution: "NAME=Gentoo" -- Information about the crash: I selected four different torrents to delete, hit the delete key, and this is the crash that resulted. When I restarted, three of the four were gone, but one remained. Compiled from git yesterday. -- Backtrace: Application: KTorrent (ktorrent), signal: Aborted Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f69e2e60740 (LWP 28307))] Thread 7 (Thread 0x7f69ca3cf700 (LWP 28309)): #0 0x00007f69dd8e33ed in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f69d78806bc in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f69bc003020, timeout=-1, context=0x7f69bc000990) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:4135 #2 g_main_context_iterate (context=context@entry=0x7f69bc000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3835 #3 0x00007f69d78807cc in g_main_context_iteration (context=0x7f69bc000990, may_block=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3901 #4 0x00007f69de70b9ec in QEventDispatcherGlib::processEvents (this=0x7f69bc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #5 0x00007f69de6ae792 in QEventLoop::exec (this=this@entry=0x7f69ca3cee50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007f69de4b535b in QThread::exec (this=this@entry=0x7f69e2facb40 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:500 #7 0x00007f69e2f284b8 in QDBusConnectionManager::run (this=0x7f69e2facb40 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:189 #8 0x00007f69de4bb249 in QThreadPrivate::start (arg=0x7f69e2facb40 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:341 #9 0x00007f69d9cca434 in start_thread (arg=0x7f69ca3cf700) at pthread_create.c:334 #10 0x00007f69dd8ec50d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 6 (Thread 0x7f69b7fff700 (LWP 28311)): #0 0x00007f69dd8e33e6 in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f69d78806bc in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f69b0003070, timeout=10136, context=0x7f69b0000990) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:4135 #2 g_main_context_iterate (context=context@entry=0x7f69b0000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3835 #3 0x00007f69d78807cc in g_main_context_iteration (context=0x7f69b0000990, may_block=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3901 #4 0x00007f69de70b9ec in QEventDispatcherGlib::processEvents (this=0x7f69b00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #5 0x00007f69de6ae792 in QEventLoop::exec (this=this@entry=0x7f69b7ffee80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007f69de4b535b in QThread::exec (this=<optimized out>) at thread/qthread.cpp:500 #7 0x00007f69de4bb249 in QThreadPrivate::start (arg=0xbbc1f0) at thread/qthread_unix.cpp:341 #8 0x00007f69d9cca434 in start_thread (arg=0x7f69b7fff700) at pthread_create.c:334 #9 0x00007f69dd8ec50d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 5 (Thread 0x7f69c35ef700 (LWP 28312)): #0 0x00007f69d787fd00 in g_source_iter_next (source=<synthetic pointer>, iter=<synthetic pointer>) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:936 #1 g_main_context_prepare (context=context@entry=0x7f69b8002cd0, priority=priority@entry=0x7f69c35eed40) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3420 #2 0x00007f69d78805e8 in g_main_context_iterate (context=context@entry=0x7f69b8002cd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3820 #3 0x00007f69d78807cc in g_main_context_iteration (context=0x7f69b8002cd0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3901 #4 0x00007f69de70b9ec in QEventDispatcherGlib::processEvents (this=0x7f69b8002c00, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #5 0x00007f69de6ae792 in QEventLoop::exec (this=this@entry=0x7f69c35eee80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007f69de4b535b in QThread::exec (this=<optimized out>) at thread/qthread.cpp:500 #7 0x00007f69de4bb249 in QThreadPrivate::start (arg=0xbe72a0) at thread/qthread_unix.cpp:341 #8 0x00007f69d9cca434 in start_thread (arg=0x7f69c35ef700) at pthread_create.c:334 #9 0x00007f69dd8ec50d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 4 (Thread 0x7f698bfff700 (LWP 28328)): #0 0x00007f69e28eb9d3 in std::__atomic_base<int>::compare_exchange_strong (__m2=<optimized out>, __m1=std::memory_order_relaxed, __i2=3, __i1=@0x7f698bffee04: 2, this=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/atomic_base.h:581 #1 std::__atomic_base<int>::compare_exchange_strong (__m=std::memory_order_relaxed, __i2=3, __i1=@0x7f698bffee04: 2, this=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/atomic_base.h:604 #2 QAtomicOps<int>::testAndSetRelaxed<int> (currentValue=0x0, newValue=3, expectedValue=2, _q_value=...) at /usr/include/qt5/QtCore/qatomic_cxx11.h:149 #3 QBasicAtomicInteger<int>::testAndSetRelaxed (newValue=3, expectedValue=2, this=<optimized out>) at /usr/include/qt5/QtCore/qbasicatomic.h:134 #4 QSharedPointer<utp::Connection>::internalSet (actual=0x7f69b8090d30, o=0x7f69b8090e60, this=<synthetic pointer>) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:553 #5 QSharedPointer<utp::Connection>::operator=<utp::Connection> (other=..., this=<synthetic pointer>) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:376 #6 QSharedPointer<utp::Connection>::QSharedPointer<utp::Connection> (other=..., this=<synthetic pointer>) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:372 #7 QWeakPointer<utp::Connection>::toStrongRef (this=0x7f69b808fe80) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:682 #8 utp::UTPSocket::bytesAvailable (this=0x7f69b808fe50) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/utpsocket.cpp:62 #9 0x00007f69e28ec66a in utp::UTPSocket::ready (this=<optimized out>, p=<optimized out>, mode=<optimized out>) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/utpsocket.cpp:255 #10 0x00007f69e2811cfa in net::DownloadThread::update (this=0xae0730) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/downloadthread.cpp:65 #11 0x00007f69e2811ec9 in net::NetworkThread::run (this=0xae0730) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/networkthread.cpp:48 #12 0x00007f69de4bb249 in QThreadPrivate::start (arg=0xae0730) at thread/qthread_unix.cpp:341 #13 0x00007f69d9cca434 in start_thread (arg=0x7f698bfff700) at pthread_create.c:334 #14 0x00007f69dd8ec50d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7f6989ffe700 (LWP 28329)): #0 0x00007f69dd8bc15d in nanosleep () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f69de57625d in qt_nanosleep (amount=...) at tools/qelapsedtimer_unix.cpp:185 #2 0x00007f69de4ba458 in QThread::msleep (msecs=<optimized out>) at thread/qthread_unix.cpp:479 #3 0x00007f69e2811843 in net::UploadThread::update (this=0xae0a60) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/uploadthread.cpp:89 #4 0x00007f69e2811ec9 in net::NetworkThread::run (this=0xae0a60) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/networkthread.cpp:48 #5 0x00007f69de4bb249 in QThreadPrivate::start (arg=0xae0a60) at thread/qthread_unix.cpp:341 #6 0x00007f69d9cca434 in start_thread (arg=0x7f6989ffe700) at pthread_create.c:334 #7 0x00007f69dd8ec50d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7f6987ffd700 (LWP 28330)): #0 pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f69de4bc09b in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x14452d0) at thread/qwaitcondition_unix.cpp:136 #2 QWaitCondition::wait (this=this@entry=0x14c9848, mutex=mutex@entry=0x14c9840, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007f69e2814f70 in net::ReverseResolverThread::run (this=0x14c9830) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/reverseresolver.cpp:124 #4 0x00007f69de4bb249 in QThreadPrivate::start (arg=0x14c9830) at thread/qthread_unix.cpp:341 #5 0x00007f69d9cca434 in start_thread (arg=0x7f6987ffd700) at pthread_create.c:334 #6 0x00007f69dd8ec50d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7f69e2e60740 (LWP 28307)): [KCrash Handler] #6 0x00007f69dd836217 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 #7 0x00007f69dd83766a in __GI_abort () at abort.c:89 #8 0x00007f69e27fd701 in bt::QtMessageOutput (type=<optimized out>, msg=...) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/util/log.cpp:311 #9 0x00007f69de49d8df in qt_message_print (message=..., context=..., msgType=QtFatalMsg) at global/qlogging.cpp:1613 #10 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7f69de76a908 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=ap@entry=0x7ffc6282a340) at global/qlogging.cpp:275 #11 0x00007f69de49f461 in QMessageLogger::fatal (this=this@entry=0x7ffc6282a420, msg=msg@entry=0x7f69de76a908 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qlogging.cpp:787 #12 0x00007f69de49a267 in qt_assert_x (where=where@entry=0x7f69de76e958 "QPersistentModelIndex::~QPersistentModelIndex", what=what@entry=0x7f69de76e930 "persistent model indexes corrupted", file=file@entry=0x7f69de76e7f0 "itemmodels/qabstractitemmodel.cpp", line=line@entry=562) at global/qglobal.cpp:3007 #13 0x00007f69de65116e in QAbstractItemModelPrivate::removePersistentIndexData (this=0xc10fa0, data=data@entry=0x24d5f30) at itemmodels/qabstractitemmodel.cpp:561 #14 0x00007f69de6516fa in QPersistentModelIndexData::destroy (data=0x24d5f30) at itemmodels/qabstractitemmodel.cpp:75 #15 0x00007f69de65b0fd in QItemSelectionRange::~QItemSelectionRange (this=0x1f9ddb0, __in_chrg=<optimized out>) at itemmodels/qitemselectionmodel.h:47 #16 QList<QItemSelectionRange>::node_destruct (this=<optimized out>, to=0x184b440, from=0x184b440) at ../../include/QtCore/../../src/corelib/tools/qlist.h:484 #17 QList<QItemSelectionRange>::dealloc (this=<optimized out>, data=0x184b430) at ../../include/QtCore/../../src/corelib/tools/qlist.h:855 #18 QList<QItemSelectionRange>::~QList (this=<optimized out>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qlist.h:817 #19 0x00007f69de662804 in QItemSelection::~QItemSelection (this=0x7ffc6282a550, __in_chrg=<optimized out>) at itemmodels/qitemselectionmodel.h:247 #20 QItemSelectionModelPrivate::_q_rowsAboutToBeRemoved (this=0xc110e0, parent=..., start=1, end=1) at itemmodels/qitemselectionmodel.cpp:755 #21 0x00007f69de666669 in QItemSelectionModel::qt_static_metacall (_o=0xc10740, _c=<optimized out>, _id=13, _a=0x7ffc6282a8a0) at .moc/moc_qitemselectionmodel.cpp:263 #22 0x00007f69de6e01fe in QMetaObject::activate (sender=sender@entry=0xc10800, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=11, argv=argv@entry=0x7ffc6282a8a0) at kernel/qobject.cpp:3730 #23 0x00007f69de6e0e97 in QMetaObject::activate (sender=sender@entry=0xc10800, m=m@entry=0x7f69de91d3c0 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=11, argv=argv@entry=0x7ffc6282a8a0) at kernel/qobject.cpp:3595 #24 0x00007f69de7641b4 in QAbstractItemModel::rowsAboutToBeRemoved (this=this@entry=0xc10800, _t1=..., _t2=_t2@entry=1, _t3=_t3@entry=1) at .moc/moc_qabstractitemmodel.cpp:609 #25 0x00007f69de652033 in QAbstractItemModel::beginRemoveRows (this=this@entry=0xc10800, parent=..., first=first@entry=1, last=last@entry=1) at itemmodels/qabstractitemmodel.cpp:2661 #26 0x00000000004af9b8 in kt::ViewModel::removeRows (count=1, parent=..., row=1, this=0xc10800) at /var/tmp/portage/net-p2p/ktorrent-9999-r1/work/ktorrent-9999/ktorrent/view/viewmodel.cpp:841 #27 QAbstractItemModel::removeRow (aparent=..., arow=1, this=0xc10800) at /usr/include/qt5/QtCore/qabstractitemmodel.h:341 #28 kt::ViewModel::removeTorrent (this=0xc10800, ti=0x12be100) at /var/tmp/portage/net-p2p/ktorrent-9999-r1/work/ktorrent-9999/ktorrent/view/viewmodel.cpp:456 #29 0x00007f69de6e09d9 in QtPrivate::QSlotObjectBase::call (a=0x7ffc6282ab60, r=0xc10800, this=0xc109c0) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124 #30 QMetaObject::activate (sender=sender@entry=0xbeaac0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc6282ab60) at kernel/qobject.cpp:3715 #31 0x00007f69de6e0e97 in QMetaObject::activate (sender=sender@entry=0xbeaac0, m=m@entry=0x7f69e2e2c300 <kt::CoreInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc6282ab60) at kernel/qobject.cpp:3595 #32 0x00007f69e2bfdec2 in kt::CoreInterface::torrentRemoved (this=this@entry=0xbeaac0, _t1=_t1@entry=0x12be100) at /var/tmp/portage/net-p2p/ktorrent-9999-r1/work/ktorrent-9999_build/libktcore/moc_coreinterface.cpp:183 #33 0x000000000042fcc2 in kt::Core::remove (this=0xbeaac0, tc=0x12be100, data_to=<optimized out>) at /var/tmp/portage/net-p2p/ktorrent-9999-r1/work/ktorrent-9999/ktorrent/core.cpp:743 #34 0x00000000004a17a5 in kt::View::removeTorrents (this=0xbfadd0) at /var/tmp/portage/net-p2p/ktorrent-9999-r1/work/ktorrent-9999/ktorrent/view/view.cpp:486 #35 0x00000000004a96a9 in kt::View::keyPressEvent (this=<optimized out>, event=0x7ffc6282b4c0) at /var/tmp/portage/net-p2p/ktorrent-9999-r1/work/ktorrent-9999/ktorrent/view/view.cpp:913 #36 0x00007f69df488797 in QWidget::event (this=this@entry=0xbfadd0, event=event@entry=0x7ffc6282b4c0) at kernel/qwidget.cpp:8778 #37 0x00007f69df587d2e in QFrame::event (this=this@entry=0xbfadd0, e=e@entry=0x7ffc6282b4c0) at widgets/qframe.cpp:544 #38 0x00007f69df61c2a3 in QAbstractScrollArea::event (this=this@entry=0xbfadd0, e=e@entry=0x7ffc6282b4c0) at widgets/qabstractscrollarea.cpp:1153 #39 0x00007f69df6d443b in QAbstractItemView::event (this=0xbfadd0, event=0x7ffc6282b4c0) at itemviews/qabstractitemview.cpp:1627 #40 0x00007f69df43681c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0xbfadd0, e=0x7ffc6282b4c0) at kernel/qapplication.cpp:3804 #41 0x00007f69df43e067 in QApplication::notify (this=<optimized out>, receiver=0xbfadd0, e=0x7ffc6282b4c0) at kernel/qapplication.cpp:3181 #42 0x00007f69de6b0fc8 in QCoreApplication::notifyInternal2 (receiver=0xbfadd0, event=0x7ffc6282b4c0) at kernel/qcoreapplication.cpp:1015 #43 0x00007f69df4a83a8 in QWidgetWindow::event (this=0xdc1910, event=0x7ffc6282b4c0) at kernel/qwidgetwindow.cpp:226 #44 0x00007f69df43681c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0xdc1910, e=0x7ffc6282b4c0) at kernel/qapplication.cpp:3804 #45 0x00007f69df43e282 in QApplication::notify (this=0x7ffc6282bf70, receiver=0xdc1910, e=0x7ffc6282b4c0) at kernel/qapplication.cpp:3561 #46 0x00007f69de6b0fc8 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0xdc1910, event=event@entry=0x7ffc6282b4c0) at kernel/qcoreapplication.cpp:1015 #47 0x00007f69dedfe3f0 in QCoreApplication::sendSpontaneousEvent (event=0x7ffc6282b4c0, receiver=0xdc1910) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 #48 QGuiApplicationPrivate::processKeyEvent (e=0x1a5f700) at kernel/qguiapplication.cpp:1989 #49 0x00007f69dee03495 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x1a5f700) at kernel/qguiapplication.cpp:1667 #50 0x00007f69dede1273 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:648 #51 0x00007f69cffa8780 in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70 #52 0x00007f69d788041d in g_main_dispatch (context=0x7f69c40016f0) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3154 #53 g_main_context_dispatch (context=context@entry=0x7f69c40016f0) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3769 #54 0x00007f69d7880720 in g_main_context_iterate (context=context@entry=0x7f69c40016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3840 #55 0x00007f69d78807cc in g_main_context_iteration (context=0x7f69c40016f0, may_block=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r3/work/glib-2.46.2/glib/gmain.c:3901 #56 0x00007f69de70b9d7 in QEventDispatcherGlib::processEvents (this=0xb351e0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #57 0x00007f69de6ae792 in QEventLoop::exec (this=this@entry=0x7ffc6282b7c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #58 0x00007f69de6b797c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285 #59 0x00007f69dedf88cc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1607 #60 0x00007f69df436775 in QApplication::exec () at kernel/qapplication.cpp:2979 #61 0x000000000042ab4b in main (argc=2, argv=<optimized out>) at /var/tmp/portage/net-p2p/ktorrent-9999-r1/work/ktorrent-9999/ktorrent/main.cpp:243 Possible duplicates by query: bug 335917. Reported using DrKonqi -- You are receiving this mail because: You are watching all bug changes.