[Pkg-kde-extras] Bug#884488: [ktorrent] Freezes at start
Alex Dănilă
alex.danila at gmail.com
Sun Dec 24 17:20:11 UTC 2017
Hi,
I attached with gdb and I think the process gets stuck trying to empty
QNetworkReplyHandlerCallQueue::m_enqueuedCalls from inside
QNetworkReplyHandlerCallQueue
<https://code.woboq.org/qt5/qtwebkit/Source/WebCore/platform/network/qt/QNetworkReplyHandler.h.html#WebCore::QNetworkReplyHandlerCallQueue>::flush(),
spinning in the loop at lines 257-258.
Here's from the gdb session:
(gdb) where
#0 0x00007ffff21837b2 in __GI___fxstat (vers=vers at entry=1,
fd=fd at entry=48, buf=buf at entry=0x7fffffffd160) at
../sysdeps/unix/sysv/linux/wordsize-64/fxstat.c:35
#1 0x00007ffff2f2fd1a in fstat64 (__statbuf=0x7fffffffd160,
__fd=<optimized out>) at /usr/include/x86_64-linux-gnu/sys/stat.h:514
#2 0x00007ffff2f2fd1a in QFileSystemEngine::fillMetaData(int,
QFileSystemMetaData&) (fd=fd at entry=48, data=...) at
io/qfilesystemengine.cpp:217
#3 0x00007ffff2f47a2c in
QFSFileEnginePrivate::doStat(QFlags<QFileSystemMetaData::MetaDataFlag>)
const (this=this at entry=0x7fffdc0144c0, flags=..., flags at entry=...)
at io/qfsfileengine_unix.cpp:508
#4 0x00007ffff2f28385 in QFSFileEnginePrivate::sizeFdFh() const
(this=0x7fffdc0144c0) at io/qfsfileengine.cpp:484
#5 0x00007ffff2ed827c in QFileDevice::size() const (this=<optimized
out>) at io/qfiledevice.cpp:608
#6 0x00007fffc92e45ff in WebCore::QNetworkReplyHandler::forwardData()
() at ../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:712
#7 0x00007fffc92e3f5c in
WebCore::QNetworkReplyHandlerCallQueue::flush() () at
../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:258
#8 0x00007fffc92e5d48 in
WebCore::QNetworkReplyHandlerCallQueue::flush() () at
../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:393
#9 0x00007fffc92e5d48 in
WebCore::QNetworkReplyHandlerCallQueue::unlock() () at
../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:238
#10 0x00007fffc92e5d48 in WebCore::QueueLocker::~QueueLocker() () at
../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:266
#11 0x00007fffc92e5d48 in
WebCore::QNetworkReplyWrapper::emitMetaDataChanged() () at
../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:388
#12 0x00007fffc92e6090 in
WebCore::QNetworkReplyWrapper::receiveMetaData() () at
../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:353
#13 0x00007ffff2febd55 in QMetaObject::activate(QObject*, int, int,
void**) (sender=0x5555569b9970, signalOffset=<optimized out>,
local_signal_index=<optimized out>, argv=<optimized out>)
at kernel/qobject.cpp:3766
#14 0x00007ffff2fec8c2 in QObject::event(QEvent*) (this=0x5555569b9970,
e=<optimized out>) at kernel/qobject.cpp:1246
#15 0x00007ffff3cd859c in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff3cdfe64 in QApplication::notify(QObject*, QEvent*) () at
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff2fbd258 in QCoreApplication::notifyInternal2(QObject*,
QEvent*) (receiver=0x5555569b9970, event=event at entry=0x555556f80e50) at
kernel/qcoreapplication.cpp:1018
#18 0x00007ffff2fbf9cd in QCoreApplication::sendEvent(QObject*, QEvent*)
(event=0x555556f80e50, receiver=<optimized out>)
at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233
#19 0x00007ffff2fbf9cd in
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
(receiver=receiver at entry=0x0, event_type=event_type at entry=0,
data=0x55555588c720)
at kernel/qcoreapplication.cpp:1678
#20 0x00007ffff2fbff58 in QCoreApplication::sendPostedEvents(QObject*,
int) (receiver=receiver at entry=0x0, event_type=event_type at entry=0) at
kernel/qcoreapplication.cpp:1532
#21 0x00007ffff3016ac3 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x5555558df6a0) at kernel/qeventdispatcher_glib.cpp:276
#22 0x00007fffebf69fa7 in g_main_context_dispatch () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fffebf6a1e0 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007fffebf6a26c in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007ffff30160ef in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x5555558dc090, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#26 0x00007ffff2fbb2aa in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this at entry=0x7fffffffd9e0, flags=..., flags at entry=...) at
kernel/qeventloop.cpp:212
#27 0x00007ffff2fc4214 in QCoreApplication::exec() () at
kernel/qcoreapplication.cpp:1291
#28 0x000055555559702a in ()
#29 0x00007ffff20bdf2a in __libc_start_main (main=
0x555555594d60, argc=1, argv=0x7fffffffdd78, init=<optimized out>,
fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffdd68) at ../csu/libc-start.c:310
#30 0x0000555555597a0a in _start ()
(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7ffff7f7b3c0 (LWP 21757) "ktorrent" 0x00007ffff21837b2
in __GI___fxstat (vers=vers at entry=1, fd=fd at entry=48,
buf=buf at entry=0x7fffffffd160)
at ../sysdeps/unix/sysv/linux/wordsize-64/fxstat.c:35
2 Thread 0x7fffe1623700 (LWP 21760) "QXcbEventReader"
0x00007ffff21883fb in __GI___poll (fds=0x7fffe1622b70, nfds=1,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
3 Thread 0x7fffda38f700 (LWP 21761) "QDBusConnection"
0x00007ffff21883fb in __GI___poll (fds=0x7fffd4031e80, nfds=5,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
5 Thread 0x7fffd897d700 (LWP 21763) "Qt bearer threa"
0x00007ffff21883fb in __GI___poll (fds=0x7fffcc002ee0, nfds=1,
timeout=9779) at ../sysdeps/unix/sysv/linux/poll.c:29
6 Thread 0x7fffd917e700 (LWP 21764) "ktorrent" 0x00007ffff2160950
in __GI___nanosleep (requested_time=0x7fffd917dbe0,
remaining=0x7fffd917dbe0)
at ../sysdeps/unix/sysv/linux/nanosleep.c:27
(gdb) thread 2
[Switching to thread 2 (Thread 0x7fffe1623700 (LWP 21760))]
#0 0x00007ffff21883fb in __GI___poll (fds=0x7fffe1622b70, nfds=1,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29 ../sysdeps/unix/sysv/linux/poll.c: No such file or directory.
(gdb) where
#0 0x00007ffff21883fb in __GI___poll (fds=0x7fffe1622b70, nfds=1,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffee6fe150 in () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2 0x00007fffee6ffee9 in xcb_wait_for_event () at
/usr/lib/x86_64-linux-gnu/libxcb.so.1
#3 0x00007fffe3785029 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4 0x00007ffff2ddf22d in QThreadPrivate::start(void*)
(arg=0x5555558b3700) at thread/qthread_unix.cpp:368
#5 0x00007fffedc9e518 in start_thread (arg=0x7fffe1623700) at
pthread_create.c:465
#6 0x00007ffff219297f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 3
[Switching to thread 3 (Thread 0x7fffda38f700 (LWP 21761))]
#0 0x00007ffff21883fb in __GI___poll (fds=0x7fffd4031e80, nfds=5,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29 in ../sysdeps/unix/sysv/linux/poll.c
(gdb) where
#0 0x00007ffff21883fb in __GI___poll (fds=0x7fffd4031e80, nfds=5,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffebf6a159 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffebf6a26c in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff30160ef in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7fffd4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4 0x00007ffff2fbb2aa in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this at entry=0x7fffda38ec40, flags=..., flags at entry=...) at
kernel/qeventloop.cpp:212
#5 0x00007ffff2dda35a in QThread::exec() (this=<optimized out>) at
thread/qthread.cpp:515
#6 0x00007ffff43dee45 in () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7 0x00007ffff2ddf22d in QThreadPrivate::start(void*)
(arg=0x7ffff4651d60) at thread/qthread_unix.cpp:368
#8 0x00007fffedc9e518 in start_thread (arg=0x7fffda38f700) at
pthread_create.c:465
#9 0x00007ffff219297f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 5
[Switching to thread 5 (Thread 0x7fffd897d700 (LWP 21763))]
#0 0x00007ffff21883fb in __GI___poll (fds=0x7fffcc002ee0, nfds=1,
timeout=9779) at ../sysdeps/unix/sysv/linux/poll.c:29
29 in ../sysdeps/unix/sysv/linux/poll.c
(gdb) where
#0 0x00007ffff21883fb in __GI___poll (fds=0x7fffcc002ee0, nfds=1,
timeout=9779) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffebf6a159 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffebf6a26c in g_main_context_iteration () at
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff30160ef in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7fffcc004bc0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4 0x00007ffff2fbb2aa in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this at entry=0x7fffd897cc70, flags=..., flags at entry=...) at
kernel/qeventloop.cpp:212
#5 0x00007ffff2dda35a in QThread::exec() (this=<optimized out>) at
thread/qthread.cpp:515
#6 0x00007ffff2ddf22d in QThreadPrivate::start(void*)
(arg=0x555555957ca0) at thread/qthread_unix.cpp:368
#7 0x00007fffedc9e518 in start_thread (arg=0x7fffd897d700) at
pthread_create.c:465
#8 0x00007ffff219297f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Spinning inside flush:
(gdb) n
257 in ../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
(gdb) n
258 in ../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
(gdb) n
257 in ../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
(gdb) n
258 in ../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
(gdb) n
257 in ../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
(gdb) finish
Run till exit from #0 WebCore::QNetworkReplyHandlerCallQueue::flush ()
at ../Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:257
^C
Thread 1 "ktorrent" received signal SIGINT, Interrupt.
0x00007ffff2183f68 in __GI___libc_read (fd=fd at entry=48,
buf=buf at entry=0x55555703ede8, nbytes=nbytes at entry=16384) at
../sysdeps/unix/sysv/linux/read.c:26
26 ../sysdeps/unix/sysv/linux/read.c: No such file or directory.
Calling gdb finish with that stack will never end.
Thank you,
Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-kde-extras/attachments/20171224/3dab2a43/attachment.html>
More information about the pkg-kde-extras
mailing list