Bug 208385 - ktorrent crash delete file
Summary: ktorrent crash delete file
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
: 208473 217385 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-09-24 14:13 UTC by Arthur
Modified: 2009-12-05 14:33 UTC (History)
2 users (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 Arthur 2009-09-24 14:13:03 UTC
Application that crashed: ktorrent
Version of the application: 3.2.3
KDE Version: 4.3.1 (KDE 4.3.1)
Qt Version: 4.5.2
Operating System: Linux 2.6.30 x86_64
Distribution: Debian GNU/Linux unstable (sid)

What I was doing when the application crashed:
When I sort by upload speed and try to remove torrent with data, ktorrent 3.2.3 crashes.

QT 4.5.2
KDE 4.3.1

 -- Backtrace:
Application: KTorrent (ktorrent), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f4dd3ccf750 (LWP 304))]

Thread 3 (Thread 0x7f4dc4242950 (LWP 310)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x00007f4dd1b4aee5 in thread_sleep (ti=0x7f4dc4242030) at thread/qthread_unix.cpp:297
#2  0x00007f4dd1b4b03e in QThread::msleep (msecs=47) at thread/qthread_unix.cpp:323
#3  0x00007f4dd390c70d in net::DownloadThread::update (this=0x6c91a0) at ../../libbtcore/net/downloadthread.cpp:110
#4  0x00007f4dd390cf29 in net::NetworkThread::run (this=0x6c91a0) at ../../libbtcore/net/networkthread.cpp:48
#5  0x00007f4dd1b4b475 in QThreadPrivate::start (arg=0x6c91a0) at thread/qthread_unix.cpp:188
#6  0x00007f4dcd10af9a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#7  0x00007f4dd04a056d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f4dbb6b5950 (LWP 311)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f4dd1b4c469 in QWaitConditionPrivate::wait (this=0x6c96f8, mutex=0x6c9700, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=0x6c96f8, mutex=0x6c9700, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f4dd390bdf4 in net::UploadThread::update (this=0x6c9690) at ../../libbtcore/net/uploadthread.cpp:73
#4  0x00007f4dd390cf29 in net::NetworkThread::run (this=0x6c9690) at ../../libbtcore/net/networkthread.cpp:48
#5  0x00007f4dd1b4b475 in QThreadPrivate::start (arg=0x6c9690) at thread/qthread_unix.cpp:188
#6  0x00007f4dcd10af9a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#7  0x00007f4dd04a056d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4dd3ccf750 (LWP 304)):
[KCrash Handler]
#5  0x00007f4dd21223d6 in QString::length (fname=...) at /usr/include/qt4/QtCore/qstring.h:683
#6  KShell::tildeExpand (fname=...) at ../../kdecore/util/kshell.cpp:57
#7  0x00007f4dd20149f1 in KUrl::setPath (this=0x7fff90433d20, _path=...) at ../../kdecore/io/kurl.cpp:1714
#8  0x00007f4dd205b7d3 in KMimeType::findByPath (path=..., mode=0, fast_mode=false, accuracy=0x0) at ../../kdecore/services/kmimetype.cpp:402
#9  0x00007f4dd367ca65 in kt::TorrentFileTreeModel::data (this=0x1b5c5c0, index=<value optimized out>, role=<value optimized out>) at ../../libktcore/torrent/torrentfiletreemodel.cpp:445
#10 0x00007f4dc236ddba in kt::IWFileTreeModel::data (this=0x18588a0, index=..., role=25539168) at ../../../plugins/infowidget/iwfiletreemodel.cpp:114
#11 0x00007f4dd16107a3 in QSortFilterProxyModel::data (this=<value optimized out>, index=..., role=1) at itemviews/qsortfilterproxymodel.cpp:1611
#12 0x00007f4dd163575d in QModelIndex::data (this=0x1b59dc0, option=0x7fff90434100, index=...) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:378
#13 QStyledItemDelegate::initStyleOption (this=0x1b59dc0, option=0x7fff90434100, index=...) at itemviews/qstyleditemdelegate.cpp:339
#14 0x00007f4dd16361bd in QStyledItemDelegate::paint (this=0x1b59dc0, painter=0x7fff904348d0, option=..., index=...) at itemviews/qstyleditemdelegate.cpp:419
#15 0x00007f4dd15c6860 in QTreeView::drawRow (this=0x1b551b0, painter=0x7fff904348d0, option=..., index=...) at itemviews/qtreeview.cpp:1640
#16 0x00007f4dd15ce371 in QTreeView::drawTree (this=0x1b551b0, painter=0x7fff904348d0, region=<value optimized out>) at itemviews/qtreeview.cpp:1403
#17 0x00007f4dd15ced87 in QTreeView::paintEvent (this=0x1b551b0, event=0x7fff90435480) at itemviews/qtreeview.cpp:1281
#18 0x00007f4dd10f9966 in QWidget::event (this=0x1b551b0, event=0x7fff90435480) at kernel/qwidget.cpp:7687
#19 0x00007f4dd1462cdb in QFrame::event (this=0x1b551b0, e=0x7fff90435480) at widgets/qframe.cpp:559
#20 0x00007f4dd159577b in QAbstractItemView::viewportEvent (this=0x1b551b0, event=0x7fff90435480) at itemviews/qabstractitemview.cpp:1476
#21 0x00007f4dd15cd4e9 in QTreeView::viewportEvent (this=0x1b551b0, event=0x7fff90435480) at itemviews/qtreeview.cpp:1266
#22 0x00007f4dd1c30838 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x1b57860, event=0x7fff90435480) at kernel/qcoreapplication.cpp:726
#23 0x00007f4dd10a97dc in QApplicationPrivate::notify_helper (this=0x6fa550, receiver=0x1b57860, e=0x7fff90435480) at kernel/qapplication.cpp:4052
#24 0x00007f4dd10b186a in QApplication::notify (this=0x7fff904364a0, receiver=0x1b57860, e=0x7fff90435480) at kernel/qapplication.cpp:4021
#25 0x00007f4dd2b0243b in KApplication::notify (this=0x7fff904364a0, receiver=0x1b57860, event=0x7fff90435480) at ../../kdeui/kernel/kapplication.cpp:302
#26 0x00007f4dd1c3151c in QCoreApplication::notifyInternal (this=0x7fff904364a0, receiver=0x1b57860, event=0x7fff90435480) at kernel/qcoreapplication.cpp:610
#27 0x00007f4dd110098e in QWidgetPrivate::drawWidget (this=0x1b58110, pdev=0x6ef578, rgn=..., offset=..., flags=68, sharedPainter=0x0, backingStore=0x833a60) at kernel/qwidget.cpp:5079
#28 0x00007f4dd127733e in QWidgetBackingStore::sync (this=0x833a60) at painting/qbackingstore.cpp:1261
#29 0x00007f4dd10f29f0 in QWidgetPrivate::syncBackingStore (this=0x7f4dbc0009c0) at kernel/qwidget.cpp:1603
#30 0x00007f4dd10f9801 in QWidget::event (this=0x6e7b20, event=0x1c45740) at kernel/qwidget.cpp:7827
#31 0x00007f4dd147d1db in QMainWindow::event (this=0x6e7b20, event=0x1c45740) at widgets/qmainwindow.cpp:1399
#32 0x00007f4dd2c0c8b3 in KXmlGuiWindow::event (this=0x7fff90433cd0, ev=0x18588a0) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:131
#33 0x00007f4dd10a980d in QApplicationPrivate::notify_helper (this=0x6fa550, receiver=0x6e7b20, e=0x1c45740) at kernel/qapplication.cpp:4056
#34 0x00007f4dd10b186a in QApplication::notify (this=0x7fff904364a0, receiver=0x6e7b20, e=0x1c45740) at kernel/qapplication.cpp:4021
#35 0x00007f4dd2b0243b in KApplication::notify (this=0x7fff904364a0, receiver=0x6e7b20, event=0x1c45740) at ../../kdeui/kernel/kapplication.cpp:302
#36 0x00007f4dd1c3151c in QCoreApplication::notifyInternal (this=0x7fff904364a0, receiver=0x6e7b20, event=0x1c45740) at kernel/qcoreapplication.cpp:610
#37 0x00007f4dd1c32164 in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x6c6110) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#38 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6c6110) at kernel/qcoreapplication.cpp:1247
#39 0x00007f4dd1c59f73 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#40 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:210
#41 0x00007f4dcc85e12a in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#42 0x00007f4dcc861988 in ?? () from /lib/libglib-2.0.so.0
#43 0x00007f4dcc861b3c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#44 0x00007f4dd1c59bff in QEventDispatcherGlib::processEvents (this=0x6c5d40, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#45 0x00007f4dd114064f in QGuiEventDispatcherGlib::processEvents (this=0x7fff90433cd0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#46 0x00007f4dd1c2fde2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#47 0x00007f4dd1c301b4 in QEventLoop::exec (this=0x7fff90436400, flags=...) at kernel/qeventloop.cpp:201
#48 0x00007f4dd1c32424 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#49 0x0000000000424e42 in main (argc=5, argv=0x7fff90437138) at ../../ktorrent/main.cpp:171

Reported using DrKonqi
Comment 1 Joris Guisson 2009-09-24 19:33:16 UTC
SVN commit 1027754 by guisson:

Fix crash caused by dangling pointer to TorrentControl when removing torrent and torrent list is changing a lot

BUG: 208385


 M  +1 -0      ChangeLog  
 M  +15 -2     plugins/infowidget/infowidgetplugin.cpp  
 M  +1 -0      plugins/infowidget/infowidgetplugin.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1027754
Comment 2 Joris Guisson 2009-09-26 09:37:48 UTC
*** Bug 208473 has been marked as a duplicate of this bug. ***
Comment 3 Joris Guisson 2009-12-05 14:33:56 UTC
*** Bug 217385 has been marked as a duplicate of this bug. ***