Bug 270109

Summary: KTorrent crash
Product: [Applications] ktorrent Reporter: Alexey Shildyakov <ashl1future>
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Alexey Shildyakov 2011-04-04 23:43:14 UTC
Application: ktorrent (4.2dev)
KDE Platform Version: 4.6.1 (4.6.1) (Compiled from sources)
Qt Version: 4.7.2
Operating System: Linux 2.6.37-gentoo x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
KTorrent crash with this error and XIOError (don't know that erro is a hidden of this).

KTorrent: at commit b6f8585cdb61fb79b25de26f4194da66fdd3e0d3

The crash can be reproduced every time.

-- Backtrace:
Application: KTorrent (ktorrent), signal: Segmentation fault
pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
	in ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
[Current thread is 1 (Thread 0x7fcf7107d760 (LWP 11007))]

Thread 9 (Thread 0x7fcf5ba24700 (LWP 11009)):
[KCrash Handler]
#6  QHashNode<unsigned short, QHashDummyValue>::same_key (this=0x454d49545f, h0=28493) at /usr/include/qt4/QtCore/qhash.h:251
#7  0x00007fcf70bf8b0e in QHash<unsigned short, QHashDummyValue>::findNode (this=<value optimized out>, akey=@0x7fcf5ba232cc, ahp=0x0) at /usr/include/qt4/QtCore/qhash.h:885
#8  0x00007fcf70bf8b6b in QHash<unsigned short, QHashDummyValue>::contains (this=0x454d49545f, akey=@0x6f4d) at /usr/include/qt4/QtCore/qhash.h:872
#9  0x00007fcf70bf8bc0 in utp::PollPipe::polling (this=<value optimized out>, conn=28493) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/pollpipe.h:56
#10 0x00007fcf70bf3e41 in utp::UTPServer::Private::wakeUpPollPipes (this=<value optimized out>, conn=<value optimized out>, readable=true, writeable=false) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/utpserver.cpp:193
#11 0x00007fcf70bf3f6f in utp::UTPServer::stateChanged (this=0x19c97f0, conn=<value optimized out>, readable=77, writeable=204) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/utpserver.cpp:476
#12 0x00007fcf70bfad36 in utp::Connection::checkState (this=0x7fcf3c3f8980) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/connection.cpp:284
#13 0x00007fcf70bfc6ee in utp::Connection::handleTimeout (this=0x7fcf3c3f8980) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/connection.cpp:641
#14 0x00007fcf70bf38c8 in utp::UTPServer::timerEvent (this=0x19c97f0, ev=0x7fcf5ba23b90) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/utpserver.cpp:577
#15 0x00007fcf6e7079b9 in QObject::event (this=0x19c97f0, e=0x6f4d) at kernel/qobject.cpp:1181
#16 0x00007fcf6d77a4bc in QApplicationPrivate::notify_helper (this=0x18f4030, receiver=0x19c97f0, e=0x7fcf5ba23b90) at kernel/qapplication.cpp:4462
#17 0x00007fcf6d7827c7 in QApplication::notify (this=0x7fffcb4ce170, receiver=0x19c97f0, e=0x7fcf5ba23b90) at kernel/qapplication.cpp:4341
#18 0x000000000043e48c in kt::App::notify (this=0x7fffcb4ce170, receiver=0x19c97f0, event=0x7fcf5ba23b90) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/app.cpp:99
#19 0x00007fcf6e6f4e0b in QCoreApplication::notifyInternal (this=0x7fffcb4ce170, receiver=0x19c97f0, event=0x7fcf5ba23b90) at kernel/qcoreapplication.cpp:731
#20 0x00007fcf6e727d5a in sendEvent (this=0x7fcf5404a750) at kernel/qcoreapplication.h:215
#21 QTimerInfoList::activateTimers (this=0x7fcf5404a750) at kernel/qeventdispatcher_unix.cpp:604
#22 0x00007fcf6e724a74 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#23 0x00007fcf684adff9 in g_main_dispatch (context=0x7fcf54049270) at gmain.c:2440
#24 g_main_context_dispatch (context=0x7fcf54049270) at gmain.c:3013
#25 0x00007fcf684b2538 in g_main_context_iterate (context=0x7fcf54049270, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3091
#26 0x00007fcf684b26de in g_main_context_iteration (context=0x7fcf54049270, may_block=1) at gmain.c:3154
#27 0x00007fcf6e72475e in QEventDispatcherGlib::processEvents (this=0x19aff80, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#28 0x00007fcf6e6f3a12 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#29 0x00007fcf6e6f3ddd in QEventLoop::exec (this=0x7fcf5ba23e20, flags=) at kernel/qeventloop.cpp:201
#30 0x00007fcf6e5f26d8 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#31 0x00007fcf6e5f53aa in QThreadPrivate::start (arg=0x19b0340) at thread/qthread_unix.cpp:320
#32 0x00007fcf6e35fc3a in start_thread (arg=<value optimized out>) at pthread_create.c:301
#33 0x00007fcf6cb4fd1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 8 (Thread 0x7fcf5b223700 (LWP 11010)):
#0  0x00007fcf6cb46f33 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=500) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fcf70b49431 in net::Poll::poll (this=0x7fcf5b222d50, timeout=<value optimized out>) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/poll.cpp:99
#2  0x00007fcf70bc1677 in dht::RPCServer::Private::run (this=<value optimized out>) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/dht/rpcserver.cpp:95
#3  0x00007fcf6e5f53aa in QThreadPrivate::start (arg=0x1a1b0b0) at thread/qthread_unix.cpp:320
#4  0x00007fcf6e35fc3a in start_thread (arg=<value optimized out>) at pthread_create.c:301
#5  0x00007fcf6cb4fd1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 7 (Thread 0x7fcf5c225700 (LWP 11012)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007fcf53dbb1e1 in metronom_sync_loop (this=0x4f39a10) at metronom.c:870
#2  0x00007fcf6e35fc3a in start_thread (arg=<value optimized out>) at pthread_create.c:301
#3  0x00007fcf6cb4fd1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7fcf4bd00700 (LWP 11013)):
#0  0xffffffffff600107 in ?? ()
#1  0x00007fcf4bcffa90 in ?? ()
#2  0x00007fffcb5ff852 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 5 (Thread 0x7fcf4b2fa700 (LWP 11014)):
#0  0x00007fcf6cb46f33 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fcf664cd873 in poll_func (ufds=0x4f3b420, nfds=<value optimized out>, timeout=<value optimized out>, userdata=0x4ec95e0) at pulse/thread-mainloop.c:75
#2  0x00007fcf664bd836 in pa_mainloop_poll (m=0x4ec94e0) at pulse/mainloop.c:879
#3  0x00007fcf664bec0e in pa_mainloop_iterate (m=0x4ec94e0, block=<value optimized out>, retval=0x0) at pulse/mainloop.c:961
#4  0x00007fcf664becf0 in pa_mainloop_run (m=0x4ec94e0, retval=0x0) at pulse/mainloop.c:979
#5  0x00007fcf664cd653 in thread (userdata=0x4ec93c0) at pulse/thread-mainloop.c:94
#6  0x00007fcf654a6217 in internal_thread_func (userdata=0x4ec9690) at pulsecore/thread-posix.c:83
#7  0x00007fcf6e35fc3a in start_thread (arg=<value optimized out>) at pthread_create.c:301
#8  0x00007fcf6cb4fd1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7fcf46af8700 (LWP 11015)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fcf53dc9323 in fifo_peek_int (fifo=0x4f5dd80, blocking=1) at audio_out.c:348
#2  0x00007fcf53dcad3a in fifo_peek (this_gen=<value optimized out>) at audio_out.c:388
#3  ao_loop (this_gen=<value optimized out>) at audio_out.c:1015
#4  0x00007fcf6e35fc3a in start_thread (arg=<value optimized out>) at pthread_create.c:301
#5  0x00007fcf6cb4fd1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7fcf420c8700 (LWP 11049)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fcf6e5f44f3 in QMutexPrivate::wait (this=0x18a6390, timeout=-1) at thread/qmutex_unix.cpp:84
#2  0x00007fcf6e5ef0cd in QMutex::lock (this=0x18a59e0) at thread/qmutex.cpp:167
#3  0x00007fcf70b4433c in net::DownloadThread::waitForSocketReady (this=0x18a6410) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/downloadthread.cpp:110
#4  0x00007fcf70b44456 in net::DownloadThread::update (this=0x18a63dc) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/downloadthread.cpp:48
#5  0x00007fcf70b44ee9 in net::NetworkThread::run (this=0x18a6410) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/networkthread.cpp:48
#6  0x00007fcf6e5f53aa in QThreadPrivate::start (arg=0x18a6410) at thread/qthread_unix.cpp:320
#7  0x00007fcf6e35fc3a in start_thread (arg=<value optimized out>) at pthread_create.c:301
#8  0x00007fcf6cb4fd1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7fcf408c5700 (LWP 11050)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fcf6e5f44f3 in QMutexPrivate::wait (this=0x18f63b0, timeout=-1) at thread/qmutex_unix.cpp:84
#2  0x00007fcf6e5ef0cd in QMutex::lock (this=0x19af408) at thread/qmutex.cpp:167
#3  0x00007fcf70b42522 in QMutexLocker::QMutexLocker (this=0x7fcf408c4cc0, m=<value optimized out>) at /usr/include/qt4/QtCore/qmutex.h:102
#4  0x00007fcf70bf4116 in utp::UTPServer::preparePolling (this=0x19c97f0, p=0x18a6940, mode=136217, conn=) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/utpserver.cpp:452
#5  0x00007fcf70bfff21 in utp::UTPSocket::prepare (this=0x7fcf543488f0, p=0x18a6940, mode=net::Poll::OUTPUT) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/utp/utpsocket.cpp:212
#6  0x00007fcf70b432d1 in net::UploadThread::waitForSocketsReady (this=0x18a6930) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/uploadthread.cpp:124
#7  0x00007fcf70b43356 in net::UploadThread::update (this=0x18f63fc) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/uploadthread.cpp:45
#8  0x00007fcf70b44ee9 in net::NetworkThread::run (this=0x18a6930) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/networkthread.cpp:48
#9  0x00007fcf6e5f53aa in QThreadPrivate::start (arg=0x18a6930) at thread/qthread_unix.cpp:320
#10 0x00007fcf6e35fc3a in start_thread (arg=<value optimized out>) at pthread_create.c:301
#11 0x00007fcf6cb4fd1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7fcf7107d760 (LWP 11007)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fcf6e5f44f3 in QMutexPrivate::wait (this=0x18a6390, timeout=-1) at thread/qmutex_unix.cpp:84
#2  0x00007fcf6e5ef0cd in QMutex::lock (this=0x18a59e0) at thread/qmutex.cpp:167
#3  0x00007fcf70b42522 in QMutexLocker::QMutexLocker (this=0x7fffcb4cd3b0, m=<value optimized out>) at /usr/include/qt4/QtCore/qmutex.h:102
#4  0x00007fcf70b41bc3 in net::SocketMonitor::remove (this=<value optimized out>, sock=0x6b4dd60) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/socketmonitor.cpp:169
#5  0x00007fcf70b4cf05 in mse::StreamSocket::stopMonitoring (this=0x60c0820) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/mse/streamsocket.cpp:114
#6  0x00007fcf70b59e96 in bt::Peer::~Peer (this=0x7fcf5441f700, __in_chrg=<value optimized out>) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/peer/peer.cpp:115
#7  0x00007fcf70b60566 in qDeleteAll<QList<bt::Peer*>::const_iterator> (begin=) at /usr/include/qt4/QtCore/qalgorithms.h:322
#8  0x00007fcf70b607d1 in qDeleteAll<QList<bt::Peer*> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330
#9  0x00007fcf70b5d185 in bt::PeerManager::clearDeadPeers (this=0x1f89490) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/peer/peermanager.cpp:327
#10 0x00007fcf70b9f453 in bt::TorrentControl::update (this=0x1f8ae70) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/torrent/torrentcontrol.cpp:168
#11 0x0000000000430505 in kt::Core::update (this=0x19deeb0) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/core.cpp:1052
#12 0x00000000004340c2 in kt::Core::qt_metacall (this=0x19deeb0, _c=QMetaObject::InvokeMetaMethod, _id=-512, _a=0x7fffcb4cd6e0) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999_build/ktorrent/core.moc:164
#13 0x00007fcf6e70f60a in QMetaObject::activate (sender=0x19deed8, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffffffffffff) at kernel/qobject.cpp:3278
#14 0x00007fcf6e7079b9 in QObject::event (this=0x19deed8, e=0x80) at kernel/qobject.cpp:1181
#15 0x00007fcf6d77a4bc in QApplicationPrivate::notify_helper (this=0x18f4030, receiver=0x19deed8, e=0x7fffcb4cde10) at kernel/qapplication.cpp:4462
#16 0x00007fcf6d7827c7 in QApplication::notify (this=0x7fffcb4ce170, receiver=0x19deed8, e=0x7fffcb4cde10) at kernel/qapplication.cpp:4341
#17 0x000000000043e48c in kt::App::notify (this=0x7fffcb4ce170, receiver=0x19deed8, event=0x7fffcb4cde10) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/app.cpp:99
#18 0x00007fcf6e6f4e0b in QCoreApplication::notifyInternal (this=0x7fffcb4ce170, receiver=0x19deed8, event=0x7fffcb4cde10) at kernel/qcoreapplication.cpp:731
#19 0x00007fcf6e727d5a in sendEvent (this=0x18f3eb0) at kernel/qcoreapplication.h:215
#20 QTimerInfoList::activateTimers (this=0x18f3eb0) at kernel/qeventdispatcher_unix.cpp:604
#21 0x00007fcf6e724a98 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#22 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#23 0x00007fcf684adff9 in g_main_dispatch (context=0x18f3270) at gmain.c:2440
#24 g_main_context_dispatch (context=0x18f3270) at gmain.c:3013
#25 0x00007fcf684b2538 in g_main_context_iterate (context=0x18f3270, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3091
#26 0x00007fcf684b26de in g_main_context_iteration (context=0x18f3270, may_block=1) at gmain.c:3154
#27 0x00007fcf6e72475e in QEventDispatcherGlib::processEvents (this=0x18f30e0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#28 0x00007fcf6d838e26 in QGuiEventDispatcherGlib::processEvents (this=0x18a63dc, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#29 0x00007fcf6e6f3a12 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#30 0x00007fcf6e6f3ddd in QEventLoop::exec (this=0x7fffcb4ce0d0, flags=) at kernel/qeventloop.cpp:201
#31 0x00007fcf6e6f667b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#32 0x000000000042d6bb in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/main.cpp:177

Possible duplicates by query: bug 259046.

Reported using DrKonqi
Comment 1 Joris Guisson 2011-04-05 19:28:00 UTC
How easily can you reproduce this ?

I have only experienced this once, but that didn't yield much useful information.
Comment 2 Alexey Shildyakov 2011-04-06 01:00:17 UTC
I don't know how simply reproduce it.
This happend after 2 days of seeding about 170 torrents.
Comment 3 Joris Guisson 2011-04-08 11:27:49 UTC

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