Bug 227400

Summary: Ktorrent crashes randomly when downloading
Product: [Applications] ktorrent Reporter: Ivan <ispmarin>
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: CLOSED FIXED    
Severity: crash CC: agkbill, alpha_one_x86, azzaroli, borge.johannessen, danigzz, davesama, dreadygl, eugenio_giuffrida, grosser.meister.morti, jfisher, kdebug.reporter.pasilli, kernunos, kleidokrators, kontakt, lehashab, lists, msc.bsc, mukhsm, nnonno, north, obundra, pedro, piovisqui, rmbell, seryolen, tetragrammaton.null, w.d.henry
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Ivan 2010-02-17 17:32:49 UTC
Application that crashed: ktorrent
Version of the application: 3.3.4
KDE Version: 4.3.4 (KDE 4.3.4)
Qt Version: 4.5.3
Operating System: Linux 2.6.32-trunk-amd64 x86_64
Distribution: Debian GNU/Linux 5.0.4 (lenny)

What I was doing when the application crashed:
Ktorrent just crashes at random intervals. I saw several bug reports with the same description, but I'm running the newest version and this crash still happens here.

 -- Backtrace:
Application: KTorrent (ktorrent), signal: Segmentation fault
The current source language is "auto; currently c".
[Current thread is 1 (Thread 0x7f71d0401750 (LWP 21604))]

Thread 5 (Thread 0x7f71c304e910 (LWP 21609)):
#0  0x00007f71cc36df82 in select () from /lib/libc.so.6
#1  0x00007f71cff8b159 in dht::RPCServerThread::run (this=0x15db540) at ../../libbtcore/dht/rpcserver.cpp:107
#2  0x00007f71cda1e4a5 in QThreadPrivate::start (arg=0x15db540) at thread/qthread_unix.cpp:188
#3  0x00007f71c94ec73a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f71cc37469d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f71abe39910 (LWP 21645)):
#0  net::DownloadThread::waitForSocketReady (this=0x14496d0) at ../../libbtcore/net/downloadthread.cpp:157
#1  0x00007f71cff32626 in net::DownloadThread::update (this=0x7f71d01fca80) at ../../libbtcore/net/downloadthread.cpp:53
#2  0x00007f71cff32fd9 in net::NetworkThread::run (this=0x14496d0) at ../../libbtcore/net/networkthread.cpp:48
#3  0x00007f71cda1e4a5 in QThreadPrivate::start (arg=0x14496d0) at thread/qthread_unix.cpp:188
#4  0x00007f71c94ec73a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007f71cc37469d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f71ab638910 (LWP 21646)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f71cda1f499 in QWaitConditionPrivate::wait (this=0x144a098, mutex=0x144a0a0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=0x144a098, mutex=0x144a0a0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f71cff31eec in net::UploadThread::update (this=0x144a030) at ../../libbtcore/net/uploadthread.cpp:73
#4  0x00007f71cff32fd9 in net::NetworkThread::run (this=0x144a030) at ../../libbtcore/net/networkthread.cpp:48
#5  0x00007f71cda1e4a5 in QThreadPrivate::start (arg=0x144a030) at thread/qthread_unix.cpp:188
#6  0x00007f71c94ec73a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#7  0x00007f71cc37469d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()
The current source language is "auto; currently c++".

Thread 2 (Thread 0x7f71aae37910 (LWP 21647)):
#0  0x00007f71cc369743 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=5000) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f71afdf38e2 in send_dg (statp=0x7f71aae37dc8, buf=<value optimized out>, buflen=<value optimized out>, buf2=0x0, buflen2=<value optimized out>, ans=0x7f71aae35dd0 "\235p\201\200", 
    anssiz=1024, ansp=0x7f71aae36650, ansp2=0x0, nansp2=0x0, resplen2=0x0) at res_send.c:1062
#2  __libc_res_nsend (statp=0x7f71aae37dc8, buf=<value optimized out>, buflen=<value optimized out>, buf2=0x0, buflen2=<value optimized out>, ans=0x7f71aae35dd0 "\235p\201\200", anssiz=1024, 
    ansp=0x7f71aae36650, ansp2=0x0, nansp2=0x0, resplen2=0x0) at res_send.c:553
#3  0x00007f71afdf1a15 in *__GI___libc_res_nquery (statp=0x7f71aae37dc8, name=<value optimized out>, class=<value optimized out>, type=<value optimized out>, answer=0x7f71aae35dd0 "\235p\201\200", 
    anslen=<value optimized out>, answerp=0x7f71aae36650, answerp2=0x0, nanswerp2=0x0, resplen2=0x0) at res_query.c:225
#4  0x00007f71bf9f125c in *__GI__nss_dns_gethostbyaddr2_r (addr=<value optimized out>, len=<value optimized out>, af=2, result=<value optimized out>, buffer=<value optimized out>, 
    buflen=<value optimized out>, errnop=0x7f71aae37898, h_errnop=0x7f71aae36ddc, ttlp=0x0) at nss_dns/dns-host.c:465
#5  0x00007f71bf9f15b5 in _nss_dns_gethostbyaddr_r (addr=0x7f71aae35b50, len=1, af=5000, result=0xffffffffffffffff, buffer=0x0, buflen=0, errnop=0x7f71aae37898, h_errnop=0x7f71aae36ddc)
    at nss_dns/dns-host.c:524
#6  0x00007f71cc38ac28 in __gethostbyaddr_r (addr=0x24e5104, len=4, type=<value optimized out>, resbuf=0x7f71aae36da0, buffer=<value optimized out>, buflen=<value optimized out>, 
    result=0x7f71aae36dd0, h_errnop=0x7f71aae36ddc) at ../nss/getXXbyYY_r.c:253
#7  0x00007f71cc39044d in *__GI_getnameinfo (sa=0x24e5100, addrlen=<value optimized out>, host=0x7f71aae36f00 "", hostlen=199, serv=0x7f71aae36e30 "", servlen=199, flags=<value optimized out>)
    at getnameinfo.c:223
#8  0x00007f71cff3568c in net::ReverseResolver::resolve (this=<value optimized out>, addr=...) at ../../libbtcore/net/reverseresolver.cpp:64
#9  0x00007f71cff35710 in net::ReverseResolver::run (this=0x2b39610) at ../../libbtcore/net/reverseresolver.cpp:73
#10 0x00007f71cff35807 in net::ReverseResolverThread::run (this=0x1600420) at ../../libbtcore/net/reverseresolver.cpp:118
#11 0x00007f71cda1e4a5 in QThreadPrivate::start (arg=0x1600420) at thread/qthread_unix.cpp:188
#12 0x00007f71c94ec73a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#13 0x00007f71cc37469d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 1 (Thread 0x7f71d0401750 (LWP 21604)):
[KCrash Handler]
#5  memcpy () at ../sysdeps/x86_64/memcpy.S:267
#6  0x00007f71cbdabab4 in QCA::MemoryRegion::MemoryRegion(QByteArray const&) () from /usr/lib/libqca.so.2
#7  0x00007f71cbdc3445 in QCA::Hash::update(QByteArray const&) () from /usr/lib/libqca.so.2
#8  0x00007f71cff1d9cb in bt::SHA1HashGen::update (this=0x201c8b0, data=0x7f71c111b000 "x\360\332\372\023\"FKH\017\006\002\271", len=16384) at ../../libbtcore/util/sha1hashgen.cpp:240
#9  0x00007f71cff501b2 in bt::ChunkDownload::updateHash (this=0x201c7f0) at ../../libbtcore/download/chunkdownload.cpp:579
#10 0x00007f71cff51019 in bt::ChunkDownload::piece (this=0x201c7f0, p=..., ok=<value optimized out>) at ../../libbtcore/download/chunkdownload.cpp:145
#11 0x00007f71cff57ade in bt::Downloader::pieceReceived (this=0x190ea30, p=...) at ../../libbtcore/download/downloader.cpp:126
#12 0x00007f71cff3fab1 in bt::Peer::packetReady (this=0x26d5430, packet=0x269a890 "\a", len=<value optimized out>) at ../../libbtcore/peer/peer.cpp:268
#13 0x00007f71cff48de8 in bt::PacketReader::update (this=0x25951c0) at ../../libbtcore/peer/packetreader.cpp:141
#14 0x00007f71cff3f805 in bt::Peer::update (this=0x26d5430) at ../../libbtcore/peer/peer.cpp:462
#15 0x00007f71cff434b0 in bt::PeerManager::update (this=0x190ccc0) at ../../libbtcore/peer/peermanager.cpp:119
#16 0x00007f71cff70d5a in bt::TorrentControl::update (this=0x18fb310) at ../../libbtcore/torrent/torrentcontrol.cpp:150
#17 0x0000000000430dab in kt::Core::update (this=0x15cc8b0) at ../../ktorrent/core.cpp:849
#18 0x0000000000437046 in kt::Core::qt_metacall (this=0x15cc8b0, _c=QMetaObject::InvokeMetaMethod, _id=45703960, _a=0x7fff4f36b430) at ./core.moc:149
#19 0x00007f71cdb18df2 in QMetaObject::activate (sender=0x15cc8d8, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x600) at kernel/qobject.cpp:3112
#20 0x00007f71cdb13353 in QObject::event (this=0x15cc8d8, e=0x7f71c111c000) at kernel/qobject.cpp:1074
#21 0x00007f71ccf7d01d in QApplicationPrivate::notify_helper (this=0x147f9f0, receiver=0x15cc8d8, e=0x7fff4f36bae0) at kernel/qapplication.cpp:4065
#22 0x00007f71ccf8507a in QApplication::notify (this=0x7fff4f36be20, receiver=0x15cc8d8, e=0x7fff4f36bae0) at kernel/qapplication.cpp:4030
#23 0x00007f71cf0f2e46 in KApplication::notify (this=0x7fff4f36be20, receiver=0x15cc8d8, event=0x7fff4f36bae0) at ../../kdeui/kernel/kapplication.cpp:302
#24 0x00007f71cdb03c9c in QCoreApplication::notifyInternal (this=0x7fff4f36be20, receiver=0x15cc8d8, event=0x7fff4f36bae0) at kernel/qcoreapplication.cpp:610
#25 0x00007f71cdb302c6 in QCoreApplication::sendEvent (this=0x1477a70) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#26 QTimerInfoList::activateTimers (this=0x1477a70) at kernel/qeventdispatcher_unix.cpp:580
#27 0x00007f71cdb2c658 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#28 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#29 0x00007f71c8a1d90e in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#30 0x00007f71c8a212c8 in ?? () from /lib/libglib-2.0.so.0
#31 0x00007f71c8a213f0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#32 0x00007f71cdb2c39c in QEventDispatcherGlib::processEvents (this=0x1446710, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:407
#33 0x00007f71cd013f1f in QGuiEventDispatcherGlib::processEvents (this=0x2b97318, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#34 0x00007f71cdb02562 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007f71cdb02934 in QEventLoop::exec (this=0x7fff4f36bd90, flags=...) at kernel/qeventloop.cpp:201
#36 0x00007f71cdb04ba4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#37 0x0000000000426f34 in main (argc=<value optimized out>, argv=<value optimized out>) at ../../ktorrent/main.cpp:172
The current source language is "auto; currently c".

Reported using DrKonqi
Comment 1 Joris Guisson 2010-02-26 19:53:02 UTC
SVN commit 1096493 by guisson:

Fix SHA1 hash generation crashes by using shared pointers to PieceData 

BUG: 227400

 M  +1 -0      ChangeLog  
 M  +3 -2      libbtcore/diskio/cache.cpp  
 M  +6 -5      libbtcore/diskio/cache.h  
 M  +4 -4      libbtcore/diskio/chunk.cpp  
 M  +3 -2      libbtcore/diskio/chunk.h  
 M  +6 -20     libbtcore/diskio/multifilecache.cpp  
 M  +3 -3      libbtcore/diskio/multifilecache.h  
 M  +34 -0     libbtcore/diskio/piecedata.cpp  
 M  +24 -4     libbtcore/diskio/piecedata.h  
 M  +8 -14     libbtcore/diskio/singlefilecache.cpp  
 M  +4 -4      libbtcore/diskio/singlefilecache.h  
 M  +6 -32     libbtcore/download/chunkdownload.cpp  
 M  +2 -1      libbtcore/download/chunkdownload.h  
 M  +1 -2      libbtcore/download/downloader.cpp  
 M  +5 -7      libbtcore/download/webseed.cpp  
 M  +2 -0      libbtcore/download/webseed.h  
 M  +1 -1      libbtcore/mse/streamsocket.h  
 M  +1 -1      libbtcore/net/downloadthread.cpp  
 M  +1 -1      libbtcore/net/poll.cpp  
 M  +1 -1      libbtcore/net/uploadthread.cpp  
 M  +8 -1      libbtcore/utp/utpserver.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1096493
Comment 2 Joris Guisson 2010-03-14 22:22:38 UTC
*** Bug 230768 has been marked as a duplicate of this bug. ***
Comment 3 Joris Guisson 2010-03-22 18:04:26 UTC
*** Bug 231758 has been marked as a duplicate of this bug. ***
Comment 4 Joris Guisson 2010-04-01 18:21:48 UTC
*** Bug 232985 has been marked as a duplicate of this bug. ***
Comment 5 Joris Guisson 2010-04-22 17:49:25 UTC
*** Bug 235055 has been marked as a duplicate of this bug. ***
Comment 6 Joris Guisson 2010-04-27 17:46:52 UTC
*** Bug 235542 has been marked as a duplicate of this bug. ***
Comment 7 Joris Guisson 2010-04-29 17:55:31 UTC
*** Bug 235702 has been marked as a duplicate of this bug. ***
Comment 8 Joris Guisson 2010-04-30 17:56:43 UTC
*** Bug 235754 has been marked as a duplicate of this bug. ***
Comment 9 Joris Guisson 2010-05-01 10:11:11 UTC
*** Bug 235873 has been marked as a duplicate of this bug. ***
Comment 10 Filipe 2010-05-02 02:25:49 UTC
Thanks for the fix =)
Comment 11 Joris Guisson 2010-05-03 17:42:22 UTC
*** Bug 236130 has been marked as a duplicate of this bug. ***
Comment 12 Joris Guisson 2010-05-04 18:52:40 UTC
*** Bug 236273 has been marked as a duplicate of this bug. ***
Comment 13 Joris Guisson 2010-05-12 19:09:44 UTC
*** Bug 237235 has been marked as a duplicate of this bug. ***
Comment 14 Joris Guisson 2010-05-22 10:44:17 UTC
*** Bug 238323 has been marked as a duplicate of this bug. ***
Comment 15 Joris Guisson 2010-05-22 10:44:53 UTC
*** Bug 238377 has been marked as a duplicate of this bug. ***
Comment 16 Joris Guisson 2010-05-28 19:16:03 UTC
*** Bug 239065 has been marked as a duplicate of this bug. ***
Comment 17 Joris Guisson 2010-06-04 18:59:30 UTC
*** Bug 240735 has been marked as a duplicate of this bug. ***
Comment 18 Joris Guisson 2010-06-07 08:13:30 UTC
*** Bug 240923 has been marked as a duplicate of this bug. ***
Comment 19 rmbell 2010-06-08 04:17:10 UTC
Created attachment 47803 [details]
New crash information added by DrKonqi

Random crash when I came back from a coffee.
Comment 20 Joris Guisson 2010-06-10 08:27:37 UTC
*** Bug 241253 has been marked as a duplicate of this bug. ***
Comment 21 Joris Guisson 2010-06-13 11:31:23 UTC
*** Bug 241628 has been marked as a duplicate of this bug. ***
Comment 22 Joris Guisson 2010-06-14 20:11:35 UTC
*** Bug 241760 has been marked as a duplicate of this bug. ***
Comment 23 Joris Guisson 2010-06-29 20:04:27 UTC
*** Bug 242947 has been marked as a duplicate of this bug. ***
Comment 24 Joris Guisson 2010-07-04 11:01:23 UTC
*** Bug 243561 has been marked as a duplicate of this bug. ***
Comment 25 Joris Guisson 2010-07-05 14:52:46 UTC
*** Bug 243650 has been marked as a duplicate of this bug. ***
Comment 26 Joris Guisson 2010-07-08 07:59:34 UTC
*** Bug 243901 has been marked as a duplicate of this bug. ***
Comment 27 Joris Guisson 2010-07-31 10:48:17 UTC
*** Bug 246320 has been marked as a duplicate of this bug. ***
Comment 28 Joris Guisson 2010-08-20 17:59:19 UTC
*** Bug 248509 has been marked as a duplicate of this bug. ***
Comment 29 Joris Guisson 2010-08-22 14:08:57 UTC
*** Bug 248686 has been marked as a duplicate of this bug. ***
Comment 30 Joris Guisson 2010-09-08 18:13:29 UTC
*** Bug 250492 has been marked as a duplicate of this bug. ***
Comment 31 Joris Guisson 2010-09-19 19:47:33 UTC
*** Bug 251738 has been marked as a duplicate of this bug. ***
Comment 32 kernunos 2010-10-26 19:20:52 UTC
Created attachment 52888 [details]
New crash information added by DrKonqi

ktorrent (4.0.3) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0

- What I was doing when the application crashed: websurfing just after update of my Ubuntu distribution up to 10.10

-- Backtrace (Reduced):
#8  0xb7613562 in bt::ChunkDownload::piece (this=0xd279330, p=..., ok=@0xbfa5634f) at //usr/include/bits/string3.h:52
#9  0xb761a219 in bt::Downloader::pieceReceived (this=0xcd9b378, p=...) at ../../src/download/downloader.cpp:134
#10 0xb75fdbef in bt::PeerManager::pieceReceived (this=0xcd95700, p=...) at ../../src/peer/peermanager.cpp:674
#11 0xb75fb9da in bt::Peer::packetReady (this=0xce89928, packet=0xd1734b0 "\a", len=16393) at ../../src/peer/peer.cpp:283
#12 0xb7607489 in bt::PacketReader::update (this=0xcf19078) at ../../src/peer/packetreader.cpp:141
Comment 33 Mathias Panzenböck 2010-11-03 19:44:17 UTC
Created attachment 53105 [details]
New crash information added by DrKonqi

Ktorrent crashed 1 minute after I left home after I started the download of the Fedora 14 KDE Spin ISO. So it did the whole day nothing. :(