Bug 246483 - ktorrent crash after downloading twice one part
Summary: ktorrent crash after downloading twice one part
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
: 247201 269143 287894 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-08-02 05:47 UTC by Dmitry
Modified: 2011-11-30 09:18 UTC (History)
3 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 Dmitry 2010-08-02 05:47:02 UTC
Application: ktorrent (3.3.4)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-24-generic x86_64
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
ktorrent crash after downloading twice one part.
When all parts downloading except one, assumably is number 100. If internet disconnecting and connecting part number 100 in parts list stay, and started downloading new part number 100, when new part number 100 downloading finish ktorrent is crash.

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

Thread 5 (Thread 0x7f774f754710 (LWP 8403)):
#0  0x00007f7771002988 in net::DownloadThread::waitForSocketReady (this=0x2598950) at ../../libbtcore/net/downloadthread.cpp:128
#1  0x00007f7771002b66 in net::DownloadThread::update (this=0x2598950) at ../../libbtcore/net/downloadthread.cpp:53
#2  0x00007f77710036e9 in net::NetworkThread::run (this=0x2598950) at ../../libbtcore/net/networkthread.cpp:48
#3  0x00007f776ea75775 in QThreadPrivate::start (arg=0x2598950) at thread/qthread_unix.cpp:248
#4  0x00007f776e7e59ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007f776d0fd6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f774ef53710 (LWP 8404)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f776ea7672b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x2598f20, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x2598f20, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f777100260c in net::UploadThread::update (this=0x2598eb0) at ../../libbtcore/net/uploadthread.cpp:73
#4  0x00007f77710036e9 in net::NetworkThread::run (this=0x2598eb0) at ../../libbtcore/net/networkthread.cpp:48
#5  0x00007f776ea75775 in QThreadPrivate::start (arg=0x2598eb0) at thread/qthread_unix.cpp:248
#6  0x00007f776e7e59ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#7  0x00007f776d0fd6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f77613d1710 (LWP 8417)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f776ea7672b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x30ae2e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x30ae2e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f7771006342 in net::ReverseResolverThread::run (this=0x30ae2d0) at ../../libbtcore/net/reverseresolver.cpp:123
#4  0x00007f776ea75775 in QThreadPrivate::start (arg=0x30ae2d0) at thread/qthread_unix.cpp:248
#5  0x00007f776e7e59ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f776d0fd6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f776446d710 (LWP 8420)):
#0  0x00007f776eb95655 in QTimerInfoList::repairTimersIfNeeded (this=0x3281fd0) at kernel/qeventdispatcher_unix.cpp:395
#1  0x00007f776eb956f6 in QTimerInfoList::timerWait (this=0x3281fd0, tm=...) at kernel/qeventdispatcher_unix.cpp:444
#2  0x00007f776eb9375d in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7f776446cc1c) at kernel/qeventdispatcher_glib.cpp:136
#3  0x00007f776eb93805 in timerSourcePrepare (source=0x3281fd0, timeout=0x0) at kernel/qeventdispatcher_glib.cpp:169
#4  0x00007f7769782eb1 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#5  0x00007f7769783318 in ?? () from /lib/libglib-2.0.so.0
#6  0x00007f77697838fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#7  0x00007f776eb93566 in QEventDispatcherGlib::processEvents (this=0x26b2e80, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#8  0x00007f776eb68992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#9  0x00007f776eb68d6c in QEventLoop::exec (this=0x7f776446cdb0, flags=) at kernel/qeventloop.cpp:201
#10 0x00007f776ea72d59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#11 0x00007f776eb49178 in QInotifyFileSystemWatcherEngine::run (this=0x31fc740) at io/qfilesystemwatcher_inotify.cpp:248
#12 0x00007f776ea75775 in QThreadPrivate::start (arg=0x31fc740) at thread/qthread_unix.cpp:248
#13 0x00007f776e7e59ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#14 0x00007f776d0fd6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#15 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f77714cf760 (LWP 8387)):
[KCrash Handler]
#5  0x00007f775713ae4c in kt::ChunkDownloadModel::Item::changed (this=0x32c4b80, col=0, modified=@0x7fff5ade34df) at ../../../plugins/infowidget/chunkdownloadmodel.cpp:42
#6  0x00007f775713b046 in kt::ChunkDownloadModel::update (this=0x2c6fec0) at ../../../plugins/infowidget/chunkdownloadmodel.cpp:173
#7  0x00007f7757138bfa in kt::ChunkDownloadView::update (this=0x2c60200) at ../../../plugins/infowidget/chunkdownloadview.cpp:83
#8  0x00007f77571283d5 in kt::InfoWidgetPlugin::guiUpdate (this=0x2b742f0) at ../../../plugins/infowidget/infowidgetplugin.cpp:156
#9  0x00007f7770d7ea85 in kt::PluginManager::updateGuiPlugins (this=<value optimized out>) at ../../libktcore/plugin/pluginmanager.cpp:202
#10 0x0000000000439774 in kt::GUI::update (this=0x26b2c00) at ../../ktorrent/gui.cpp:473
#11 0x000000000043bde7 in kt::GUI::qt_metacall (this=0x26b2c00, _c=QMetaObject::InvokeMetaMethod, _id=1524511745, _a=0x7fff5ade36b0) at ./gui.moc:126
#12 0x00007f776eb7ce3f in QMetaObject::activate (sender=0x26b2c50, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x1) at kernel/qobject.cpp:3293
#13 0x00007f776eb79a63 in QObject::event (this=0x26b2c50, e=0x7fff5ade3e00) at kernel/qobject.cpp:1212
#14 0x00007f776dd0622c in QApplicationPrivate::notify_helper (this=0x25cab50, receiver=0x26b2c50, e=0x7fff5ade3e00) at kernel/qapplication.cpp:4300
#15 0x00007f776dd0c6fb in QApplication::notify (this=0x7fff5ade4130, receiver=0x26b2c50, e=0x7fff5ade3e00) at kernel/qapplication.cpp:4183
#16 0x00007f77701b0526 in KApplication::notify (this=0x7fff5ade4130, receiver=0x26b2c50, event=0x7fff5ade3e00) at ../../kdeui/kernel/kapplication.cpp:302
#17 0x00007f776eb6a06c in QCoreApplication::notifyInternal (this=0x7fff5ade4130, receiver=0x26b2c50, event=0x7fff5ade3e00) at kernel/qcoreapplication.cpp:704
#18 0x00007f776eb96d42 in QCoreApplication::sendEvent (this=0x25d4520) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#19 QTimerInfoList::activateTimers (this=0x25d4520) at kernel/qeventdispatcher_unix.cpp:603
#20 0x00007f776eb93848 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#21 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#22 0x00007f776977f8c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#23 0x00007f7769783748 in ?? () from /lib/libglib-2.0.so.0
#24 0x00007f77697838fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#25 0x00007f776eb93513 in QEventDispatcherGlib::processEvents (this=0x2596980, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#26 0x00007f776ddb646e in QGuiEventDispatcherGlib::processEvents (this=0x3332a50, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#27 0x00007f776eb68992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#28 0x00007f776eb68d6c in QEventLoop::exec (this=0x7fff5ade40a0, flags=) at kernel/qeventloop.cpp:201
#29 0x00007f776eb6caab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#30 0x0000000000427294 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../ktorrent/main.cpp:172

This bug may be a duplicate of or related to bug 230033.

Possible duplicates by query: bug 233996, bug 230033, bug 225687.

Reported using DrKonqi
Comment 1 Joris Guisson 2010-08-02 18:10:10 UTC
Do you know of an easy way to reproduce this ?
Comment 2 Dmitry 2010-08-03 21:26:10 UTC
sorry.but not.
Comment 3 Joris Guisson 2010-08-11 18:53:21 UTC
*** Bug 247201 has been marked as a duplicate of this bug. ***
Comment 4 Manuel 2010-08-12 01:18:33 UTC
My connection is so inestable it goes in and out so that may be a point in favor for this (i've the duplicate bug 247201).
Comment 5 Joris Guisson 2010-08-14 19:07:57 UTC
SVN commit 1163634 by guisson:

Fix crash due to monitor not being notified of a chunk download being removed

BUG: 246483

 M  +1 -0      ChangeLog  
 M  +2 -0      src/download/downloader.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1163634
Comment 6 Joris Guisson 2010-08-14 19:10:41 UTC
SVN commit 1163635 by guisson:

Merge rev 1163634 from trunk

CCBUG: 246483


 M  +1 -0      ChangeLog  
 M  +2 -0      src/download/downloader.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1163635
Comment 7 Joris Guisson 2011-03-22 18:36:31 UTC
*** Bug 269143 has been marked as a duplicate of this bug. ***
Comment 8 Christoph Feck 2011-11-30 09:18:30 UTC
*** Bug 287894 has been marked as a duplicate of this bug. ***