Bug 247669

Summary: Crash on stopping a torrent
Product: [Applications] ktorrent Reporter: Con Kolivas <kde>
Component: generalAssignee: Joris Guisson <joris.guisson>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Con Kolivas 2010-08-13 17:39:40 UTC
Application: ktorrent (4.0.2)
KDE Platform Version: 4.4.5 (KDE 4.4.5)
Qt Version: 4.6.3
Operating System: Linux 2.6.35-ck1 x86_64
Distribution: Debian GNU/Linux testing (squeeze)

-- Information about the crash:
I chose to stop a 4.4GB torrent I was downloading and it crashed.

 -- Backtrace:
Application: KTorrent (ktorrent), signal: Segmentation fault
The current source language is "auto; currently asm".
[Current thread is 1 (Thread 0x7f0a8ed15760 (LWP 14518))]

Thread 9 (Thread 0x7f0a7974f710 (LWP 14522)):
#0  0x00007f0a87c3746e in __pthread_mutex_unlock_usercnt (mutex=0x7bb958, decr=<value optimized out>) at pthread_mutex_unlock.c:52
#1  0x00007f0a86f50de1 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x00007f0a86f51108 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007f0a86f516ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007f0a8c39d766 in QEventDispatcherGlib::processEvents (this=0x7dabc0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#5  0x00007f0a8c372a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007f0a8c372e5c in QEventLoop::exec (this=0x7f0a7974ede0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007f0a8c28279b in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x00007f0a8e8cd38e in utp::UTPServerThread::run (this=0x7db190) at ../../src/utp/utpserverthread.cpp:44
#9  0x00007f0a8c284e35 in QThreadPrivate::start (arg=0x7db190) at thread/qthread_unix.cpp:248
#10 0x00007f0a87c338ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007f0a8aade01d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f0a78f4e710 (LWP 14527)):
#0  0x00007f0a8aad78b3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f0a8e895b22 in dht::RPCServerThread::run (this=0x7be3d0) at ../../src/dht/rpcserver.cpp:107
#2  0x00007f0a8c284e35 in QThreadPrivate::start (arg=0x7be3d0) at thread/qthread_unix.cpp:248
#3  0x00007f0a87c338ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f0a8aade01d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()
The current source language is "auto; currently c".

Thread 7 (Thread 0x7f0a645c0710 (LWP 14552)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f0a8c285df2 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f0a8c27ae21 in QThreadPoolThread::run (this=0x1840a80) at concurrent/qthreadpool.cpp:140
#4  0x00007f0a8c284e35 in QThreadPrivate::start (arg=0x1840a80) at thread/qthread_unix.cpp:248
#5  0x00007f0a87c338ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f0a8aade01d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 6 (Thread 0x7f0a63dbf710 (LWP 14553)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f0a8c285df2 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f0a8c27ae21 in QThreadPoolThread::run (this=0x7f0a6c00b1c0) at concurrent/qthreadpool.cpp:140
#4  0x00007f0a8c284e35 in QThreadPrivate::start (arg=0x7f0a6c00b1c0) at thread/qthread_unix.cpp:248
#5  0x00007f0a87c338ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f0a8aade01d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f0a635be710 (LWP 14554)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f0a8c285df2 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f0a8c27ae21 in QThreadPoolThread::run (this=0x7f0a6c00db20) at concurrent/qthreadpool.cpp:140
#4  0x00007f0a8c284e35 in QThreadPrivate::start (arg=0x7f0a6c00db20) at thread/qthread_unix.cpp:248
#5  0x00007f0a87c338ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f0a8aade01d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f0a62dbd710 (LWP 14555)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f0a8c285df2 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f0a8c27ae21 in QThreadPoolThread::run (this=0x7f0a7401e800) at concurrent/qthreadpool.cpp:140
#4  0x00007f0a8c284e35 in QThreadPrivate::start (arg=0x7f0a7401e800) at thread/qthread_unix.cpp:248
#5  0x00007f0a87c338ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f0a8aade01d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f0a625bc710 (LWP 14556)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007f0a8c285df2 in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:85
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x185e100, time=30000) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f0a8c27ae21 in QThreadPoolThread::run (this=0x7f0a7401ff00) at concurrent/qthreadpool.cpp:140
#4  0x00007f0a8c284e35 in QThreadPrivate::start (arg=0x7f0a7401ff00) at thread/qthread_unix.cpp:248
#5  0x00007f0a87c338ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f0a8aade01d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f0a727b8710 (LWP 14557)):
#0  0x00007f0a8aad3103 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f0a86f51299 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f0a86f516ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f0a8c39d766 in QEventDispatcherGlib::processEvents (this=0x225dd70, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007f0a8c372a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f0a8c372e5c in QEventLoop::exec (this=0x7f0a727b7de0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f0a8c28279b in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007f0a8c353398 in QInotifyFileSystemWatcherEngine::run (this=0x2293870) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f0a8c284e35 in QThreadPrivate::start (arg=0x2293870) at thread/qthread_unix.cpp:248
#9  0x00007f0a87c338ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f0a8aade01d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f0a8ed15760 (LWP 14518)):
[KCrash Handler]
#5  QHashDummyNode (node=0x72006f006c, newNode=0x2422120) at /usr/include/qt4/QtCore/qhash.h:212
#6  QHash<bt::PeerConnector::Method, QHashDummyValue>::duplicateNode (node=0x72006f006c, newNode=0x2422120) at /usr/include/qt4/QtCore/qhash.h:527
#7  0x00007f0a8c2a1177 in QHashData::detach_helper2 (this=0x18f83e0, node_duplicate=0x7f0a8e853fe0 <QHash<bt::PeerConnector::Method, QHashDummyValue>::duplicateNode(QHashData::Node*, void*)>, 
    node_delete=<value optimized out>, nodeSize=<value optimized out>, nodeAlign=8) at tools/qhash.cpp:239
#8  0x00007f0a8e853875 in QHash<bt::PeerConnector::Method, QHashDummyValue>::detach_helper (this=<value optimized out>, auth=<value optimized out>, ok=<value optimized out>)
    at /usr/include/qt4/QtCore/qhash.h:581
#9  QHash<bt::PeerConnector::Method, QHashDummyValue>::detach (this=<value optimized out>, auth=<value optimized out>, ok=<value optimized out>) at /usr/include/qt4/QtCore/qhash.h:299
#10 QHash<bt::PeerConnector::Method, QHashDummyValue>::insert (this=<value optimized out>, auth=<value optimized out>, ok=<value optimized out>) at /usr/include/qt4/QtCore/qhash.h:749
#11 QSet<bt::PeerConnector::Method>::insert (this=<value optimized out>, auth=<value optimized out>, ok=<value optimized out>) at /usr/include/qt4/QtCore/qset.h:176
#12 bt::PeerConnector::authenticationFinished (this=<value optimized out>, auth=<value optimized out>, ok=<value optimized out>) at ../../src/peer/peerconnector.cpp:81
#13 0x00007f0a8e83fd7e in bt::Authenticate::qt_metacall (this=0x17ed7b0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=<value optimized out>) at ./authenticate.moc:75
#14 0x00007f0a8e83d378 in mse::EncryptedAuthenticate::qt_metacall (this=0x72006f006c, _c=37888288, _id=-1965638080, _a=0x2422110) at ./encryptedauthenticate.moc:71
#15 0x00007f0a8c387346 in QMetaObject::activate (sender=0xf4d480, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x2422110) at kernel/qobject.cpp:3295
#16 0x00007f0a8e848c80 in bt::PeerManager::stop (this=0xf4d480) at ../../src/peer/peermanager.cpp:548
#17 0x00007f0a8e87af2f in bt::TorrentControl::stop (this=0xf314e0, wjob=0x0) at ../../src/torrent/torrentcontrol.cpp:486
#18 0x00007f0a8e57216a in kt::QueueManager::stopSafely (this=<value optimized out>, tc=0xf314e0, wjob=0x7f0a8ad6be40) at ../../libktcore/torrent/queuemanager.cpp:752
#19 0x00007f0a8e575ff2 in kt::QueueManager::stop (this=0x7f8b90, todo=<value optimized out>) at ../../libktcore/torrent/queuemanager.cpp:222
#20 0x000000000048a069 in kt::View::stopTorrents (this=0x13bd950) at ../../ktorrent/view/view.cpp:195
#21 0x00000000004953a4 in kt::ViewManager::qt_metacall (this=0x7f9980, _c=QMetaObject::InvokeMetaMethod, _id=-1965638080, _a=0x7ffffc82fea0) at ./viewmanager.moc:131
#22 0x00007f0a8c387346 in QMetaObject::activate (sender=0x825fc0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x2422110) at kernel/qobject.cpp:3295
#23 0x00007f0a8b70e132 in QAction::triggered (this=0x72006f006c, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#24 0x00007f0a8b7101ab in QAction::activate (this=0x825fc0, event=<value optimized out>) at kernel/qaction.cpp:1255
#25 0x00007f0a8bb4f981 in QMenuPrivate::activateCausedStack (this=<value optimized out>, causedStack=..., action=0x825fc0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1002
#26 0x00007f0a8bb55512 in QMenuPrivate::activateAction (this=0xa17510, action=0x825fc0, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1094
#27 0x00007f0a8da9e8be in KMenu::mouseReleaseEvent (this=0xa2b8c0, e=0x2422120) at ../../kdeui/widgets/kmenu.cpp:471
#28 0x00007f0a8b76a602 in QWidget::event (this=0xa2b8c0, event=0x7ffffc830c50) at kernel/qwidget.cpp:8044
#29 0x00007f0a8bb5770b in QMenu::event (this=0xa2b8c0, e=0x7ffffc830c50) at widgets/qmenu.cpp:2421
#30 0x00007f0a8b71432c in QApplicationPrivate::notify_helper (this=0x70a640, receiver=0xa2b8c0, e=0x7ffffc830c50) at kernel/qapplication.cpp:4302
#31 0x00007f0a8b71afdb in QApplication::notify (this=0x7ffffc831780, receiver=0xa2b8c0, e=0x7ffffc830c50) at kernel/qapplication.cpp:3867
#32 0x0000000000439a0a in kt::App::notify (this=0x72006f006c, receiver=0x2422120, event=0x7f0a8ad6be40) at ../../ktorrent/app.cpp:97
#33 0x00007f0a8c37415c in QCoreApplication::notifyInternal (this=0x7ffffc831780, receiver=0xa2b8c0, event=0x7ffffc830c50) at kernel/qcoreapplication.cpp:726
#34 0x00007f0a8b71a1be in QCoreApplication::sendEvent (receiver=0xa2b8c0, event=0x7ffffc830c50, alienWidget=0x0, nativeWidget=0xa2b8c0, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#35 QApplicationPrivate::sendMouseEvent (receiver=0xa2b8c0, event=0x7ffffc830c50, alienWidget=0x0, nativeWidget=0xa2b8c0, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, 
    spontaneous=true) at kernel/qapplication.cpp:2967
#36 0x00007f0a8b79a4bd in QETWidget::translateMouseEvent (this=0xa2b8c0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4314
#37 0x00007f0a8b7989ac in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7ffffc8313d0) at kernel/qapplication_x11.cpp:3513
#38 0x00007f0a8b7c4552 in x11EventSourceDispatch (s=0x70e000, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#39 0x00007f0a86f4d6c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#40 0x00007f0a86f51538 in ?? () from /lib/libglib-2.0.so.0
#41 0x00007f0a86f516ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#42 0x00007f0a8c39d713 in QEventDispatcherGlib::processEvents (this=0x6de1d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#43 0x00007f0a8b7c414e in QGuiEventDispatcherGlib::processEvents (this=0x72006f006c, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#44 0x00007f0a8c372a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#45 0x00007f0a8c372e5c in QEventLoop::exec (this=0x7ffffc8316f0, flags=) at kernel/qeventloop.cpp:201
#46 0x00007f0a8c377aeb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#47 0x0000000000428f5b in main (argc=<value optimized out>, argv=<value optimized out>) at ../../ktorrent/main.cpp:176
The current source language is "auto; currently c".
The current source language is "auto; currently asm".

Possible duplicates by query: bug 242847, bug 228331.

Reported using DrKonqi
Comment 1 Con Kolivas 2010-08-13 17:43:06 UTC
Created attachment 50136 [details]
New crash information added by DrKonqi

Crash is repeatable on this torrent, 2nd backtrace now.
Comment 2 Joris Guisson 2010-08-14 09:53:02 UTC
This is already fixed, fix will be in the next release of libktorrent

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