Bug 295719 - Ktorrent freeze after KDE 4.8.1 upgrade.
Summary: Ktorrent freeze after KDE 4.8.1 upgrade.
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:
: 296953 301534 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-03-10 20:53 UTC by Rodolfo
Modified: 2012-06-11 09:20 UTC (History)
2 users (show)

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 Rodolfo 2012-03-10 20:53:18 UTC
Kubuntu 11.10
Ktorrent 4.2    Linux (x86_64) release 3.3.0-030300rc5-generic
I upgrade from KDE 4.8 to 4.8.1 via PPA
After upgrade ktorrent freeze if:
1) I watch a video long about 1 hour  
2) system go in power saving for about 1 hour.
No information on log file.


1. Start ktorrent
2. wait about 1 our in power state mode
3. ktorrent freeze, the window became white. Right click mouse on system try icon open the menu but no operation work.
Comment 1 Joris Guisson 2012-03-11 11:23:48 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.
Comment 2 Rodolfo 2012-03-11 13:41:54 UTC
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
Comment 3 Joris Guisson 2012-03-11 16:40:16 UTC
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
Comment 4 Joris Guisson 2012-03-11 16:45:26 UTC
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
Comment 5 Joris Guisson 2012-03-28 17:16:34 UTC
*** Bug 296953 has been marked as a duplicate of this bug. ***
Comment 6 Joris Guisson 2012-06-11 09:00:54 UTC
*** Bug 301534 has been marked as a duplicate of this bug. ***
Comment 7 BRULE Herman 2012-06-11 09:20:07 UTC
Remaning with ktorrent and libktorrent into version 1.2!!!!