Bug 287967 - KTorrent crash
Summary: KTorrent crash
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: 2011-12-01 08:37 UTC by Alexey Shildyakov
Modified: 2011-12-01 20:30 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
valgrind log (152.04 KB, text/x-log)
2011-12-01 18:25 UTC, Alexey Shildyakov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Shildyakov 2011-12-01 08:37:22 UTC
Application: ktorrent (4.2dev)
KDE Platform Version: 4.7.3 (4.7.3) (Compiled from sources)
Qt Version: 4.7.4
Operating System: Linux 2.6.38-gentoo-r3 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
KTorrent crash after several hours seeding many torrents.
ktorrent: 7af7b5e479dad98da4b3a96ef981f50bbdf47300
libktorrent: 521e385ba4c9a9e8b1dae42a0b29b72eb960342f

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

Thread 8 (Thread 0x7f275a314700 (LWP 9850)):
#0  0x00007f276adfa873 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f2766769574 in g_main_context_poll (n_fds=1, fds=0x7f27540045a0, timeout=124, context=0x218d4f0, priority=<optimized out>) at gmain.c:3402
#2  g_main_context_iterate (context=0x218d4f0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x00007f27667699df in g_main_context_iteration (context=0x218d4f0, may_block=1) at gmain.c:3152
#4  0x00007f276c8c9c56 in QEventDispatcherGlib::processEvents (this=0x227c920, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f276c89de12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f276c89e094 in QEventLoop::exec (this=0x7f275a313e20, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007f276c7b3ee4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#8  0x00007f276c7b6765 in QThreadPrivate::start (arg=0x223bd80) at thread/qthread_unix.cpp:331
#9  0x00007f276c526e9c in start_thread (arg=0x7f275a314700) at pthread_create.c:301
#10 0x00007f276ae037ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 7 (Thread 0x7f27228c0700 (LWP 9949)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f274f0ad1b0 in LoopRequest (p_playlist=0x3212ec0) at playlist/thread.c:539
#2  Thread (data=0x3212ec0) at playlist/thread.c:586
#3  0x00007f276c526e9c in start_thread (arg=0x7f27228c0700) at pthread_create.c:301
#4  0x00007f276ae037ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7f275ab15700 (LWP 9978)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f27532220ec in scavengerThread (this=0x7f2753a90f20) at wtf/FastMalloc.cpp:2378
#2  WTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f2753a90f20) at wtf/FastMalloc.cpp:1497
#3  0x00007f276c526e9c in start_thread (arg=0x7f275ab15700) at pthread_create.c:301
#4  0x00007f276ae037ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7f271be68700 (LWP 9979)):
#0  0x00007f276adfa873 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f2766769574 in g_main_context_poll (n_fds=1, fds=0x30a6c90, timeout=-1, context=0x2231c40, priority=<optimized out>) at gmain.c:3402
#2  g_main_context_iterate (context=0x2231c40, block=1, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x00007f27667699df in g_main_context_iteration (context=0x2231c40, may_block=1) at gmain.c:3152
#4  0x00007f276c8c9c56 in QEventDispatcherGlib::processEvents (this=0x222ae40, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f276c89de12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f276c89e094 in QEventLoop::exec (this=0x7f271be67e20, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007f276c7b3ee4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#8  0x00007f276c7b6765 in QThreadPrivate::start (arg=0x21d7a00) at thread/qthread_unix.cpp:331
#9  0x00007f276c526e9c in start_thread (arg=0x7f271be68700) at pthread_create.c:301
#10 0x00007f276ae037ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f27137fe700 (LWP 10157)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007f276c7b64fa in thread_sleep (ti=0x7f27137fdda0) at thread/qthread_unix.cpp:493
#2  0x00007f276c7b6650 in QThread::msleep (msecs=<optimized out>) at thread/qthread_unix.cpp:519
#3  0x00007f276ec70ce8 in net::DownloadThread::update (this=0x2171ae0) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/downloadthread.cpp:91
#4  0x00007f276ec70d49 in net::NetworkThread::run (this=0x2171ae0) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/networkthread.cpp:48
#5  0x00007f276c7b6765 in QThreadPrivate::start (arg=0x2171ae0) at thread/qthread_unix.cpp:331
#6  0x00007f276c526e9c in start_thread (arg=0x7f27137fe700) at pthread_create.c:301
#7  0x00007f276ae037ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f2712ffd700 (LWP 10158)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:216
#1  0x00007f276c7b64fa in thread_sleep (ti=0x7f2712ffcda0) at thread/qthread_unix.cpp:493
#2  0x00007f276c7b6650 in QThread::msleep (msecs=<optimized out>) at thread/qthread_unix.cpp:519
#3  0x00007f276ec6fe08 in net::UploadThread::update (this=0x2170f80) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/uploadthread.cpp:89
#4  0x00007f276ec70d49 in net::NetworkThread::run (this=0x2170f80) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/networkthread.cpp:48
#5  0x00007f276c7b6765 in QThreadPrivate::start (arg=0x2170f80) at thread/qthread_unix.cpp:331
#6  0x00007f276c526e9c in start_thread (arg=0x7f2712ffd700) at pthread_create.c:301
#7  0x00007f276ae037ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f27127fc700 (LWP 10159)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f276c7b6dd3 in wait (time=18446744073709551615, this=0x30e0ce0) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x30adcd0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f276ec745aa in net::ReverseResolverThread::run (this=0x30adcc0) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/reverseresolver.cpp:124
#4  0x00007f276c7b6765 in QThreadPrivate::start (arg=0x30adcc0) at thread/qthread_unix.cpp:331
#5  0x00007f276c526e9c in start_thread (arg=0x7f27127fc700) at pthread_create.c:301
#6  0x00007f276ae037ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f276f1a3760 (LWP 9839)):
[KCrash Handler]
#6  ref (this=0x2800007f27000000) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:121
#7  QString (other=..., this=0x7f2756ab5038) at ../../include/QtCore/../../src/corelib/tools/qstring.h:729
#8  QHostAddressPrivate (this=0x7f2756ab5020) at kernel/qhostaddress.cpp:106
#9  QHostAddress::QHostAddress (this=0x7f2756ac9100, address=<optimized out>) at kernel/qhostaddress.cpp:529
#10 0x00007f276ec6a5f9 in net::Address::Address (this=0x7f2756ac90f8, addr=...) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/net/address.cpp:73
#11 0x00007f276ec958f7 in bt::PeerConnector::Private::Private (this=0x7f2756ac90e0, p=<optimized out>, addr=..., local=37, pman=0x7f27556e2940) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/peer/peerconnector.cpp:39
#12 0x00007f276ec94cfd in bt::PeerConnector::PeerConnector (this=0x7f2755985dc0, addr=..., local=37, pman=0x7f27556e2940) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/peer/peerconnector.cpp:71
#13 0x00007f276ec89d27 in bt::PeerManager::Private::connectToPeers (this=0x7f27556e2520) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/peer/peermanager.cpp:809
#14 0x00007f276ecc2be2 in bt::TorrentControl::update (this=0x7f2755694430) at /var/tmp/portage/net-libs/libktorrent-9999/work/libktorrent-9999/src/torrent/torrentcontrol.cpp:168
#15 0x000000000042fee5 in kt::Core::update (this=0x7f27540035d0) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/core.cpp:1052
#16 0x00000000004347a2 in kt::Core::qt_metacall (this=0x7f27540035d0, _c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x7ffffec6b5f0) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999_build/ktorrent/core.moc:164
#17 0x00007f276c8b349f in QMetaObject::activate (sender=0x7f27540035f8, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3278
#18 0x00007f276c8b2c79 in QObject::event (this=0x7f27540035f8, e=<optimized out>) at kernel/qobject.cpp:1181
#19 0x00007f276ba2d6fc in QApplicationPrivate::notify_helper (this=0x2195420, receiver=0x7f27540035f8, e=0x7ffffec6bd10) at kernel/qapplication.cpp:4481
#20 0x00007f276ba3225a in QApplication::notify (this=<optimized out>, receiver=0x7f27540035f8, e=0x7ffffec6bd10) at kernel/qapplication.cpp:4360
#21 0x000000000043cf4d in kt::App::notify (this=0x7ffffec6c040, receiver=0x7f27540035f8, event=0x7ffffec6bd10) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/app.cpp:99
#22 0x00007f276c89eacb in QCoreApplication::notifyInternal (this=0x7ffffec6c040, receiver=0x7f27540035f8, event=0x7ffffec6bd10) at kernel/qcoreapplication.cpp:787
#23 0x00007f276c8cc589 in sendEvent (event=0x7ffffec6bd10, receiver=<optimized out>) at kernel/qcoreapplication.h:215
#24 QTimerInfoList::activateTimers (this=0x219fde0) at kernel/qeventdispatcher_unix.cpp:603
#25 0x00007f276c8c9558 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#26 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#27 0x00007f276676903a in g_main_dispatch (context=0x2180c00) at gmain.c:2441
#28 g_main_context_dispatch (context=0x2180c00) at gmain.c:3011
#29 0x00007f2766769848 in g_main_context_iterate (context=0x2180c00, block=1, dispatch=1, self=<optimized out>) at gmain.c:3089
#30 0x00007f27667699df in g_main_context_iteration (context=0x2180c00, may_block=1) at gmain.c:3152
#31 0x00007f276c8c9c1a in QEventDispatcherGlib::processEvents (this=0x2181000, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#32 0x00007f276bad38c6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007f276c89de12 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007f276c89e094 in QEventLoop::exec (this=0x7ffffec6bfa0, flags=...) at kernel/qeventloop.cpp:201
#35 0x00007f276c8a257b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#36 0x000000000042c77b in main (argc=5, argv=0x7ffffec6cec8) at /var/tmp/portage/net-p2p/ktorrent-9999/work/ktorrent-9999/ktorrent/main.cpp:177

Reported using DrKonqi
Comment 1 Alexey Shildyakov 2011-12-01 08:48:02 UTC
The problems repeated after 5 minutes KTorrent running
Comment 2 Blagovest Zlatev 2011-12-01 13:42:07 UTC
I couldn't reproduce the bug or find any duplicates.
Comment 3 Joris Guisson 2011-12-01 16:56:23 UTC
If you can easily reproduce, try running it under valgrind.
Comment 4 Alexey Shildyakov 2011-12-01 18:09:27 UTC
I'll try
Comment 5 Alexey Shildyakov 2011-12-01 18:25:24 UTC
Created attachment 66273 [details]
valgrind log

KCrash: Application 'ktorrent' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/home/ashl1/.kde4/socket-SERVER/kdeinit4__0
Warning: QSocketNotifier: Invalid socket 15 and type 'Read', disabling...
Warning: QSocketNotifier: Invalid socket 15 and type 'Write', disabling...
Warning: QSocketNotifier: Invalid socket 16 and type 'Read', disabling...
Warning: QSocketNotifier: Invalid socket 16 and type 'Write', disabling...
Comment 6 Joris Guisson 2011-12-01 20:30:59 UTC
Git commit 67de122edfa5e2f60206cd7ac150ed72f5c72222 by Joris Guisson.
Committed on 01/12/2011 at 21:30.
Pushed by guisson into branch 'master'.

Fix crash in PeerManager

BUG: 287967

M  +1    -0    ChangeLog
M  +4    -5    src/peer/peermanager.cpp

http://commits.kde.org/libktorrent/67de122edfa5e2f60206cd7ac150ed72f5c72222