<html>
  <head>

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