Bug 241165 - Crash when seedding over 150 torrents
Summary: Crash when seedding over 150 torrents
Status: RESOLVED FIXED
Alias: None
Product: ktorrent
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Joris Guisson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-09 04:03 UTC by Alexey Shildyakov
Modified: 2010-06-14 20:10 UTC (History)
0 users

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 Alexey Shildyakov 2010-06-09 04:03:13 UTC
Application: ktorrent (4.0.0)
KDE Platform Version: 4.4.4 (KDE 4.4.4) (Compiled from sources)
Qt Version: 4.6.2
Operating System: Linux 2.6.33-gentoo x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
Crash after several minutes.

The crash can be reproduced every time.

 -- Backtrace:
Application: KTorrent (ktorrent), signal: Segmentation fault
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.2200.5-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
[Current thread is 1 (Thread 0x7f85ec5e7760 (LWP 21019))]

Thread 6 (Thread 0x7f85dcf30710 (LWP 21023)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f85e8172298 in _L_lock_9636 () from /lib/libc.so.6
#2  0x00007f85e8170671 in *__GI___libc_free (mem=0x7f85d0000020) at malloc.c:3736
#3  0x00007f85e9c4e20c in QList<QPair<int, int> >::node_destruct (this=<value optimized out>, data=0x80) at ../../include/QtCore/../../src/corelib/tools/qlist.h:402
#4  QList<QPair<int, int> >::free (this=<value optimized out>, data=0x80) at ../../include/QtCore/../../src/corelib/tools/qlist.h:646
#5  0x00007f85e9c45a9f in QObjectPrivate::_q_reregisterTimers (this=<value optimized out>, pointer=0x7f85bf8a4cd0) at kernel/qobject.cpp:1572
#6  0x00007f85e9c4a412 in QObject::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=-801920864, _a=0xffffffffffffffff) at .moc/release-shared/moc_qobject.cpp:110
#7  0x00007f85ec0f94b0 in utp::Connection::qt_metacall (this=0x7f85d0000020, _c=128, _id=-801920864, _a=0xffffffffffffffff)
    at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0_build/src/moc_connection.cpp:73
#8  0x00007f85e9c46fb1 in QObject::event (this=0x7f85acdfa820, e=0x7f85aee9e230) at kernel/qobject.cpp:1240
#9  0x00007f85e8dbb26c in QApplicationPrivate::notify_helper (this=0x924c70, receiver=0x7f85acdfa820, e=0x7f85aee9e230) at kernel/qapplication.cpp:4300
#10 0x00007f85e8dc186b in QApplication::notify (this=0x7fff93536690, receiver=0x7f85acdfa820, e=0x7f85aee9e230) at kernel/qapplication.cpp:4183
#11 0x00007f85eb2756c8 in KApplication::notify (this=0x7fff93536690, receiver=0x7f85acdfa820, event=0x7f85aee9e230)
    at /var/tmp/portage/kde-base/kdelibs-4.4.4/work/kdelibs-4.4.4/kdeui/kernel/kapplication.cpp:302
#12 0x00007f85e9c372ab in QCoreApplication::notifyInternal (this=0x7fff93536690, receiver=0x7f85acdfa820, event=0x7f85aee9e230) at kernel/qcoreapplication.cpp:704
#13 0x00007f85e9c399d6 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x9232b0) at kernel/qcoreapplication.h:215
#14 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x9232b0) at kernel/qcoreapplication.cpp:1345
#15 0x00007f85e9c60b93 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at kernel/qcoreapplication.h:220
#16 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#17 0x00007f85e4201823 in g_main_dispatch (context=0x922710) at gmain.c:1960
#18 IA__g_main_context_dispatch (context=0x922710) at gmain.c:2513
#19 0x00007f85e4205050 in g_main_context_iterate (context=0x922710, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591
#20 0x00007f85e4205168 in IA__g_main_context_iteration (context=0x922710, may_block=1) at gmain.c:2654
#21 0x00007f85e9c6067e in QEventDispatcherGlib::processEvents (this=0xa6b9b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#22 0x00007f85e9c35bd2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#23 0x00007f85e9c35f9d in QEventLoop::exec (this=0x7f85dcf2fe20, flags=) at kernel/qeventloop.cpp:201
#24 0x00007f85e9b41ea9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#25 0x00007f85e9b44835 in QThreadPrivate::start (arg=0xa6ba10) at thread/qthread_unix.cpp:248
#26 0x00007f85e98b5914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#27 0x00007f85e81ca29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7f85d7fff710 (LWP 21032)):
#0  0x00007f85e81c3993 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f85ec1720c2 in dht::RPCServerThread::run (this=0xa67730) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/dht/rpcserver.cpp:107
#2  0x00007f85e9b44835 in QThreadPrivate::start (arg=0xa67730) at thread/qthread_unix.cpp:248
#3  0x00007f85e98b5914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x00007f85e81ca29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f85dd731710 (LWP 21057)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f85e8172298 in _L_lock_9636 () from /lib/libc.so.6
#2  0x00007f85e8170671 in *__GI___libc_free (mem=0x7f85d0000020) at malloc.c:3736
#3  0x00007f85ec116ea9 in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<int const, QSharedPointer<net::PollClient> > > >::deallocate (this=0x8f2128, __x=0x0)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4/ext/new_allocator.h:95
#4  std::_Rb_tree<int, std::pair<int const, QSharedPointer<net::PollClient> >, std::_Select1st<std::pair<int const, QSharedPointer<net::PollClient> > >, std::less<int>, std::allocator<std::pair<int const, QSharedPointer<net::PollClient> > > >::_M_put_node (this=0x8f2128, __x=0x0) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4/bits/stl_tree.h:363
#5  std::_Rb_tree<int, std::pair<int const, QSharedPointer<net::PollClient> >, std::_Select1st<std::pair<int const, QSharedPointer<net::PollClient> > >, std::less<int>, std::allocator<std::pair<int const, QSharedPointer<net::PollClient> > > >::_M_destroy_node (this=0x8f2128, __x=0x0) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4/bits/stl_tree.h:384
#6  std::_Rb_tree<int, std::pair<int const, QSharedPointer<net::PollClient> >, std::_Select1st<std::pair<int const, QSharedPointer<net::PollClient> > >, std::less<int>, std::allocator<std::pair<int const, QSharedPointer<net::PollClient> > > >::_M_erase (this=0x8f2128, __x=0x0) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4/bits/stl_tree.h:972
#7  0x00007f85ec1166a7 in std::_Rb_tree<int, std::pair<int const, QSharedPointer<net::PollClient> >, std::_Select1st<std::pair<int const, QSharedPointer<net::PollClient> > >, std::less<int>, std::allocator<std::pair<int const, QSharedPointer<net::PollClient> > > >::clear (this=0x8f2100, timeout=<value optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4/bits/stl_tree.h:726
#8  std::map<int, QSharedPointer<net::PollClient>, std::less<int>, std::allocator<std::pair<int const, QSharedPointer<net::PollClient> > > >::clear (this=0x8f2100, timeout=<value optimized out>)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4/bits/stl_map.h:626
#9  net::Poll::poll (this=0x8f2100, timeout=<value optimized out>) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/net/poll.cpp:113
#10 0x00007f85ec112628 in net::DownloadThread::waitForSocketReady (this=0x8f20f0) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/net/downloadthread.cpp:128
#11 0x00007f85ec112716 in net::DownloadThread::update (this=0x7f85d0000020) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/net/downloadthread.cpp:48
#12 0x00007f85ec1131a9 in net::NetworkThread::run (this=0x8f20f0) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/net/networkthread.cpp:48
#13 0x00007f85e9b44835 in QThreadPrivate::start (arg=0x8f20f0) at thread/qthread_unix.cpp:248
#14 0x00007f85e98b5914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#15 0x00007f85e81ca29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f85d6f91710 (LWP 21058)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f85e9b441ba in thread_sleep (ti=0x7f85d6f90dd0) at thread/qthread_unix.cpp:398
#2  0x00007f85e9b44310 in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:424
#3  0x00007f85ec111efd in net::UploadThread::update (this=0x8f2740) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/net/uploadthread.cpp:89
#4  0x00007f85ec1131a9 in net::NetworkThread::run (this=0x8f2740) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/net/networkthread.cpp:48
#5  0x00007f85e9b44835 in QThreadPrivate::start (arg=0x8f2740) at thread/qthread_unix.cpp:248
#6  0x00007f85e98b5914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#7  0x00007f85e81ca29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f85c863a710 (LWP 21059)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f85e9b457ab in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x7f85d003f3f0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x7f85d003f3f0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f85ec1162d2 in net::ReverseResolverThread::run (this=0x7f85d003f3e0) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/net/reverseresolver.cpp:123
#4  0x00007f85e9b44835 in QThreadPrivate::start (arg=0x7f85d003f3e0) at thread/qthread_unix.cpp:248
#5  0x00007f85e98b5914 in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x00007f85e81ca29d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f85ec5e7760 (LWP 21019)):
[KCrash Handler]
#5  _int_malloc (av=0x7f85d0000020, bytes=251) at malloc.c:4625
#6  0x00007f85e8170760 in *__GI___libc_malloc (bytes=251) at malloc.c:3660
#7  0x00007f85e9b47a5d in QByteArray::resize (this=0x7fff93535740, size=219) at tools/qbytearray.cpp:1370
#8  0x00007f85e9c6a20e in QUtf8::convertFromUnicode (uc=0x7f85b745c99a, len=73, state=0xa06b70) at codecs/qutfcodec.cpp:66
#9  0x00007f85e9c6a431 in QUtf8Codec::convertFromUnicode (this=<value optimized out>, uc=0xfb, len=18, state=0x0) at codecs/qutfcodec.cpp:508
#10 0x00007f85e9bdc25d in QTextCodec::fromUnicode (this=0xa06b10) at ../../include/QtCore/../../src/corelib/codecs/qtextcodec.h:121
#11 QTextStreamPrivate::flushWriteBuffer (this=0xa06b10) at io/qtextstream.cpp:672
#12 0x00007f85e9bdd1a9 in flush (stream=...) at io/qtextstream.cpp:2878
#13 0x00007f85ec10458e in operator<< (this=0xa11870) at /usr/include/qt4/QtCore/qtextstream.h:291
#14 bt::Log::Private::finishLine (this=0xa11870) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/util/log.cpp:134
#15 0x00007f85ec1038b7 in bt::Log::Private::endline (lg=...) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/util/log.cpp:156
#16 bt::endl (lg=...) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/util/log.cpp:219
#17 0x00007f85ec11bf18 in bt::Log::operator<< (this=0x7f85acba1af0, ip=..., port=<value optimized out>, proto=bt::UTP, info_hash=<value optimized out>, peer_id=<value optimized out>, pcon=
    0x7f85acb9edb0) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/util/log.h:140
#18 Authenticate (this=0x7f85acba1af0, ip=..., port=<value optimized out>, proto=bt::UTP, info_hash=<value optimized out>, peer_id=<value optimized out>, pcon=0x7f85acb9edb0)
    at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/peer/authenticate.cpp:45
#19 0x00007f85ec12f477 in bt::PeerConnector::start (this=0x7f85acb9edb0, method=<value optimized out>)
    at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/peer/peerconnector.cpp:116
#20 0x00007f85ec126f5b in bt::PeerManager::connectToPeers (this=0x1a32f40) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/peer/peermanager.cpp:434
#21 0x00007f85ec15661f in bt::TorrentControl::update (this=0x1a2eb10) at /var/tmp/portage/net-libs/libktorrent-1.0.0/work/libktorrent-1.0.0/src/torrent/torrentcontrol.cpp:170
#22 0x000000000042d165 in kt::Core::update (this=0x7f85d80037f0) at /var/tmp/portage/net-p2p/ktorrent-4.0.0/work/ktorrent-4.0.0/ktorrent/core.cpp:1020
#23 0x0000000000430c79 in kt::Core::qt_metacall (this=0x7f85d80037f0, _c=QMetaObject::InvokeMetaMethod, _id=-524289, _a=0x7fff93535be0)
    at /var/tmp/portage/net-p2p/ktorrent-4.0.0/work/ktorrent-4.0.0_build/ktorrent/core.moc:167
#24 0x00007f85e9c49fff in QMetaObject::activate (sender=0x7f85d8003818, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x12) at kernel/qobject.cpp:3285
#25 0x00007f85e9c46cb6 in QObject::event (this=0x7f85d8003818, e=0xfb) at kernel/qobject.cpp:1204
#26 0x00007f85e8dbb26c in QApplicationPrivate::notify_helper (this=0x924c70, receiver=0x7f85d8003818, e=0x7fff93536340) at kernel/qapplication.cpp:4300
#27 0x00007f85e8dc186b in QApplication::notify (this=0x7fff93536690, receiver=0x7f85d8003818, e=0x7fff93536340) at kernel/qapplication.cpp:4183
#28 0x00007f85eb2756c8 in KApplication::notify (this=0x7fff93536690, receiver=0x7f85d8003818, event=0x7fff93536340)
    at /var/tmp/portage/kde-base/kdelibs-4.4.4/work/kdelibs-4.4.4/kdeui/kernel/kapplication.cpp:302
#29 0x00007f85e9c372ab in QCoreApplication::notifyInternal (this=0x7fff93536690, receiver=0x7f85d8003818, event=0x7fff93536340) at kernel/qcoreapplication.cpp:704
#30 0x00007f85e9c63c5a in QCoreApplication::sendEvent (this=0x92ec10) at kernel/qcoreapplication.h:215
#31 QTimerInfoList::activateTimers (this=0x92ec10) at kernel/qeventdispatcher_unix.cpp:603
#32 0x00007f85e9c609d8 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#33 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#34 0x00007f85e4201823 in g_main_dispatch (context=0x92dcb0) at gmain.c:1960
#35 IA__g_main_context_dispatch (context=0x92dcb0) at gmain.c:2513
#36 0x00007f85e4205050 in g_main_context_iterate (context=0x92dcb0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591
#37 0x00007f85e4205168 in IA__g_main_context_iteration (context=0x92dcb0, may_block=1) at gmain.c:2654
#38 0x00007f85e9c6067e in QEventDispatcherGlib::processEvents (this=0x91bd70, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#39 0x00007f85e8e69c86 in QGuiEventDispatcherGlib::processEvents (this=0x7f85d0000020, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#40 0x00007f85e9c35bd2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#41 0x00007f85e9c35f9d in QEventLoop::exec (this=0x7fff935365f0, flags=) at kernel/qeventloop.cpp:201
#42 0x00007f85e9c39c7b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#43 0x000000000042a56b in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/net-p2p/ktorrent-4.0.0/work/ktorrent-4.0.0/ktorrent/main.cpp:173

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

Reported using DrKonqi
Comment 1 Joris Guisson 2010-06-14 20:10:16 UTC
This should be fixed in libktorrent 1.0.1