Bug 259202

Summary: Seg fault with multiple simultaneous downloads
Product: [Applications] ktorrent Reporter: drvik
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: RESOLVED DUPLICATE    
Severity: crash CC: drvik
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description drvik 2010-12-08 10:58:33 UTC
Application: ktorrent (4.0.4)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.36-bfs x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:

Downloading multiple torrents... this is with ktorrent 4.0.4 which is supposed to have the gvfs bug fixed...

The crash can be reproduced some of the time.

-- Backtrace:
Application: KTorrent (ktorrent), signal: Bus error
[Current thread is 1 (Thread 0x7fb3c4389760 (LWP 32196))]

Thread 7 (Thread 0x7fb3b002c700 (LWP 32198)):
#0  __pthread_mutex_lock (mutex=0x7fb3a80046d8) at pthread_mutex_lock.c:47
#1  0x00007fb3bad60131 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fb3bad6045c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fb3c19e71e6 in QEventDispatcherGlib::processEvents (this=0x18809b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007fb3c19b9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fb3c19b9dec in QEventLoop::exec (this=0x7fb3b002bdb0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fb3c18c42fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007fb3c3f3e20e in utp::UTPServerThread::run (this=0x1881170) at ../../src/utp/utpserverthread.cpp:44
#8  0x00007fb3c18c727e in QThreadPrivate::start (arg=0x1881170) at thread/qthread_unix.cpp:266
#9  0x00007fb3c163c971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007fb3bff1192d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fb3af82b700 (LWP 32199)):
#0  0x00007fb3bff0a2c3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fb3c3f05212 in dht::RPCServerThread::run (this=0x1889650) at ../../src/dht/rpcserver.cpp:107
#2  0x00007fb3c18c727e in QThreadPrivate::start (arg=0x1889650) at thread/qthread_unix.cpp:266
#3  0x00007fb3c163c971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#4  0x00007fb3bff1192d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fb390682700 (LWP 32267)):
#0  0x00007fb3bff05203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fb3c3ea679c in net::Poll::poll (this=0x1755330, timeout=<value optimized out>) at ../../src/net/poll.cpp:99
#2  0x00007fb3c3ea2700 in net::DownloadThread::waitForSocketReady (this=0x1755320) at ../../src/net/downloadthread.cpp:128
#3  0x00007fb3c3ea27e6 in net::DownloadThread::update (this=0x7fb3951995f0) at ../../src/net/downloadthread.cpp:48
#4  0x00007fb3c3ea32c9 in net::NetworkThread::run (this=0x1755320) at ../../src/net/networkthread.cpp:48
#5  0x00007fb3c18c727e in QThreadPrivate::start (arg=0x1755320) at thread/qthread_unix.cpp:266
#6  0x00007fb3c163c971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#7  0x00007fb3bff1192d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fb38fe81700 (LWP 32268)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fb3c18c6533 in QMutexPrivate::wait (this=0x17552a0, timeout=-1) at thread/qmutex_unix.cpp:84
#2  0x00007fb3c18c1ee5 in QMutex::lock (this=0x6d90e8) at thread/qmutex.cpp:167
#3  0x00007fb3c3ea1ea3 in net::UploadThread::update (this=0x1755990) at ../../src/net/uploadthread.cpp:49
#4  0x00007fb3c3ea32c9 in net::NetworkThread::run (this=0x1755990) at ../../src/net/networkthread.cpp:48
#5  0x00007fb3c18c727e in QThreadPrivate::start (arg=0x1755990) at thread/qthread_unix.cpp:266
#6  0x00007fb3c163c971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#7  0x00007fb3bff1192d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fb38f680700 (LWP 32269)):
#0  0x00007fb3bff05203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=5000) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fb3bb619383 in send_dg (statp=0x7fb38f680db8, buf=<value optimized out>, buflen=<value optimized out>, buf2=0x0, buflen2=<value optimized out>, ansp=<value optimized out>, anssizp=0x7fb38f67e950, terrno=0x7fb38f67e8f8, ns=0, v_circuit=0x7fb38f67e8f4, gotsomewhere=0x7fb38f67e8fc, anscp=0x7fb38f67f400, ansp2=0x0, anssizp2=0x0, resplen2=0x0) at res_send.c:1066
#2  0x00007fb3bb61b004 in __libc_res_nsend (statp=0x7fb38f680db8, buf=<value optimized out>, buflen=<value optimized out>, buf2=0x0, buflen2=<value optimized out>, ans=0x7fb38f67eb70 "\303`\201\200", anssiz=1024, ansp=0x7fb38f67f400, ansp2=0x0, nansp2=0x0, resplen2=0x0) at res_send.c:556
#3  0x00007fb3bb617665 in __libc_res_nquery (statp=0x7fb38f680db8, name=<value optimized out>, class=<value optimized out>, type=<value optimized out>, answer=0x7fb38f67eb70 "\303`\201\200", anslen=<value optimized out>, answerp=0x7fb38f67f400, answerp2=0x0, nanswerp2=0x0, resplen2=0x0) at res_query.c:225
#4  0x00007fb39b461fd1 in _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=0x7fb38f680688, h_errnop=0x7fb38f67fb8c, ttlp=0x0) at nss_dns/dns-host.c:471
#5  0x00007fb39b462145 in _nss_dns_gethostbyaddr_r (addr=0x7fb38f67e810, len=1, af=5000, result=0xffffffffffffffff, buffer=0x0, buflen=0, errnop=0x7fb38f680688, h_errnop=0x7fb38f67fb8c) at nss_dns/dns-host.c:530
#6  0x00007fb3bff2c578 in __gethostbyaddr_r (addr=0x97e7504, len=4, type=<value optimized out>, resbuf=0x7fb38f67fb50, buffer=<value optimized out>, buflen=<value optimized out>, result=0x7fb38f67fb80, h_errnop=0x7fb38f67fb8c) at ../nss/getXXbyYY_r.c:253
#7  0x00007fb3bff32b6b in getnameinfo (sa=0x97e7500, addrlen=<value optimized out>, host=0x7fb38f67fcb0 "", hostlen=199, serv=0x7fb38f67fbe0 "", servlen=199, flags=<value optimized out>) at getnameinfo.c:223
#8  0x00007fb3c3ea5f4f in net::ReverseResolver::resolve (this=<value optimized out>, addr=...) at ../../src/net/reverseresolver.cpp:64
#9  0x00007fb3c3ea5ff0 in net::ReverseResolver::run (this=0xa5526a0) at ../../src/net/reverseresolver.cpp:73
#10 0x00007fb3c3ea61dd in net::ReverseResolverThread::run (this=0x7fb3a8f3f5a0) at ../../src/net/reverseresolver.cpp:118
#11 0x00007fb3c18c727e in QThreadPrivate::start (arg=0x7fb3a8f3f5a0) at thread/qthread_unix.cpp:266
#12 0x00007fb3c163c971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#13 0x00007fb3bff1192d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fb398c59700 (LWP 15360)):
#0  0x00007fb3c163fc9d in __pthread_mutex_unlock_usercnt (mutex=0x81d5e28) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x81d5e28) at pthread_mutex_unlock.c:290
#2  0x00007fb3bad6010a in ?? () from /lib/libglib-2.0.so.0
#3  0x00007fb3bad6045c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007fb3c19e71e6 in QEventDispatcherGlib::processEvents (this=0x50f44d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#5  0x00007fb3c19b9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007fb3c19b9dec in QEventLoop::exec (this=0x7fb398c58db0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007fb3c18c42fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007fb3c19995f8 in QInotifyFileSystemWatcherEngine::run (this=0x6d08d60) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007fb3c18c727e in QThreadPrivate::start (arg=0x6d08d60) at thread/qthread_unix.cpp:266
#10 0x00007fb3c163c971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#11 0x00007fb3bff1192d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fb3c4389760 (LWP 32196)):
[KCrash Handler]
#6  memcpy () at ../sysdeps/x86_64/memcpy.S:162
#7  0x00007fb3c3ec8237 in bt::ChunkDownload::piece (this=0xb61d360, p=..., ok=@0x7fffca056bff) at /usr/include/bits/string3.h:52
#8  0x00007fb3c3ecebde in bt::Downloader::pieceReceived (this=0x7fb3a8553fa0, p=...) at ../../src/download/downloader.cpp:134
#9  0x00007fb3c3eb2315 in bt::Peer::packetReady (this=0xb3b1ba0, packet=0x7fb38a4ace50 "\a", len=<value optimized out>) at ../../src/peer/peer.cpp:283
#10 0x00007fb3c3ebd248 in bt::PacketReader::update (this=0x4b98ab0) at ../../src/peer/packetreader.cpp:141
#11 0x00007fb3c3eb10d5 in bt::Peer::update (this=0xb3b1ba0) at ../../src/peer/peer.cpp:538
#12 0x00007fb3c3eb6995 in bt::PeerManager::update (this=0x7fb3a856fa10) at ../../src/peer/peermanager.cpp:144
#13 0x00007fb3c3ee88a4 in bt::TorrentControl::update (this=0x7fb3a8551270) at ../../src/torrent/torrentcontrol.cpp:163
#14 0x0000000000428cc3 in kt::Core::update (this=0x7fb3a8003c40) at ../../ktorrent/core.cpp:1023
#15 0x0000000000431322 in kt::Core::qt_metacall (this=0x7fb3a8003c40, _c=QMetaObject::InvokeMetaMethod, _id=210, _a=0x7fffca057010) at ./core.moc:169
#16 0x00007fb3c19d2b27 in QMetaObject::activate (sender=0x7fb3a8003c68, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xfffffff9) at kernel/qobject.cpp:3280
#17 0x00007fb3c19cc8f9 in QObject::event (this=0x7fb3a8003c68, e=0x7fb38a4ace59) at kernel/qobject.cpp:1183
#18 0x00007fb3c0b04fdc in QApplicationPrivate::notify_helper (this=0x1787f80, receiver=0x7fb3a8003c68, e=0x7fffca057740) at kernel/qapplication.cpp:4396
#19 0x00007fb3c0b0aaed in QApplication::notify (this=0x7fffca057a70, receiver=0x7fb3a8003c68, e=0x7fffca057740) at kernel/qapplication.cpp:4277
#20 0x0000000000437e4a in kt::App::notify (this=0x7fb39db36528, receiver=0x7fb38a4ace59, event=0x3ff9) at ../../ktorrent/app.cpp:97
#21 0x00007fb3c19bacdc in QCoreApplication::notifyInternal (this=0x7fffca057a70, receiver=0x7fb3a8003c68, event=0x7fffca057740) at kernel/qcoreapplication.cpp:732
#22 0x00007fb3c19ea6f2 in sendEvent (this=0x1784210) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#23 QTimerInfoList::activateTimers (this=0x1784210) at kernel/qeventdispatcher_unix.cpp:602
#24 0x00007fb3c19e74a4 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#25 0x00007fb3bad5c342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#26 0x00007fb3bad602a8 in ?? () from /lib/libglib-2.0.so.0
#27 0x00007fb3bad6045c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#28 0x00007fb3c19e7193 in QEventDispatcherGlib::processEvents (this=0x1753320, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#29 0x00007fb3c0bb7a4e in QGuiEventDispatcherGlib::processEvents (this=0x7fb39db36528, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007fb3c19b9a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#31 0x00007fb3c19b9dec in QEventLoop::exec (this=0x7fffca0579e0, flags=) at kernel/qeventloop.cpp:201
#32 0x00007fb3c19bdebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#33 0x0000000000426d3b in main (argc=<value optimized out>, argv=<value optimized out>) at ../../ktorrent/main.cpp:176

Possible duplicates by query: bug 258765, bug 258248, bug 257314, bug 256822, bug 256348.

Reported using DrKonqi
Comment 1 Joris Guisson 2010-12-08 18:18:48 UTC

*** This bug has been marked as a duplicate of bug 241598 ***
Comment 2 drvik 2010-12-08 23:54:50 UTC
I don't understand why this bug has been marked as fixed... I am running 4.0.4 which is long after the http://websvn.kde.org/?view=rev&revision=1137933 commit... if it's fixed then why did this happen??
Comment 3 drvik 2010-12-09 05:22:43 UTC
Created attachment 54330 [details]
New crash information added by DrKonqi

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

- What I was doing when the application crashed:

Using webbrowser while ktorrent was running in the background....

However this time I noticed that I had a problem with the partition that the torrents are saved to... it is a raid5 with XFS...  so I don't know if the partition going offline/down caused ktorrent to crash, or if the torrent crash caused the partition to go offline....

-- Backtrace (Reduced):
#6  memcpy () at ../sysdeps/x86_64/memcpy.S:267
#7  0x00007faf776a5237 in bt::ChunkDownload::piece (this=0x5f8dbd0, p=..., ok=@0x7fff31a4474f) at /usr/include/bits/string3.h:52
#8  0x00007faf776abbde in bt::Downloader::pieceReceived (this=0x25b8690, p=...) at ../../src/download/downloader.cpp:134
#9  0x00007faf7768f315 in bt::Peer::packetReady (this=0x545a5b0, packet=0x7faf3ea55630 "\a", len=<value optimized out>) at ../../src/peer/peer.cpp:283
#10 0x00007faf7769a248 in bt::PacketReader::update (this=0x82e2da0) at ../../src/peer/packetreader.cpp:141
Comment 4 Joris Guisson 2010-12-11 12:44:31 UTC
> I don't understand why this bug has been marked as fixed... I am running 4.0.4
> which is long after the http://websvn.kde.org/?view=rev&revision=1137933
> commit... if it's fixed then why did this happen??

Because the fix was not part of 4.0.4, it will be part of the 4.1 branch

*** This bug has been marked as a duplicate of bug 241598 ***