Bug 269657 - crash while downloading torrents unattended.
Summary: crash while downloading torrents unattended.
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:
Depends on:
Blocks:
 
Reported: 2011-03-29 03:05 UTC by craig.mcnaughton
Modified: 2011-04-20 12:29 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (14.02 KB, text/plain)
2011-04-20 12:29 UTC, Daniel L McGrew
Details

Note You need to log in before you can comment on or make changes to this bug.
Description craig.mcnaughton 2011-03-29 03:05:26 UTC
Application: ktorrent (4.0.3)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-28-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
Machine left on overnight downloading and ktorrent crashed sometime during the night with no other access or use of the machine going on.

The crash can be reproduced some of the time.

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

Thread 7 (Thread 0xb7624b70 (LWP 1635)):
#0  0x00845416 in __kernel_vsyscall ()
#1  0x07b64df6 in poll () from /lib/libc.so.6
#2  0x02da4a1b in g_poll () from /lib/libglib-2.0.so.0
#3  0x02d9743c in ?? () from /lib/libglib-2.0.so.0
#4  0x02d97ba7 in g_main_loop_run () from /lib/libglib-2.0.so.0
#5  0x07e9f9c4 in ?? () from /usr/lib/libgio-2.0.so.0
#6  0x02dbe48f in ?? () from /lib/libglib-2.0.so.0
#7  0x0082ecc9 in start_thread () from /lib/libpthread.so.0
#8  0x07b7369e in clone () from /lib/libc.so.6

Thread 6 (Thread 0xb46b8b70 (LWP 1682)):
#0  0x00845416 in __kernel_vsyscall ()
#1  0x008334dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0267aef2 in QMutexPrivate::wait (this=0x99e9980, timeout=-1) at thread/qmutex_unix.cpp:84
#3  0x026765ca in QMutex::lock (this=0x97edbcc) at thread/qmutex.cpp:167
#4  0x00206e1b in QMutexLocker (this=0x97edb70) at /usr/include/qt4/QtCore/qmutex.h:102
#5  utp::UTPServer::wakeUpPollPipes (this=0x97edb70) at ../../src/utp/utpserver.cpp:510
#6  0x00206f60 in utp::UTPServer::timerEvent (this=0xfffffe00, event=0x450e3) at ../../src/utp/utpserver.cpp:502
#7  0x02790504 in QObject::event (this=0x97edb70, e=0x450e3) at kernel/qobject.cpp:1183
#8  0x01370fdc in QApplicationPrivate::notify_helper (this=0x97ed1f8, receiver=0x97edb70, e=0xb46b8010) at kernel/qapplication.cpp:4396
#9  0x0137704e in QApplication::notify (this=0xbf863be0, receiver=0x97edb70, e=0xb46b8010) at kernel/qapplication.cpp:3798
#10 0x080783dc in kt::App::notify (this=0x80, receiver=0x450e3, event=0xfffffe00) at ../../ktorrent/app.cpp:97
#11 0x0277db3b in QCoreApplication::notifyInternal (this=0xbf863be0, receiver=0x97edb70, event=0xb46b8010) at kernel/qcoreapplication.cpp:732
#12 0x027afad6 in sendEvent (this=0xb6d04dbc) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#13 QTimerInfoList::activateTimers (this=0xb6d04dbc) at kernel/qeventdispatcher_unix.cpp:602
#14 0x027ac8a7 in timerSourceDispatch (source=0xb6d05a80) at kernel/qeventdispatcher_glib.cpp:184
#15 idleTimerSourceDispatch (source=0xb6d05a80) at kernel/qeventdispatcher_glib.cpp:231
#16 0x02d93855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#17 0x02d97668 in ?? () from /lib/libglib-2.0.so.0
#18 0x02d97848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#19 0x027ac59f in QEventDispatcherGlib::processEvents (this=0x99edb18, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#20 0x0277c609 in QEventLoop::processEvents (this=0xb46b8290, flags=) at kernel/qeventloop.cpp:149
#21 0x0277ca8a in QEventLoop::exec (this=0xb46b8290, flags=...) at kernel/qeventloop.cpp:201
#22 0x02678b7e in QThread::exec (this=0x99ee200) at thread/qthread.cpp:490
#23 0x0020c39e in utp::UTPServerThread::run (this=0x99ee200) at ../../src/utp/utpserverthread.cpp:44
#24 0x0267bdf9 in QThreadPrivate::start (arg=0x99ee200) at thread/qthread_unix.cpp:266
#25 0x0082ecc9 in start_thread () from /lib/libpthread.so.0
#26 0x07b7369e in clone () from /lib/libc.so.6

Thread 5 (Thread 0xb3eb7b70 (LWP 1683)):
#0  0x00845416 in __kernel_vsyscall ()
#1  0x07b6c371 in select () from /lib/libc.so.6
#2  0x001ce8db in dht::RPCServerThread::run (this=0x99f34a8) at ../../src/dht/rpcserver.cpp:107
#3  0x0267bdf9 in QThreadPrivate::start (arg=0x99f34a8) at thread/qthread_unix.cpp:266
#4  0x0082ecc9 in start_thread () from /lib/libpthread.so.0
#5  0x07b7369e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xb036fb70 (LWP 1721)):
#0  0x07b11965 in ?? () from /lib/libc.so.6
#1  0x07b13f33 in malloc () from /lib/libc.so.6
#2  0x0267611d in qMalloc (size=8) at global/qmalloc.cpp:55
#3  0x0269a9c3 in QHashData::allocateNode (this=0xb196fcc8, nodeAlign=4) at tools/qhash.cpp:175
#4  0x0021237b in createNode (this=0xb0c374f8, p=0x97c9980, conn_id=23752, self=...) at /usr/include/qt4/QtCore/qhash.h:541
#5  insert (this=0xb0c374f8, p=0x97c9980, conn_id=23752, self=...) at /usr/include/qt4/QtCore/qhash.h:760
#6  insert (this=0xb0c374f8, p=0x97c9980, conn_id=23752, self=...) at /usr/include/qt4/QtCore/qset.h:176
#7  utp::PollPipe::prepare (this=0xb0c374f8, p=0x97c9980, conn_id=23752, self=...) at ../../src/utp/pollpipe.cpp:41
#8  0x00208944 in utp::UTPServer::preparePolling (this=0x97edb70, p=0x97c9980, mode=net::Poll::INPUT, conn=0x9ebfd60) at ../../src/utp/utpserver.cpp:539
#9  0x00210ff9 in utp::UTPSocket::prepare (this=0x9dc6900, p=0x97c9980, mode=net::Poll::INPUT) at ../../src/utp/utpsocket.cpp:199
#10 0x001614a0 in net::DownloadThread::waitForSocketReady (this=0x97c9978) at ../../src/net/downloadthread.cpp:123
#11 0x001615af in net::DownloadThread::update (this=0x97c9978) at ../../src/net/downloadthread.cpp:48
#12 0x00162178 in net::NetworkThread::run (this=0x97c9978) at ../../src/net/networkthread.cpp:48
#13 0x0267bdf9 in QThreadPrivate::start (arg=0x97c9978) at thread/qthread_unix.cpp:266
#14 0x0082ecc9 in start_thread () from /lib/libpthread.so.0
#15 0x07b7369e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xafb6eb70 (LWP 1722)):
#0  0x00845416 in __kernel_vsyscall ()
#1  0x008334dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0267aef2 in QMutexPrivate::wait (this=0x97c9910, timeout=-1) at thread/qmutex_unix.cpp:84
#3  0x026765ca in QMutex::lock (this=0x8116894) at thread/qmutex.cpp:167
#4  0x0015f890 in net::SocketMonitor::lock (this=0x8116890) at ../../src/net/socketmonitor.cpp:82
#5  0x00160882 in net::UploadThread::waitForSocketsReady (this=0x97c9d80) at ../../src/net/uploadthread.cpp:112
#6  0x00160aff in net::UploadThread::update (this=0x97c9d80) at ../../src/net/uploadthread.cpp:45
#7  0x00162178 in net::NetworkThread::run (this=0x97c9d80) at ../../src/net/networkthread.cpp:48
#8  0x0267bdf9 in QThreadPrivate::start (arg=0x97c9d80) at thread/qthread_unix.cpp:266
#9  0x0082ecc9 in start_thread () from /lib/libpthread.so.0
#10 0x07b7369e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xaf36db70 (LWP 1723)):
#0  0x00845416 in __kernel_vsyscall ()
#1  0x008334dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0267c9c7 in wait (this=0xa80e8a4, mutex=0xa80e8a0, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#3  QWaitCondition::wait (this=0xa80e8a4, mutex=0xa80e8a0, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#4  0x001658f2 in net::ReverseResolverThread::run (this=0xa80e898) at ../../src/net/reverseresolver.cpp:123
#5  0x0267bdf9 in QThreadPrivate::start (arg=0xa80e898) at thread/qthread_unix.cpp:266
#6  0x0082ecc9 in start_thread () from /lib/libpthread.so.0
#7  0x07b7369e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb785d710 (LWP 1610)):
[KCrash Handler]
#7  0x037b0538 in KNetwork::KSocketAddress::operator== (this=0xb1071c2c, other=...) at ../../kdecore/network/k3socketaddress.cpp:510
#8  0x001d00c2 in dht::KBucket::onTimeout (this=0xae7fce58, addr=...) at ../../src/dht/kbucket.cpp:278
#9  0x001d1f1f in dht::Node::onTimeout (this=0x99f3138, msg=0xb0cf4db8) at ../../src/dht/node.cpp:176
#10 0x001bcad7 in dht::DHT::timeout (this=0x99eb968, r=0xb0cf4db8) at ../../src/dht/dht.cpp:351
#11 0x001ccd67 in dht::RPCServer::timedOut (this=0x99f3028, mtid=6 '\006') at ../../src/dht/rpcserver.cpp:299
#12 0x001d32ec in dht::RPCCall::onTimeout (this=0xb1ae6810) at ../../src/dht/rpccall.cpp:57
#13 0x001d3393 in dht::RPCCall::qt_metacall (this=0xb1ae6810, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xbf86338c) at ./rpccall.moc:143
#14 0x027838ca in QMetaObject::metacall (object=0xb1ae6810, cl=2145560878, idx=6, argv=0xbf86338c) at kernel/qmetaobject.cpp:237
#15 0x027966ad in QMetaObject::activate (sender=0xb1ae681c, m=0x28b05a4, local_signal_index=0, argv=0x10) at kernel/qobject.cpp:3280
#16 0x027e81e7 in QTimer::timeout (this=0xb1ae681c) at .moc/release-shared/moc_qtimer.cpp:134
#17 0x0279c1ce in QTimer::timerEvent (this=0xb1ae681c, e=0xbf863890) at kernel/qtimer.cpp:271
#18 0x02790504 in QObject::event (this=0xb1ae681c, e=0xb1029970) at kernel/qobject.cpp:1183
#19 0x01370fdc in QApplicationPrivate::notify_helper (this=0x97ed1f8, receiver=0xb1ae681c, e=0xbf863890) at kernel/qapplication.cpp:4396
#20 0x0137704e in QApplication::notify (this=0xbf863be0, receiver=0xb1ae681c, e=0xbf863890) at kernel/qapplication.cpp:3798
#21 0x080783dc in kt::App::notify (this=0x7fe2a92e, receiver=0xb1029970, event=0x10) at ../../ktorrent/app.cpp:97
#22 0x0277db3b in QCoreApplication::notifyInternal (this=0xbf863be0, receiver=0xb1ae681c, event=0xbf863890) at kernel/qcoreapplication.cpp:732
#23 0x027afad6 in sendEvent (this=0x97f0634) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#24 QTimerInfoList::activateTimers (this=0x97f0634) at kernel/qeventdispatcher_unix.cpp:602
#25 0x027ac8a7 in timerSourceDispatch (source=0x97f0668) at kernel/qeventdispatcher_glib.cpp:184
#26 idleTimerSourceDispatch (source=0x97f0668) at kernel/qeventdispatcher_glib.cpp:231
#27 0x02d93855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#28 0x02d97668 in ?? () from /lib/libglib-2.0.so.0
#29 0x02d97848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#30 0x027ac565 in QEventDispatcherGlib::processEvents (this=0x97c86d8, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#31 0x01432be5 in QGuiEventDispatcherGlib::processEvents (this=0x97c86d8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#32 0x0277c609 in QEventLoop::processEvents (this=0xbf863b54, flags=) at kernel/qeventloop.cpp:149
#33 0x0277ca8a in QEventLoop::exec (this=0xbf863b54, flags=...) at kernel/qeventloop.cpp:201
#34 0x0278100f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#35 0x0136fe07 in QApplication::exec () at kernel/qapplication.cpp:3672
#36 0x08066e91 in main (argc=1, argv=0xbf863fe4) at ../../ktorrent/main.cpp:176

Reported using DrKonqi
Comment 1 Joris Guisson 2011-03-29 19:17:38 UTC
Git commit 6eeea71f25629a91941d30f355fecbb48db677f1 by Joris.
Committed on 29/03/2011 at 19:20.
Pushed by guisson into branch 'master'.

Fix crash in DHT code caused by invalid addresses

BUG: 269657

M  +1    -0    ChangeLog     
M  +6    -0    src/dht/node.cpp     
M  +1    -1    src/dht/task.cpp     

http://commits.kde.org/libktorrent/6eeea71f25629a91941d30f355fecbb48db677f1
Comment 2 Joris Guisson 2011-03-29 19:20:39 UTC
Git commit bbc7d2883e39b7c73c94f172289dc1f965193415 by Joris.
Committed on 29/03/2011 at 19:20.
Pushed by guisson into branch '1.1'.

Backport to 1.1: Fix crash in DHT code caused by invalid addresses

CCBUG: 269657

M  +1    -0    ChangeLog     
M  +6    -0    src/dht/node.cpp     
M  +1    -1    src/dht/task.cpp     

http://commits.kde.org/libktorrent/bbc7d2883e39b7c73c94f172289dc1f965193415
Comment 3 Daniel L McGrew 2011-04-20 12:29:45 UTC
Created attachment 59153 [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:

- Custom settings of the application:

crashes every single time, with or without other programs running. Normally, it runs great with fewer than 7 torrents running. With more than 7 it, within moments of starting, crashes consistently.

-- Backtrace (Reduced):
#6  QCoreApplication::notifyInternal (this=0x7fff424c36b0, receiver=0x7f04982f0cd0, event=0x7f04c51beb40) at kernel/qcoreapplication.cpp:720
#7  0x00007f04d76e16f2 in sendEvent (this=0x7f04c0001e60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#8  QTimerInfoList::activateTimers (this=0x7f04c0001e60) at kernel/qeventdispatcher_unix.cpp:602
#9  0x00007f04d76de4c8 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#10 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231