Summary: | Ktorrent freeze after KDE 4.8.1 upgrade. | ||
---|---|---|---|
Product: | [Applications] ktorrent | Reporter: | Rodolfo <blitzkriegbop> |
Component: | general | Assignee: | Joris Guisson <joris.guisson> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | alpha_one_x86, germano.massullo |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Rodolfo
2012-03-10 20:53:18 UTC
Looks like a deadlock. When it happens do this in a terminal: killall -11 ktorrent This will trigger a KDE crash dialog, use it to generate a backtrace and post that here. Application: KTorrent (ktorrent), signal: Segmentation fault [Current thread is 1 (Thread 0x7fab4ecbc7a0 (LWP 5727))] Thread 8 (Thread 0x7fab390c7700 (LWP 5729)): #0 0x00007fab4abf6473 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007fab465bef68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fab465bf429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fab4c4d5c06 in QEventDispatcherGlib::processEvents (this=0x12076c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426 #4 0x00007fab4c4a53e2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007fab4c4a5637 in QEventLoop::exec (this=0x7fab390c6de0, flags=...) at kernel/qeventloop.cpp:204 #6 0x00007fab4c3a5067 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501 #7 0x00007fab4c3a808b in QThreadPrivate::start (arg=0x1260120) at thread/qthread_unix.cpp:298 #8 0x00007fab47fd3efc in start_thread (arg=0x7fab390c7700) at pthread_create.c:304 #9 0x00007fab4ac0259d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #10 0x0000000000000000 in ?? () Thread 7 (Thread 0x7fab398ed700 (LWP 5732)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007fab2db28c2c in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4 #2 0x00007fab2db28d59 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4 #3 0x00007fab47fd3efc in start_thread (arg=0x7fab398ed700) at pthread_create.c:304 #4 0x00007fab4ac0259d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () Thread 6 (Thread 0x7fab27ec4700 (LWP 5733)): #0 0x00007fab4abf6473 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007fab465bef68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fab465bf429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fab4c4d5c06 in QEventDispatcherGlib::processEvents (this=0x24ad110, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426 #4 0x00007fab4c4a53e2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007fab4c4a5637 in QEventLoop::exec (this=0x7fab27ec3de0, flags=...) at kernel/qeventloop.cpp:204 #6 0x00007fab4c3a5067 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501 #7 0x00007fab4c3a808b in QThreadPrivate::start (arg=0x24ac8b0) at thread/qthread_unix.cpp:298 #8 0x00007fab47fd3efc in start_thread (arg=0x7fab27ec4700) at pthread_create.c:304 #9 0x00007fab4ac0259d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #10 0x0000000000000000 in ?? () Thread 5 (Thread 0x7faae32fd700 (LWP 5739)): #0 QElapsedTimer::isMonotonic () at tools/qelapsedtimer_unix.cpp:109 #1 0x00007fab4c4d665d in QTimerInfoList::repairTimersIfNeeded (this=0x22a79f0) at kernel/qeventdispatcher_unix.cpp:403 #2 0x00007fab4c4d66c1 in QTimerInfoList::timerWait (this=0x22a79f0, tm=...) at kernel/qeventdispatcher_unix.cpp:451 #3 0x00007fab4c4d50dc in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7faae32fcc1c) at kernel/qeventdispatcher_glib.cpp:136 #4 0x00007fab4c4d5185 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169 #5 0x00007fab465bdff2 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #6 0x00007fab465bedfd in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #7 0x00007fab465bf429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007fab4c4d5c06 in QEventDispatcherGlib::processEvents (this=0x2585380, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426 #9 0x00007fab4c4a53e2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #10 0x00007fab4c4a5637 in QEventLoop::exec (this=0x7faae32fcdb0, flags=...) at kernel/qeventloop.cpp:204 #11 0x00007fab4c3a5067 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501 #12 0x00007fab4c48517f in QInotifyFileSystemWatcherEngine::run (this=0x275dc50) at io/qfilesystemwatcher_inotify.cpp:248 #13 0x00007fab4c3a808b in QThreadPrivate::start (arg=0x275dc50) at thread/qthread_unix.cpp:298 #14 0x00007fab47fd3efc in start_thread (arg=0x7faae32fd700) at pthread_create.c:304 #15 0x00007fab4ac0259d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #16 0x0000000000000000 in ?? () Thread 4 (Thread 0x7faae27b3700 (LWP 5748)): #0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:39 #1 0x00007fab4c3a6b5b in _q_futex (val2=0, addr2=0x0, timeout=0x0, val=2, op=0, addr=0x1070280) at thread/qmutex_unix.cpp:99 #2 QMutexPrivate::wait (this=0x1070280, timeout=<optimized out>) at thread/qmutex_unix.cpp:113 #3 0x00007fab4c3a2a8d in QMutex::lock (this=<optimized out>) at thread/qmutex.cpp:164 #4 0x00007fab4e7c1390 in ?? () from /usr/lib/libktorrent.so.4 #5 0x00007fab4e7c1589 in ?? () from /usr/lib/libktorrent.so.4 #6 0x00007fab4c3a808b in QThreadPrivate::start (arg=0x106ea70) at thread/qthread_unix.cpp:298 #7 0x00007fab47fd3efc in start_thread (arg=0x7faae27b3700) at pthread_create.c:304 #8 0x00007fab4ac0259d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #9 0x0000000000000000 in ?? () Thread 3 (Thread 0x7faae1fb2700 (LWP 5749)): #0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:39 #1 0x00007fab4c3a6b5b in _q_futex (val2=0, addr2=0x0, timeout=0x0, val=2, op=0, addr=0x1958eb0) at thread/qmutex_unix.cpp:99 #2 QMutexPrivate::wait (this=0x1958eb0, timeout=<optimized out>) at thread/qmutex_unix.cpp:113 #3 0x00007fab4c3a2a8d in QMutex::lock (this=<optimized out>) at thread/qmutex.cpp:164 #4 0x00007fab4e7f1908 in ?? () from /usr/lib/libktorrent.so.4 #5 0x00007fab4e7c655b in ?? () from /usr/lib/libktorrent.so.4 #6 0x00007fab4e7c26c3 in ?? () from /usr/lib/libktorrent.so.4 #7 0x00007fab4e7c2958 in ?? () from /usr/lib/libktorrent.so.4 #8 0x00007fab4e7c17fd in ?? () from /usr/lib/libktorrent.so.4 #9 0x00007fab4e7c1adb in ?? () from /usr/lib/libktorrent.so.4 #10 0x00007fab4e7c0e75 in ?? () from /usr/lib/libktorrent.so.4 #11 0x00007fab4e7c1589 in ?? () from /usr/lib/libktorrent.so.4 #12 0x00007fab4c3a808b in QThreadPrivate::start (arg=0x106fa20) at thread/qthread_unix.cpp:298 #13 0x00007fab47fd3efc in start_thread (arg=0x7faae1fb2700) at pthread_create.c:304 #14 0x00007fab4ac0259d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #15 0x0000000000000000 in ?? () Thread 2 (Thread 0x7faae17b1700 (LWP 5756)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007fab4c3a859b in wait (time=18446744073709551615, this=0x27c6a70) at thread/qwaitcondition_unix.cpp:86 #2 QWaitCondition::wait (this=<optimized out>, mutex=0x25c3fc0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158 #3 0x00007fab4e7c3f8a in ?? () from /usr/lib/libktorrent.so.4 #4 0x00007fab4c3a808b in QThreadPrivate::start (arg=0x25c3fb0) at thread/qthread_unix.cpp:298 #5 0x00007fab47fd3efc in start_thread (arg=0x7faae17b1700) at pthread_create.c:304 #6 0x00007fab4ac0259d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #7 0x0000000000000000 in ?? () Thread 1 (Thread 0x7fab4ecbc7a0 (LWP 5727)): [KCrash Handler] #6 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #7 0x00007fab4c3a6b5b in _q_futex (val2=0, addr2=0x0, timeout=0x0, val=2, op=0, addr=0x254c200) at thread/qmutex_unix.cpp:99 #8 QMutexPrivate::wait (this=0x254c200, timeout=<optimized out>) at thread/qmutex_unix.cpp:113 #9 0x00007fab4c3a2a8d in QMutex::lock (this=<optimized out>) at thread/qmutex.cpp:164 #10 0x00007fab4e7c61c5 in ?? () from /usr/lib/libktorrent.so.4 #11 0x00007fab4e7f223b in ?? () from /usr/lib/libktorrent.so.4 #12 0x00007fab4e7e3a04 in bt::WebSeed::getDownloadRate() const () from /usr/lib/libktorrent.so.4 #13 0x00007fab4e7ee319 in bt::Downloader::downloadRate() const () from /usr/lib/libktorrent.so.4 #14 0x00007fab4e802452 in bt::TorrentControl::updateStatus() () from /usr/lib/libktorrent.so.4 #15 0x00007fab4e80bbde in bt::TorrentControl::update() () from /usr/lib/libktorrent.so.4 #16 0x000000000042b4fd in kt::Core::update (this=0x11fcf20) at /build/buildd/ktorrent-4.2.0/ktorrent/core.cpp:1046 #17 0x0000000000432a1a in kt::Core::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /build/buildd/ktorrent-4.2.0/obj-x86_64-linux-gnu/ktorrent/core.moc:141 #18 0x00007fab4c4ba9e1 in QMetaObject::activate (sender=0x11fcf48, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547 #19 0x00007fab4c4bf8d9 in QObject::event (this=0x11fcf48, e=<optimized out>) at kernel/qobject.cpp:1157 #20 0x00007fab4b82c104 in notify_helper (e=0x7fff682eee70, receiver=0x11fcf48, this=0x10a0330) at kernel/qapplication.cpp:4555 #21 QApplicationPrivate::notify_helper (this=0x10a0330, receiver=0x11fcf48, e=0x7fff682eee70) at kernel/qapplication.cpp:4527 #22 0x00007fab4b830f83 in QApplication::notify (this=0x7fff682ef170, receiver=0x11fcf48, e=0x7fff682eee70) at kernel/qapplication.cpp:4416 #23 0x0000000000438fe1 in kt::App::notify (this=<optimized out>, receiver=<optimized out>, event=<optimized out>) at /build/buildd/ktorrent-4.2.0/ktorrent/app.cpp:99 #24 0x00007fab4c4a65fc in QCoreApplication::notifyInternal (this=0x7fff682ef170, receiver=0x11fcf48, event=0x7fff682eee70) at kernel/qcoreapplication.cpp:876 #25 0x00007fab4c4d79a2 in sendEvent (event=0x7fff682eee70, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #26 QTimerInfoList::activateTimers (this=0x1099820) at kernel/qeventdispatcher_unix.cpp:611 #27 0x00007fab4c4d536d in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:186 #28 timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:180 #29 0x00007fab465bea5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #30 0x00007fab465bf258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #31 0x00007fab465bf429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007fab4c4d5b9f in QEventDispatcherGlib::processEvents (this=0x102ab30, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424 #33 0x00007fab4b8d121e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #34 0x00007fab4c4a53e2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #35 0x00007fab4c4a5637 in QEventLoop::exec (this=0x7fff682ef100, flags=...) at kernel/qeventloop.cpp:204 #36 0x00007fab4c4aa6c7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148 #37 0x0000000000427bf1 in main (argc=5, argv=0x7fff682effe8) at /build/buildd/ktorrent-4.2.0/ktorrent/main.cpp:177 Git commit 3368e1d698b3aefc72afbae8366d31b1ba7b3dde by Joris Guisson. Committed on 11/03/2012 at 17:39. Pushed by guisson into branch 'master'. Fix deadlock in webseeding code M +3 -0 ChangeLog M +1 -2 src/download/httpconnection.cpp M +1 -1 src/download/httpconnection.h M +1 -1 src/download/webseed.cpp M +1 -1 src/net/speed.cpp M +2 -2 src/net/speed.h M +6 -10 src/net/trafficshapedsocket.cpp M +2 -2 src/net/trafficshapedsocket.h M +2 -2 src/peer/peer.cpp http://commits.kde.org/libktorrent/3368e1d698b3aefc72afbae8366d31b1ba7b3dde Git commit 1ea7a2e39aac91080d36bfc4898af3737270a122 by Joris Guisson. Committed on 11/03/2012 at 17:44. Pushed by guisson into branch '1.2'. Backport to 1.2: Fix deadlock in webseed code M +3 -0 ChangeLog M +0 -1 src/download/httpconnection.cpp http://commits.kde.org/libktorrent/1ea7a2e39aac91080d36bfc4898af3737270a122 *** Bug 296953 has been marked as a duplicate of this bug. *** *** Bug 301534 has been marked as a duplicate of this bug. *** Remaning with ktorrent and libktorrent into version 1.2!!!! |