after closing main window, QBT doesn't tereminate for many minutes #5418

Closed
opened 2026-02-21 17:50:35 -05:00 by deekerman · 3 comments
Owner

Originally created by @Kervius on GitHub (Apr 8, 2017).

Please provide the following information

qBittorrent version and Operating System:

qbittorrent 3.3.10-0ppa1~trusty1
Ubuntu 14.04, 64bit

If on linux, libtorrent and Qt version:

libtorrent-rasterbar8 1.0.11+git20172002.ecd20f15cb-1ppa1~trusty1
libqt5core5a:amd64 5.2.1+dfsg-1ubuntu14.3
libqtcore4:amd64 4:4.8.5+git192-g085f851+dfsg-2ubuntu4.1

What is the problem:

Sometimes, QBT doesn't terminate after the main window has been closed. The window closes, but the process remains in the background, for some very long time.

Expected behavior:

QBT terminates cleanly, within reasonable time - e.g. several seconds - after the main window has been closed.

Steps to reproduce:

Happens sporadically. Can't localize.

Extra info(if any):

I have yet to have any data loss issues due to this problems: 10+ seconds later, pkill -KILL qbittorrent doesn't seem to cause any issues, and QBT restarts later without any sideeffects.

From the hanging process, with gdb, I have extracted the threads info:

(gdb) info threads 
  Id   Target Id         Frame 
  9    Thread 0x7f2e20a0e700 (LWP 9025) "QThread" 0x00007f2e2f75384d in poll ()
    at ../sysdeps/unix/syscall-template.S:81
  8    Thread 0x7f2e1b38e700 (LWP 9027) "qbittorrent" 0x00007f2e2f761283 in epoll_wait ()
    at ../sysdeps/unix/syscall-template.S:81
  7    Thread 0x7f2e1ab8d700 (LWP 9028) "qbittorrent" 0x00007f2e2f75384d in poll ()
    at ../sysdeps/unix/syscall-template.S:81
  6    Thread 0x7f2e1a181700 (LWP 9029) "QThread" 0x00007f2e2f75384d in poll ()
    at ../sysdeps/unix/syscall-template.S:81
  5    Thread 0x7f2e18ded700 (LWP 9031) "qbittorrent" pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7f2df449d700 (LWP 9034) "gdbus" 0x00007f2e2f75384d in poll ()
    at ../sysdeps/unix/syscall-template.S:81
  3    Thread 0x7f2df3260700 (LWP 9036) "QThread" 0x00007f2e2f75384d in poll ()
    at ../sysdeps/unix/syscall-template.S:81
  2    Thread 0x7f2dd3fff700 (LWP 9042) "QProcessManager" 0x00007f2e2f7584c3 in select ()
    at ../sysdeps/unix/syscall-template.S:81
* 1    Thread 0x7f2e3286f800 (LWP 9024) "qbittorrent" 0x00007f2e31bf465b in pthread_join
    (threadid=139836001937152, thread_return=0x0) at pthread_join.c:92
(gdb) thread apply all where

Thread 9 (Thread 0x7f2e20a0e700 (LWP 9025)):
#0  0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2e2e4a0fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2e2e4a10ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2e303f57be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007f2e303c70af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f2e303c73a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f2e302c3c5f in QThread::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f2e302c632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f2e31bf3184 in start_thread (arg=0x7f2e20a0e700) at pthread_create.c:312
#9  0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 8 (Thread 0x7f2e1b38e700 (LWP 9027)):
#0  0x00007f2e2f761283 in epoll_wait () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2e32076477 in boost::asio::detail::epoll_reactor::run(bool, boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>&) ()
   from /usr/lib/libtorrent-rasterbar.so.8
#2  0x00007f2e3207a313 in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) ()
   from /usr/lib/libtorrent-rasterbar.so.8
#3  0x00007f2e3207b14e in boost::asio::detail::task_io_service::run(boost::system::error_code&) () from /usr/lib/libtorrent-rasterbar.so.8
#4  0x00007f2e32129c53 in ?? () from /usr/lib/libtorrent-rasterbar.so.8
#5  0x00007f2e32073b04 in boost_asio_detail_posix_thread_function ()
   from /usr/lib/libtorrent-rasterbar.so.8
#6  0x00007f2e31bf3184 in start_thread (arg=0x7f2e1b38e700) at pthread_create.c:312
#7  0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7f2e1ab8d700 (LWP 9028)):
#0  0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2e278cd214 in send_dg (ansp2_malloced=0x7f2e1ab8c230, 
    resplen2=0x7f2e1ab8c220, anssizp2=0x7f2e1ab8c210, ansp2=0x7f2e1ab8c260, 
    anscp=0x7f2e1ab8c250, gotsomewhere=<synthetic pointer>, 
    v_circuit=<synthetic pointer>, ns=0, terrno=0x7f2e1ab8ac60, anssizp=0x7f2e1ab8ada0, 
    ansp=0x7f2e1ab8ac58, buflen2=47, buf2=0x7f2e1ab8ae00 "/\345\001", buflen=47, 
    buf=0x7f2e1ab8add0 "@\002\001", statp=0x7f2e1ab8ddb8) at res_send.c:1206
#2  __libc_res_nsend (statp=statp@entry=0x7f2e1ab8ddb8, 
    buf=buf@entry=0x7f2e1ab8add0 "@\002\001", buflen=47, 
    buf2=buf2@entry=0x7f2e1ab8ae00 "/\345\001", buflen2=buflen2@entry=47, 
    ans=ans@entry=0x7f2e1ab8b9e0 <incomplete sequence \374\201\200>, 
    anssiz=anssiz@entry=2048, ansp=ansp@entry=0x7f2e1ab8c250, 
    ansp2=ansp2@entry=0x7f2e1ab8c260, nansp2=nansp2@entry=0x7f2e1ab8c210, 
    resplen2=resplen2@entry=0x7f2e1ab8c220, 
    ansp2_malloced=ansp2_malloced@entry=0x7f2e1ab8c230) at res_send.c:576
#3  0x00007f2e278cae2c in __GI___libc_res_nquery (statp=statp@entry=0x7f2e1ab8ddb8, 
    name=0x7f2e0cc2b198 "tracker.leechers-paradise.org", class=class@entry=1, 
    type=type@entry=62321, 
    answer=answer@entry=0x7f2e1ab8b9e0 <incomplete sequence \374\201\200>, 
    anslen=anslen@entry=2048, answerp=answerp@entry=0x7f2e1ab8c250, 
    answerp2=answerp2@entry=0x7f2e1ab8c260, nanswerp2=nanswerp2@entry=0x7f2e1ab8c210, 
    resplen2=resplen2@entry=0x7f2e1ab8c220, 
    answerp2_malloced=answerp2_malloced@entry=0x7f2e1ab8c230) at res_query.c:227
#4  0x00007f2e278cb863 in __libc_res_nquerydomain (domain=0x0, 
    answerp2_malloced=0x7f2e1ab8c230, resplen2=0x7f2e1ab8c220, nanswerp2=0x7f2e1ab8c210, 
    answerp2=0x7f2e1ab8c260, answerp=0x7f2e1ab8c250, anslen=2048, 
    answer=0x7f2e1ab8b9e0 <incomplete sequence \374\201\200>, type=62321, class=1, 
    name=0x7f2e0cc2b198 "tracker.leechers-paradise.org", statp=0x7f2e1ab8ddb8)
    at res_query.c:591
#5  __GI___libc_res_nsearch (statp=0x7f2e1ab8ddb8, 
    name=name@entry=0x7f2e0cc2b198 "tracker.leechers-paradise.org", class=class@entry=1, 
    type=type@entry=62321, 
    answer=answer@entry=0x7f2e1ab8b9e0 <incomplete sequence \374\201\200>, 
    anslen=anslen@entry=2048, answerp=answerp@entry=0x7f2e1ab8c250, 
    answerp2=answerp2@entry=0x7f2e1ab8c260, nanswerp2=nanswerp2@entry=0x7f2e1ab8c210, 
    resplen2=resplen2@entry=0x7f2e1ab8c220, 
    answerp2_malloced=answerp2_malloced@entry=0x7f2e1ab8c230) at res_query.c:381
#6  0x00007f2e1957ac73 in _nss_dns_gethostbyname4_r (
    name=name@entry=0x7f2e0cc2b198 "tracker.leechers-paradise.org", 
    pat=pat@entry=0x7f2e1ab8c870, buffer=buffer@entry=0x7f2e1ab8c300 "\377\002", 
    buflen=buflen@entry=1064, errnop=errnop@entry=0x7f2e1ab8c840, 
    herrnop=herrnop@entry=0x7f2e1ab8c8a0, ttlp=ttlp@entry=0x0) at nss_dns/dns-host.c:315
#7  0x00007f2e2f733226 in gaih_inet (name=<optimized out>, 
    name@entry=0x7f2e0cc2b198 "tracker.leechers-paradise.org", service=<optimized out>, 
    req=req@entry=0x7f2e0cb99548, pai=pai@entry=0x7f2e1ab8c9b0, 
    naddrs=naddrs@entry=0x7f2e1ab8c9a0) at ../sysdeps/posix/getaddrinfo.c:858
#8  0x00007f2e2f73652d in __GI_getaddrinfo (
    name=0x7f2e0cc2b198 "tracker.leechers-paradise.org", service=0x7f2e0c2388e8 "6969", 
    hints=0x7f2e0cb99548, pai=0x7f2e0cb995b8) at ../sysdeps/posix/getaddrinfo.c:2414
#9  0x00007f2e32073e99 in boost::asio::detail::socket_ops::getaddrinfo(char const*, char const*, addrinfo const&, addrinfo**, boost::system::error_code&) ()
   from /usr/lib/libtorrent-rasterbar.so.8
#10 0x00007f2e32073ef0 in boost::asio::detail::socket_ops::background_getaddrinfo(std::weak_ptr<void> const&, char const*, char const*, addrinfo const&, addrinfo**, boost::system::error_code&) () from /usr/lib/libtorrent-rasterbar.so.8
#11 0x00007f2e32190ad4 in ?? () from /usr/lib/libtorrent-rasterbar.so.8
#12 0x00007f2e3207a36b in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) ()
   from /usr/lib/libtorrent-rasterbar.so.8
#13 0x00007f2e3207b14e in boost::asio::detail::task_io_service::run(boost::system::error_code&) () from /usr/lib/libtorrent-rasterbar.so.8
#14 0x00007f2e3207b228 in boost::asio::io_service::run() ()
   from /usr/lib/libtorrent-rasterbar.so.8
#15 0x00007f2e32073b04 in boost_asio_detail_posix_thread_function ()
   from /usr/lib/libtorrent-rasterbar.so.8
#16 0x00007f2e31bf3184 in start_thread (arg=0x7f2e1ab8d700) at pthread_create.c:312
#17 0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7f2e1a181700 (LWP 9029)):
#0  0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2e2e4a0fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2e2e4a10ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2e303f57a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007f2e303c70af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f2e303c73a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f2e302c3c5f in QThread::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f2e302c632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f2e31bf3184 in start_thread (arg=0x7f2e1a181700) at pthread_create.c:312
#9  0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7f2e18ded700 (LWP 9031)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f2e3207a3ae in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) ()
   from /usr/lib/libtorrent-rasterbar.so.8
#2  0x00007f2e3207b14e in boost::asio::detail::task_io_service::run(boost::system::error_code&) () from /usr/lib/libtorrent-rasterbar.so.8
#3  0x00007f2e3207b228 in boost::asio::io_service::run() ()
   from /usr/lib/libtorrent-rasterbar.so.8
#4  0x00007f2e32073b04 in boost_asio_detail_posix_thread_function ()
   from /usr/lib/libtorrent-rasterbar.so.8
#5  0x00007f2e31bf3184 in start_thread (arg=0x7f2e18ded700) at pthread_create.c:312
#6  0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f2df449d700 (LWP 9034)):
#0  0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2e2e4a0fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2e2e4a130a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2e27dd7336 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f2e2e4c5f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f2e31bf3184 in start_thread (arg=0x7f2df449d700) at pthread_create.c:312
#6  0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f2df3260700 (LWP 9036)):
#0  0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2e2e4a0fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2e2e4a10ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2e303f57a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007f2e303c70af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f2e303c73a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f2e302c3c5f in QThread::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f2e302c632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f2e31bf3184 in start_thread (arg=0x7f2df3260700) at pthread_create.c:312
#9  0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f2dd3fff700 (LWP 9042)):
#0  0x00007f2e2f7584c3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2e303a5171 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007f2e302c632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x00007f2e31bf3184 in start_thread (arg=0x7f2dd3fff700) at pthread_create.c:312
#4  0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f2e3286f800 (LWP 9024)):
#0  0x00007f2e31bf465b in pthread_join (threadid=139836001937152, thread_return=0x0)
    at pthread_join.c:92
#1  0x00007f2e32073b4c in boost::asio::detail::posix_thread::join() ()
   from /usr/lib/libtorrent-rasterbar.so.8
#2  0x00007f2e321283f7 in ?? () from /usr/lib/libtorrent-rasterbar.so.8
#3  0x00007f2e321286b3 in ?? () from /usr/lib/libtorrent-rasterbar.so.8
#4  0x00007f2e320686e2 in ?? () from /usr/lib/libtorrent-rasterbar.so.8
#5  0x00007f2e3210db8c in libtorrent::session::~session() ()
   from /usr/lib/libtorrent-rasterbar.so.8
#6  0x00000000004ef6fd in BitTorrent::Session::~Session() ()
#7  0x00000000004efc89 in BitTorrent::Session::~Session() ()
#8  0x00000000004e04b6 in BitTorrent::Session::freeInstance() ()
#9  0x000000000049e492 in Application::cleanup() ()
#10 0x00007f2e303dc87a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x00007f2e303ccbd5 in QCoreApplication::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#12 0x000000000049fcfe in Application::exec(QStringList const&) ()
#13 0x0000000000496e94 in main ()
(gdb) 
Originally created by @Kervius on GitHub (Apr 8, 2017). **Please provide the following information** ### qBittorrent version and Operating System: qbittorrent 3.3.10-0ppa1~trusty1 Ubuntu 14.04, 64bit ### If on linux, libtorrent and Qt version: libtorrent-rasterbar8 1.0.11+git20172002.ecd20f15cb-1ppa1~trusty1 libqt5core5a:amd64 5.2.1+dfsg-1ubuntu14.3 libqtcore4:amd64 4:4.8.5+git192-g085f851+dfsg-2ubuntu4.1 ### What is the problem: Sometimes, QBT doesn't terminate after the main window has been closed. The window closes, but the process remains in the background, for some very long time. ### Expected behavior: QBT terminates cleanly, within reasonable time - e.g. several seconds - after the main window has been closed. ### Steps to reproduce: Happens sporadically. Can't localize. ### Extra info(if any): I have yet to have any data loss issues due to this problems: 10+ seconds later, `pkill -KILL qbittorrent` doesn't seem to cause any issues, and QBT restarts later without any sideeffects. From the hanging process, with gdb, I have extracted the threads info: ``` (gdb) info threads Id Target Id Frame 9 Thread 0x7f2e20a0e700 (LWP 9025) "QThread" 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 8 Thread 0x7f2e1b38e700 (LWP 9027) "qbittorrent" 0x00007f2e2f761283 in epoll_wait () at ../sysdeps/unix/syscall-template.S:81 7 Thread 0x7f2e1ab8d700 (LWP 9028) "qbittorrent" 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 6 Thread 0x7f2e1a181700 (LWP 9029) "QThread" 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 5 Thread 0x7f2e18ded700 (LWP 9031) "qbittorrent" pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 4 Thread 0x7f2df449d700 (LWP 9034) "gdbus" 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 3 Thread 0x7f2df3260700 (LWP 9036) "QThread" 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 2 Thread 0x7f2dd3fff700 (LWP 9042) "QProcessManager" 0x00007f2e2f7584c3 in select () at ../sysdeps/unix/syscall-template.S:81 * 1 Thread 0x7f2e3286f800 (LWP 9024) "qbittorrent" 0x00007f2e31bf465b in pthread_join (threadid=139836001937152, thread_return=0x0) at pthread_join.c:92 (gdb) thread apply all where Thread 9 (Thread 0x7f2e20a0e700 (LWP 9025)): #0 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f2e2e4a0fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f2e2e4a10ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f2e303f57be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #4 0x00007f2e303c70af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #5 0x00007f2e303c73a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #6 0x00007f2e302c3c5f in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #7 0x00007f2e302c632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #8 0x00007f2e31bf3184 in start_thread (arg=0x7f2e20a0e700) at pthread_create.c:312 #9 0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 8 (Thread 0x7f2e1b38e700 (LWP 9027)): #0 0x00007f2e2f761283 in epoll_wait () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f2e32076477 in boost::asio::detail::epoll_reactor::run(bool, boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>&) () from /usr/lib/libtorrent-rasterbar.so.8 #2 0x00007f2e3207a313 in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) () from /usr/lib/libtorrent-rasterbar.so.8 #3 0x00007f2e3207b14e in boost::asio::detail::task_io_service::run(boost::system::error_code&) () from /usr/lib/libtorrent-rasterbar.so.8 #4 0x00007f2e32129c53 in ?? () from /usr/lib/libtorrent-rasterbar.so.8 #5 0x00007f2e32073b04 in boost_asio_detail_posix_thread_function () from /usr/lib/libtorrent-rasterbar.so.8 #6 0x00007f2e31bf3184 in start_thread (arg=0x7f2e1b38e700) at pthread_create.c:312 #7 0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 7 (Thread 0x7f2e1ab8d700 (LWP 9028)): #0 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f2e278cd214 in send_dg (ansp2_malloced=0x7f2e1ab8c230, resplen2=0x7f2e1ab8c220, anssizp2=0x7f2e1ab8c210, ansp2=0x7f2e1ab8c260, anscp=0x7f2e1ab8c250, gotsomewhere=<synthetic pointer>, v_circuit=<synthetic pointer>, ns=0, terrno=0x7f2e1ab8ac60, anssizp=0x7f2e1ab8ada0, ansp=0x7f2e1ab8ac58, buflen2=47, buf2=0x7f2e1ab8ae00 "/\345\001", buflen=47, buf=0x7f2e1ab8add0 "@\002\001", statp=0x7f2e1ab8ddb8) at res_send.c:1206 #2 __libc_res_nsend (statp=statp@entry=0x7f2e1ab8ddb8, buf=buf@entry=0x7f2e1ab8add0 "@\002\001", buflen=47, buf2=buf2@entry=0x7f2e1ab8ae00 "/\345\001", buflen2=buflen2@entry=47, ans=ans@entry=0x7f2e1ab8b9e0 <incomplete sequence \374\201\200>, anssiz=anssiz@entry=2048, ansp=ansp@entry=0x7f2e1ab8c250, ansp2=ansp2@entry=0x7f2e1ab8c260, nansp2=nansp2@entry=0x7f2e1ab8c210, resplen2=resplen2@entry=0x7f2e1ab8c220, ansp2_malloced=ansp2_malloced@entry=0x7f2e1ab8c230) at res_send.c:576 #3 0x00007f2e278cae2c in __GI___libc_res_nquery (statp=statp@entry=0x7f2e1ab8ddb8, name=0x7f2e0cc2b198 "tracker.leechers-paradise.org", class=class@entry=1, type=type@entry=62321, answer=answer@entry=0x7f2e1ab8b9e0 <incomplete sequence \374\201\200>, anslen=anslen@entry=2048, answerp=answerp@entry=0x7f2e1ab8c250, answerp2=answerp2@entry=0x7f2e1ab8c260, nanswerp2=nanswerp2@entry=0x7f2e1ab8c210, resplen2=resplen2@entry=0x7f2e1ab8c220, answerp2_malloced=answerp2_malloced@entry=0x7f2e1ab8c230) at res_query.c:227 #4 0x00007f2e278cb863 in __libc_res_nquerydomain (domain=0x0, answerp2_malloced=0x7f2e1ab8c230, resplen2=0x7f2e1ab8c220, nanswerp2=0x7f2e1ab8c210, answerp2=0x7f2e1ab8c260, answerp=0x7f2e1ab8c250, anslen=2048, answer=0x7f2e1ab8b9e0 <incomplete sequence \374\201\200>, type=62321, class=1, name=0x7f2e0cc2b198 "tracker.leechers-paradise.org", statp=0x7f2e1ab8ddb8) at res_query.c:591 #5 __GI___libc_res_nsearch (statp=0x7f2e1ab8ddb8, name=name@entry=0x7f2e0cc2b198 "tracker.leechers-paradise.org", class=class@entry=1, type=type@entry=62321, answer=answer@entry=0x7f2e1ab8b9e0 <incomplete sequence \374\201\200>, anslen=anslen@entry=2048, answerp=answerp@entry=0x7f2e1ab8c250, answerp2=answerp2@entry=0x7f2e1ab8c260, nanswerp2=nanswerp2@entry=0x7f2e1ab8c210, resplen2=resplen2@entry=0x7f2e1ab8c220, answerp2_malloced=answerp2_malloced@entry=0x7f2e1ab8c230) at res_query.c:381 #6 0x00007f2e1957ac73 in _nss_dns_gethostbyname4_r ( name=name@entry=0x7f2e0cc2b198 "tracker.leechers-paradise.org", pat=pat@entry=0x7f2e1ab8c870, buffer=buffer@entry=0x7f2e1ab8c300 "\377\002", buflen=buflen@entry=1064, errnop=errnop@entry=0x7f2e1ab8c840, herrnop=herrnop@entry=0x7f2e1ab8c8a0, ttlp=ttlp@entry=0x0) at nss_dns/dns-host.c:315 #7 0x00007f2e2f733226 in gaih_inet (name=<optimized out>, name@entry=0x7f2e0cc2b198 "tracker.leechers-paradise.org", service=<optimized out>, req=req@entry=0x7f2e0cb99548, pai=pai@entry=0x7f2e1ab8c9b0, naddrs=naddrs@entry=0x7f2e1ab8c9a0) at ../sysdeps/posix/getaddrinfo.c:858 #8 0x00007f2e2f73652d in __GI_getaddrinfo ( name=0x7f2e0cc2b198 "tracker.leechers-paradise.org", service=0x7f2e0c2388e8 "6969", hints=0x7f2e0cb99548, pai=0x7f2e0cb995b8) at ../sysdeps/posix/getaddrinfo.c:2414 #9 0x00007f2e32073e99 in boost::asio::detail::socket_ops::getaddrinfo(char const*, char const*, addrinfo const&, addrinfo**, boost::system::error_code&) () from /usr/lib/libtorrent-rasterbar.so.8 #10 0x00007f2e32073ef0 in boost::asio::detail::socket_ops::background_getaddrinfo(std::weak_ptr<void> const&, char const*, char const*, addrinfo const&, addrinfo**, boost::system::error_code&) () from /usr/lib/libtorrent-rasterbar.so.8 #11 0x00007f2e32190ad4 in ?? () from /usr/lib/libtorrent-rasterbar.so.8 #12 0x00007f2e3207a36b in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) () from /usr/lib/libtorrent-rasterbar.so.8 #13 0x00007f2e3207b14e in boost::asio::detail::task_io_service::run(boost::system::error_code&) () from /usr/lib/libtorrent-rasterbar.so.8 #14 0x00007f2e3207b228 in boost::asio::io_service::run() () from /usr/lib/libtorrent-rasterbar.so.8 #15 0x00007f2e32073b04 in boost_asio_detail_posix_thread_function () from /usr/lib/libtorrent-rasterbar.so.8 #16 0x00007f2e31bf3184 in start_thread (arg=0x7f2e1ab8d700) at pthread_create.c:312 #17 0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 6 (Thread 0x7f2e1a181700 (LWP 9029)): #0 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f2e2e4a0fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f2e2e4a10ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f2e303f57a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #4 0x00007f2e303c70af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #5 0x00007f2e303c73a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #6 0x00007f2e302c3c5f in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #7 0x00007f2e302c632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #8 0x00007f2e31bf3184 in start_thread (arg=0x7f2e1a181700) at pthread_create.c:312 #9 0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 5 (Thread 0x7f2e18ded700 (LWP 9031)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f2e3207a3ae in boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) () from /usr/lib/libtorrent-rasterbar.so.8 #2 0x00007f2e3207b14e in boost::asio::detail::task_io_service::run(boost::system::error_code&) () from /usr/lib/libtorrent-rasterbar.so.8 #3 0x00007f2e3207b228 in boost::asio::io_service::run() () from /usr/lib/libtorrent-rasterbar.so.8 #4 0x00007f2e32073b04 in boost_asio_detail_posix_thread_function () from /usr/lib/libtorrent-rasterbar.so.8 #5 0x00007f2e31bf3184 in start_thread (arg=0x7f2e18ded700) at pthread_create.c:312 #6 0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 4 (Thread 0x7f2df449d700 (LWP 9034)): #0 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f2e2e4a0fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f2e2e4a130a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f2e27dd7336 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007f2e2e4c5f05 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007f2e31bf3184 in start_thread (arg=0x7f2df449d700) at pthread_create.c:312 #6 0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 3 (Thread 0x7f2df3260700 (LWP 9036)): #0 0x00007f2e2f75384d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f2e2e4a0fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f2e2e4a10ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f2e303f57a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #4 0x00007f2e303c70af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #5 0x00007f2e303c73a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #6 0x00007f2e302c3c5f in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #7 0x00007f2e302c632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #8 0x00007f2e31bf3184 in start_thread (arg=0x7f2df3260700) at pthread_create.c:312 #9 0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 2 (Thread 0x7f2dd3fff700 (LWP 9042)): #0 0x00007f2e2f7584c3 in select () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f2e303a5171 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #2 0x00007f2e302c632f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #3 0x00007f2e31bf3184 in start_thread (arg=0x7f2dd3fff700) at pthread_create.c:312 #4 0x00007f2e2f760bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 1 (Thread 0x7f2e3286f800 (LWP 9024)): #0 0x00007f2e31bf465b in pthread_join (threadid=139836001937152, thread_return=0x0) at pthread_join.c:92 #1 0x00007f2e32073b4c in boost::asio::detail::posix_thread::join() () from /usr/lib/libtorrent-rasterbar.so.8 #2 0x00007f2e321283f7 in ?? () from /usr/lib/libtorrent-rasterbar.so.8 #3 0x00007f2e321286b3 in ?? () from /usr/lib/libtorrent-rasterbar.so.8 #4 0x00007f2e320686e2 in ?? () from /usr/lib/libtorrent-rasterbar.so.8 #5 0x00007f2e3210db8c in libtorrent::session::~session() () from /usr/lib/libtorrent-rasterbar.so.8 #6 0x00000000004ef6fd in BitTorrent::Session::~Session() () #7 0x00000000004efc89 in BitTorrent::Session::~Session() () #8 0x00000000004e04b6 in BitTorrent::Session::freeInstance() () #9 0x000000000049e492 in Application::cleanup() () #10 0x00007f2e303dc87a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #11 0x00007f2e303ccbd5 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #12 0x000000000049fcfe in Application::exec(QStringList const&) () #13 0x0000000000496e94 in main () (gdb) ```
Author
Owner

@Kervius commented on GitHub (Apr 8, 2017):

Just to clarify. I have never waited longer than 10-15 minutes for QBT to terminate. I'm either killing it explicitly, or implicitly when rebooting VM. Thus I can't be sure whether it is hard infinite hang, or just a wait for a rare event.

P.S. QBT is hanging now for 10+ minutes - and there is still no change in the list of the threads.

@Kervius commented on GitHub (Apr 8, 2017): Just to clarify. I have never waited longer than 10-15 minutes for QBT to terminate. I'm either killing it explicitly, or implicitly when rebooting VM. Thus I can't be sure whether it is hard infinite hang, or just a wait for a rare event. P.S. QBT is hanging now for 10+ minutes - and there is still no change in the list of the threads.
Author
Owner

@thalieht commented on GitHub (Apr 8, 2017):

Known issue, see #5097, libtorrent waiting for DNS lookups, i mean i hope that is all it is waiting for... Should get better when libtorrent 1.1.x is adopted.
Although 1.1.x is not officially supported yet i too had trouble with long exits if i don't limit
Max Connections even with 1.1.x (VM as well). With a few Max Connections, no problem, in fact i never had problem with long exits when using few Max Connections even with libtorrent 0.16.x.

@thalieht commented on GitHub (Apr 8, 2017): Known issue, see #5097, libtorrent waiting for DNS lookups, i mean i hope that is all it is waiting for... Should get better when libtorrent 1.1.x is adopted. Although 1.1.x is not officially supported yet i too had trouble with long exits if i don't limit Max Connections even with 1.1.x (VM as well). With a few Max Connections, no problem, in fact i never had problem with long exits when using few Max Connections even with libtorrent 0.16.x.
Author
Owner

@zeule commented on GitHub (Apr 8, 2017):

Yes, this is a duplicate of #5097. For me one of the boost updates fixed it.

@zeule commented on GitHub (Apr 8, 2017): Yes, this is a duplicate of #5097. For me one of the boost updates fixed it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/qBittorrent#5418
No description provided.