qBittorrent
qBittorrent copied to clipboard
Crash Report. 20th+ crash of the day. Crashes every 5-60 min.
qBittorrent & operating system versions
qBittorrent version: v4.4.2 (64-bit) Libtorrent version: 2.0.5.0 Qt version: 5.15.2 Boost version: 1.78.0 OpenSSL version: 1.1.1n zlib version: 1.2.11 OS version: Windows 10 Version 2009 10.0.22000 x86_64 (This is windows 11 why is this app reporting windows 10?)
Caught signal: SIGABRT
What is the problem?
qBittorrent has crashed Please file a bug report at http://bugs.qbittorrent.org and provide the following information:
qBittorrent version: v4.4.2 (64-bit) Libtorrent version: 2.0.5.0 Qt version: 5.15.2 Boost version: 1.78.0 OpenSSL version: 1.1.1n zlib version: 1.2.11 OS version: Windows 10 Version 2009 10.0.22000 x86_64
Caught signal: SIGABRT
# 0 qbittorrent.exe 0x00007ff61e1499ec straceWin::getBacktrace()[ app\stacktrace_win.h : 220 ]
# 1 qbittorrent.exe 0x00007ff61e14ab6b sigAbnormalHandler(signum)[ app\main.cpp : 368 ]
# 2 qbittorrent.exe 0x00007ff61ef7a365 raise(signum)[ minkernel\crts\ucrt\src\appcrt\misc\signal.cpp : 541 ]
# 3 qbittorrent.exe 0x00007ff61ef86a94 abort()[ minkernel\crts\ucrt\src\appcrt\startup\abort.cpp : 64 ]
# 4 qbittorrent.exe 0x00007ff61ef7dd73 terminate()[ minkernel\crts\ucrt\src\appcrt\misc\terminate.cpp : 58 ]
# 5 qbittorrent.exe 0x00007ff61ef551b7 __scrt_unhandled_exception_filter(pointers)[ d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\utility\utility_desktop.cpp : 91 ]
# 6 KERNELBASE.dll 0x00007ffb5f236391 UnhandledExceptionFilter()
# 7 ntdll.dll 0x00007ffb617aaeec memset()
# 8 ntdll.dll 0x00007ffb61793eb6 _C_specific_handler()
# 9 ntdll.dll 0x00007ffb617a8e4f _chkstk()
# 10 ntdll.dll 0x00007ffb61735e9a RtlRestoreContext()
# 11 ntdll.dll 0x00007ffb61733163 RtlRaiseException()
# 12 KERNELBASE.dll 0x00007ffb5f13474c RaiseException()
# 13 qbittorrent.exe 0x00007ff61ef73611 _CxxThrowException(pExceptionObject, pThrowInfo)[ d:\agent\_work\1\s\src\vctools\crt\vcruntime\src\eh\throw.cpp : 129 ]
# 14 qbittorrent.exe 0x00007ff61e14279b boost::throw_exception(e)[ g:\qbittorrent\boost_1_78_0\boost\throw_exception.hpp : 148 ]
# 15 qbittorrent.exe 0x00007ff61e13c8ed boost::asio::detail::do_throw_error(err, location)[ g:\qbittorrent\boost_1_78_0\boost\asio\detail\impl\throw_error.ipp : 38 ]
# 16 qbittorrent.exe 0x00007ff61e47929e boost::asio::detail::socket_select_interrupter::open_descriptors()[ g:\qbittorrent\boost_1_78_0\boost\asio\detail\impl\socket_select_interrupter.ipp : 66 ]
# 17 qbittorrent.exe 0x00007ff61e479e3e boost::asio::detail::select_reactor::run(ops, ops)[ g:\qbittorrent\boost_1_78_0\boost\asio\detail\impl\select_reactor.ipp : 266 ]
# 18 qbittorrent.exe 0x00007ff61e47a099 boost::asio::detail::select_reactor::run_thread()[ g:\qbittorrent\boost_1_78_0\boost\asio\detail\impl\select_reactor.ipp : 303 ]
# 19 qbittorrent.exe 0x00007ff61e4126cf boost::asio::detail::win_thread_function(arg)[ g:\qbittorrent\boost_1_78_0\boost\asio\detail\impl\win_thread.ipp : 119 ]
# 20 qbittorrent.exe 0x00007ff61ef864a0 thread_start(parameter, parameter)[ minkernel\crts\ucrt\src\appcrt\startup\thread.cpp : 115 ]
# 21 KERNEL32.DLL 0x00007ffb5f9154e0 BaseThreadInitThunk()
# 22 ntdll.dll 0x00007ffb6170485b RtlUserThreadStart()
Steps to reproduce
- Launch app
- wait 5-30 min
- another crash
Additional context
Nothing else on my system network related or otherwise is crashing (online games included). I have a feeling it is crashing every time my wifi is interrupted. So instead of just neatly allowing for sudden connection loss, it just flat out freaks out and dies? A wild guess as I have no other ideas.
This is a fresh (few days old) install of windows 11 22000.
Log(s) & preferences file(s)
No response
Logs and ini qbittorrent.zip
Looks like some network related exception is unhandled by libtorrent. @arvidn, ping!
I have a feeling it is crashing every time my wifi is interrupted.
Similar to issues #16958, #15552 & others.
this looks like an internal boost.asio thread, and it looks like it's failing to bind a socket to the IPv4 loopback address, port 0 (which means the OS gets to pick the port).
I think this is never really expected to fail.
Also I am using a VPN for qbittorent called Windscribe. Spit tunneling in inclusive mode. Not sure if this is effecting anything.
Also I am using a VPN for qbittorent called Windscribe. Spit tunneling in inclusive mode. Not sure if this is effecting anything.
I am using the exact same thing (Windscribe. Spit tunneling) and have the exact same issue.
Can you reproduce the crash if you disable UPnP and Local service discovery from qbittorrent? If not then it may be a temporary solution till it gets fixed upstream.
I don't have UPnP or local discovery enabled and still have the issue.
Is it possible that qBt enables UPnP and LSD for a split second before loading the config and disabling it? If so, changing settings wouldn't affect this issue.
I found this in the code. Seems like libtorrent enables those by default and qbit attempts to disable them at startup. https://github.com/qbittorrent/qBittorrent/blob/5b269a782a8adb2cf611c0f53694a2c433345673/src/base/bittorrent/session.cpp#L1379
I found this in the code. Seems like libtorrent enables those by default and qbit attempts to disable them at startup.
https://github.com/qbittorrent/qBittorrent/blob/5b269a782a8adb2cf611c0f53694a2c433345673/src/base/bittorrent/session.cpp#L1379
This code looks strange to me. It just disables UPnP from the start and I can't see where it can be enabled. Doesn't qBittorrent support UPnP intentionally?
I found this in the code. Seems like libtorrent enables those by default and qbit attempts to disable them at startup. https://github.com/qbittorrent/qBittorrent/blob/5b269a782a8adb2cf611c0f53694a2c433345673/src/base/bittorrent/session.cpp#L1379
This code looks strange to me. It just disables UPnP from the start and I can't see where it can be enabled. Doesn't qBittorrent support UPnP intentionally?
But at the same time there is a "UPnP lease duration" setting. Does anyone understand how it is supposed to work? @Chocobo1?
I think it re-enables it here https://github.com/qbittorrent/qBittorrent/blob/746fe7ba090920878ae38622e76ca663b7387c10/src/base/bittorrent/portforwarderimpl.cpp#L96
But at the same time there is a "UPnP lease duration" setting.
It's basically a way of refreshing the UPnP mapping on the router. By default qBt maps only once as a permanent lease.
I think it re-enables it here
https://github.com/qbittorrent/qBittorrent/blob/746fe7ba090920878ae38622e76ca663b7387c10/src/base/bittorrent/portforwarderimpl.cpp#L96
Thanks!
I completely forgot. It is I who am the author of PortForwarder
abstraction (how long ago it was!). But I was really confused by the presence of "UPnP lease duration" setting in BitTorrent::Session
class whereas it should be in PortForwarder
. Apparently it was added by someone later.
Is it possible that qBt enables UPnP and LSD for a split second before loading the config and disabling it?
qBittorrent applies settings at lt::session
creation time (passing in constructor).
A fix has been incorporated into asio.
A fix has been incorporated into asio.
This will more than likely miss being included in upcoming Boost 1.80 release.
(libtorrent) Adhering to advise from asio maintainer
may help in the interim....
Could someone test a build with this patch applied to libtorrent? https://github.com/arvidn/libtorrent/pull/6994
This is against libtorrent-1.2.x right now, I will forward-port it once it lands.
Windows test build based on qBittorrent master
& libtorrent upnp-select-reactor
https://github.com/xavier2k6/qBittorrent/suites/7701493068/artifacts/322063548
@Quest79 @electricmessiah Can you try build in https://github.com/qbittorrent/qBittorrent/issues/17082#issuecomment-1207383135 & provide feedback please?
@Quest79 @electricmessiah Can you try build in #17082 (comment) & provide feedback please?
I'll give it a shot.
@xavier2k6 your build was made with a boost < 1.80, right?
your build was made with a boost < 1.80, right?
Yes, Boost 1.79.0
See workflow file: https://github.com/xavier2k6/qBittorrent/blob/da3a46c5dc07118987a256c8befc3ad52e8cfd64/.github/workflows/ci_windows.yaml
I suppose it doesn't hurt to land this, even if it doesn't solve the problem.
qBt 4.4.4 has been released built against boost 1.80. So someone please check if 4.4.4 fixes your issue.
@Quest79
Does newer qBittorrent v4.4.4 with boost 1.80 work fine?
I will replace my current install and report back
@PriitUring
I was not able to catch the crash window info (it stayed up for a few sec then went away before I could copy). Here are the logs at least
Same setup as before just with the 444 1.80 version as suggested. This crash happened 6 hours into the test, so that is way better than the literal 5-30 min i was getting. I tried to manually disconnect my internet and reconnect and have the VPN reconnect to diff servers but I could not get it to crash again yet. If I do I will try to be quicker with copying the crash log window info.
qt.zip .
I left it up overnight with several torrents doing their thing and its still going without another crash.
At some point in the last 2 hours it finally crashed. Still a much better improvement.
qBittorrent version: v4.4.4 (64-bit) Libtorrent version: 2.0.7.0 Qt version: 5.15.5 Boost version: 1.80.0 OpenSSL version: 1.1.1q zlib version: 1.2.12 OS version: Windows 10 Version 2009 10.0.22000 x86_64
Caught signal: SIGABRT
# 0 qbittorrent.exe 0x00007ff62fb59dbc straceWin::getBacktrace()[ app\stacktrace_win.h : 220 ]
# 1 qbittorrent.exe 0x00007ff62fb5af4b sigAbnormalHandler(signum)[ app\main.cpp : 367 ]
# 2 qbittorrent.exe 0x00007ff6309953f3 raise(signum)[ minkernel\crts\ucrt\src\appcrt\misc\signal.cpp : 541 ]
# 3 qbittorrent.exe 0x00007ff6309a2f58 abort()[ minkernel\crts\ucrt\src\appcrt\startup\abort.cpp : 64 ]
# 4 qbittorrent.exe 0x00007ff6309994a5 terminate()[ minkernel\crts\ucrt\src\appcrt\misc\terminate.cpp : 58 ]
# 5 qbittorrent.exe 0x00007ff6309c0a1c __C_specific_handler_noexcept(ExceptionRecord, EstablisherFrame, ContextRecord, DispatcherContext)[ d:\agent\_work\2\s\src\vctools\crt\vcruntime\src\eh\chandler_noexcept.cpp : 65 ]
# 6 ntdll.dll 0x00007ffee9a68fcf _chkstk()
# 7 ntdll.dll 0x00007ffee99f5e9a RtlRestoreContext()
# 8 ntdll.dll 0x00007ffee99f3163 RtlRaiseException()
# 9 KERNELBASE.dll 0x00007ffee746474c RaiseException()
# 10 qbittorrent.exe 0x00007ff630988ed1 _CxxThrowException(pExceptionObject, pThrowInfo)[ d:\agent\_work\2\s\src\vctools\crt\vcruntime\src\eh\throw.cpp : 129 ]
# 11 qbittorrent.exe 0x00007ff62fb52923 boost::throw_exception(e)[ g:\qbittorrent\boost_1_80_0\boost\throw_exception.hpp : 157 ]
# 12 qbittorrent.exe 0x00007ff62fb4c98d boost::asio::detail::do_throw_error(err, location)[ g:\qbittorrent\boost_1_80_0\boost\asio\detail\impl\throw_error.ipp : 42 ]
# 13 qbittorrent.exe 0x00007ff62fe88b1b boost::asio::detail::socket_select_interrupter::open_descriptors()[ g:\qbittorrent\boost_1_80_0\boost\asio\detail\impl\socket_select_interrupter.ipp : 66 ]
# 14 qbittorrent.exe 0x00007ff62fe89c06 boost::asio::detail::select_reactor::restart_reactor::do_complete(owner, base, __formal, __formal)[ g:\qbittorrent\boost_1_80_0\boost\asio\detail\impl\select_reactor.ipp : 334 ]
# 15 qbittorrent.exe 0x00007ff62fe23648 boost::asio::detail::win_iocp_io_context::do_one(this_thread, ec)[ g:\qbittorrent\boost_1_80_0\boost\asio\detail\impl\win_iocp_io_context.ipp : 473 ]
# 16 qbittorrent.exe 0x00007ff62fe22edf boost::asio::detail::win_iocp_io_context::run(ec)[ g:\qbittorrent\boost_1_80_0\boost\asio\detail\impl\win_iocp_io_context.ipp : 204 ]
# 17 qbittorrent.exe 0x00007ff62fe238bc boost::asio::io_context::run()[ g:\qbittorrent\boost_1_80_0\boost\asio\impl\io_context.ipp : 63 ]
# 18 qbittorrent.exe 0x00007ff62fe250e7 std::_LaunchPad >,std::default_delete > > > >::_Go()[ c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\thr\xthread : 230 ]
# 19 qbittorrent.exe 0x00007ff62fe21f69 std::_Pad::_Call_func(_Data)[ c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\thr\xthread : 208 ]
# 20 qbittorrent.exe 0x00007ff6309a266a thread_start(parameter, parameter)[ minkernel\crts\ucrt\src\appcrt\startup\thread.cpp : 97 ]
# 21 KERNEL32.DLL 0x00007ffee92454e0 BaseThreadInitThunk()
# 22 ntdll.dll 0x00007ffee99c485b RtlUserThreadStart()