Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash Report. 20th+ crash of the day. Crashes every 5-60 min. #17082

Open
Quest79 opened this issue May 23, 2022 · 54 comments
Open

Crash Report. 20th+ crash of the day. Crashes every 5-60 min. #17082

Quest79 opened this issue May 23, 2022 · 54 comments
Labels
Confirmed bug An issue confirmed by project team to be considered as a bug Crash Libtorrent OS: Windows Issues specific to Windows Proxy/VPN Issues related to the use of proxy/VPN Waiting upstream Waiting for changes in dependent libraries

Comments

@Quest79
Copy link

Quest79 commented May 23, 2022

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

  1. Launch app
  2. wait 5-30 min
  3. 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

@Quest79
Copy link
Author

Quest79 commented May 23, 2022

Logs and ini
qbittorrent.zip

@glassez
Copy link
Member

glassez commented May 23, 2022

Looks like some network related exception is unhandled by libtorrent.
@arvidn, ping!

@xavier2k6
Copy link
Member

I have a feeling it is crashing every time my wifi is interrupted.

Similar to issues #16958, #15552 & others.

@arvidn
Copy link
Contributor

arvidn commented May 23, 2022

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.

@Quest79
Copy link
Author

Quest79 commented May 23, 2022

Also I am using a VPN for qbittorent called Windscribe. Spit tunneling in inclusive mode. Not sure if this is effecting anything.

@electricmessiah
Copy link

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.

@ghost
Copy link

ghost commented Jul 22, 2022

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.

@electricmessiah
Copy link

I don't have UPnP or local discovery enabled and still have the issue.

@arvidn
Copy link
Contributor

arvidn commented Jul 23, 2022

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.

@ghost
Copy link

ghost commented Jul 24, 2022

I found this in the code. Seems like libtorrent enables those by default and qbit attempts to disable them at startup.

// libtorrent 1.1 enables UPnP & NAT-PMP by default

@glassez

This comment was marked as resolved.

@glassez

This comment was marked as resolved.

@ghost

This comment was marked as resolved.

@ghost

This comment was marked as resolved.

@glassez

This comment was marked as resolved.

@glassez
Copy link
Member

glassez commented Jul 30, 2022

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).

@ghost

This comment was marked as outdated.

@xavier2k6
Copy link
Member

xavier2k6 commented Aug 3, 2022

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....

@arvidn
Copy link
Contributor

arvidn commented Aug 7, 2022

Could someone test a build with this patch applied to libtorrent? arvidn/libtorrent#6994

This is against libtorrent-1.2.x right now, I will forward-port it once it lands.

@xavier2k6
Copy link
Member

Windows test build based on qBittorrent master & libtorrent upnp-select-reactor

https://github.com/xavier2k6/qBittorrent/suites/7701493068/artifacts/322063548

@xavier2k6
Copy link
Member

@Quest79 @electricmessiah Can you try build in #17082 (comment) & provide feedback please?

@Leinaria
Copy link

I started encountering this bug myself recently, two weeks ago and again now:

qBittorrent version: v4.6.5 (64-bit)
Libtorrent version: 1.2.19.0
Qt version: 6.4.3
Boost version: 1.85.0
OpenSSL version: 1.1.1w
zlib version: 1.3.1
OS version: Windows 10 Version 22H2 10.0.19045 x86_64

Caught signal: SIGABRT

 0# boost::stacktrace::basic_stacktrace >::init at G:\QBITTORRENT\boost_1_85_0\boost\stacktrace\stacktrace.hpp:91
 1# getStacktrace at G:\QBITTORRENT\qbt-src-4.6.5\src\app\stacktrace.cpp:35
 2# `anonymous namespace'::abnormalExitHandler at G:\QBITTORRENT\qbt-src-4.6.5\src\app\signalhandler.cpp:104
 3# raise at minkernel\crts\ucrt\src\appcrt\misc\signal.cpp:547
 4# abort at minkernel\crts\ucrt\src\appcrt\startup\abort.cpp:71
 5# terminate at minkernel\crts\ucrt\src\appcrt\misc\terminate.cpp:58
 6# FindHandler at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\frame.cpp:735
 7# __InternalCxxFrameHandler at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\frame.cpp:399
 8# __InternalCxxFrameHandlerWrapper at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\frame.cpp:234
 9# __CxxFrameHandler4 at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp:306
10# _chkstk in ntdll
11# RtlRaiseException in ntdll
12# RtlRaiseException in ntdll
13# RaiseException in KERNELBASE
14# _CxxThrowException at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\throw.cpp:75
15# boost::throw_exception at G:\QBITTORRENT\boost_1_85_0\boost\throw_exception.hpp:157
16# boost::asio::detail::do_throw_error at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\throw_error.ipp:42
17# boost::asio::detail::socket_select_interrupter::open_descriptors at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\socket_select_interrupter.ipp:66
18# boost::asio::detail::select_reactor::restart_reactor::do_complete at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\select_reactor.ipp:343
19# boost::asio::detail::win_iocp_io_context::do_one at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\win_iocp_io_context.ipp:476
20# boost::asio::detail::win_iocp_io_context::run at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\win_iocp_io_context.ipp:206
21# std::thread::_Invoke >,0> at C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\thread:55
22# thread_start at minkernel\crts\ucrt\src\appcrt\startup\thread.cpp:97
23# BaseThreadInitThunk in KERNEL32
24# RtlUserThreadStart in ntdll

@Quest79
Copy link
Author

Quest79 commented Jul 29, 2024

I still get this, but not as often now that im on slightly more stable internet. Maybe 1 time every day now usually when I wake up and check it. For me Im 90% certain it has something to do with my VPN client losing connection and reconnecting or connecting to a different host. VPN will alter its virtual network controller somehow and qBit will get very very confused and flip out rather than just elegantly chill and reconnect when needed.

Im using Windscribe 2.10.16 and the latest qBit.

@Leinaria
Copy link

Leinaria commented Aug 3, 2024

I just got this crash again.

qBittorrent version: v4.6.5 (64-bit)
Libtorrent version: 1.2.19.0
Qt version: 6.4.3
Boost version: 1.85.0
OpenSSL version: 1.1.1w
zlib version: 1.3.1
OS version: Windows 10 Version 22H2 10.0.19045 x86_64

Caught signal: SIGABRT

 0# boost::stacktrace::basic_stacktrace >::init at G:\QBITTORRENT\boost_1_85_0\boost\stacktrace\stacktrace.hpp:91
 1# getStacktrace at G:\QBITTORRENT\qbt-src-4.6.5\src\app\stacktrace.cpp:35
 2# `anonymous namespace'::abnormalExitHandler at G:\QBITTORRENT\qbt-src-4.6.5\src\app\signalhandler.cpp:104
 3# raise at minkernel\crts\ucrt\src\appcrt\misc\signal.cpp:547
 4# abort at minkernel\crts\ucrt\src\appcrt\startup\abort.cpp:71
 5# terminate at minkernel\crts\ucrt\src\appcrt\misc\terminate.cpp:58
 6# FindHandler at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\frame.cpp:735
 7# __InternalCxxFrameHandler at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\frame.cpp:399
 8# __InternalCxxFrameHandlerWrapper at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\frame.cpp:234
 9# __CxxFrameHandler4 at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp:306
10# _chkstk in ntdll
11# RtlRaiseException in ntdll
12# RtlRaiseException in ntdll
13# RaiseException in KERNELBASE
14# _CxxThrowException at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\throw.cpp:75
15# boost::throw_exception at G:\QBITTORRENT\boost_1_85_0\boost\throw_exception.hpp:157
16# boost::asio::detail::do_throw_error at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\throw_error.ipp:42
17# boost::asio::detail::socket_select_interrupter::open_descriptors at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\socket_select_interrupter.ipp:66
18# boost::asio::detail::select_reactor::restart_reactor::do_complete at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\select_reactor.ipp:343
19# boost::asio::detail::win_iocp_io_context::do_one at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\win_iocp_io_context.ipp:476
20# boost::asio::detail::win_iocp_io_context::run at G:\QBITTORRENT\boost_1_85_0\boost\asio\detail\impl\win_iocp_io_context.ipp:206
21# std::thread::_Invoke >,0> at C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\thread:55
22# thread_start at minkernel\crts\ucrt\src\appcrt\startup\thread.cpp:97
23# BaseThreadInitThunk in KERNEL32
24# RtlUserThreadStart in ntdll

@luzpaz
Copy link
Contributor

luzpaz commented Sep 10, 2024

this happens when something prevents a loopback socket from being created (specifically the interrupter socket in boost.asio). possibly by some firewall software.

any idea what firewall software ? Can we compile a list ?

@xavier2k6
Copy link
Member

@cappelikan your crash report is not the same as the one described in this ticket & is also a forked version "enhanced edition" which we do not support.

@EverybodyGetsHurt
Copy link

@cappelikan

The v5.0.0 is running flawless so far, fingers crossed.

Its still too early to give an opinion with the extremely low frequency of the situation.

@Quest79
Copy link
Author

Quest79 commented Oct 3, 2024

qBittorrent has crashed
Please file a bug report at https://bugs.qbittorrent.org/ and provide the following information:

qBittorrent version: v5.0.0 (64-bit)
Libtorrent version: 1.2.19.0
Qt version: 6.7.3
Boost version: 1.86.0
OpenSSL version: 3.3.2
zlib version: 1.3.1
OS version: Windows 11 Version 23H2 10.0.22631 x86_64

Caught signal: SIGABRT

 0# boost::stacktrace::basic_stacktrace >::init at G:\QBITTORRENT\boost_1_86_0\boost\stacktrace\stacktrace.hpp:111
 1# getStacktrace at G:\QBITTORRENT\qbt-src-5.0.0\src\app\stacktrace.cpp:35
 2# `anonymous namespace'::abnormalExitHandler at G:\QBITTORRENT\qbt-src-5.0.0\src\app\signalhandler.cpp:103
 3# raise at minkernel\crts\ucrt\src\appcrt\misc\signal.cpp:547
 4# abort at minkernel\crts\ucrt\src\appcrt\startup\abort.cpp:71
 5# terminate at minkernel\crts\ucrt\src\appcrt\misc\terminate.cpp:58
 6# FindHandler at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\frame.cpp:735
 7# __InternalCxxFrameHandler at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\frame.cpp:399
 8# __InternalCxxFrameHandlerWrapper at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\frame.cpp:234
 9# __CxxFrameHandler4 at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\risctrnsctrl.cpp:306
10# _chkstk in ntdll
11# RtlFindCharInUnicodeString in ntdll
12# RtlRaiseException in ntdll
13# RaiseException in KERNELBASE
14# _CxxThrowException at D:\a\_work\1\s\src\vctools\crt\vcruntime\src\eh\throw.cpp:75
15# boost::throw_exception at G:\QBITTORRENT\boost_1_86_0\boost\throw_exception.hpp:157
16# boost::asio::detail::do_throw_error at G:\QBITTORRENT\boost_1_86_0\boost\asio\detail\impl\throw_error.ipp:42
17# boost::asio::detail::socket_select_interrupter::open_descriptors at G:\QBITTORRENT\boost_1_86_0\boost\asio\detail\impl\socket_select_interrupter.ipp:66
18# boost::asio::detail::select_reactor::restart_reactor::do_complete at G:\QBITTORRENT\boost_1_86_0\boost\asio\detail\impl\select_reactor.ipp:343
19# boost::asio::detail::win_iocp_io_context::do_one at G:\QBITTORRENT\boost_1_86_0\boost\asio\detail\impl\win_iocp_io_context.ipp:476
20# boost::asio::detail::win_iocp_io_context::run at G:\QBITTORRENT\boost_1_86_0\boost\asio\detail\impl\win_iocp_io_context.ipp:206
21# std::thread::_Invoke >,0> at C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\thread:55
22# thread_start at minkernel\crts\ucrt\src\appcrt\startup\thread.cpp:97
23# BaseThreadInitThunk in KERNEL32
24# RtlUserThreadStart in ntdll

All I did was restart my VPN.

@Quest79
Copy link
Author

Quest79 commented Oct 3, 2024

@cappelikan

The v5.0.0 is running flawless so far, fingers crossed.

Its still too early to give an opinion with the extremely low frequency of the situation.

Its not about frequency, its about repeatability. This reliably crashes when it loses VPN connection or a VPN closes a connection. Instead of going into a wait state of some sort qbt (or a lib it uses?) just apparently has no graceful way to deal with it and crashes instead.

@Quest79
Copy link
Author

Quest79 commented Oct 4, 2024

You should read though the report thread before suggesting things.

@qBittUser
Copy link

@Quest79

You should read though the report thread before suggesting things.

Ok, will read again and remove my previous comment.

It doesn't change the fact that recently mentioning "loosing connection" and another users "restarting VPN" is too vague and doesn't guarantee to crash my qBittorrent.

So there should have been more written in recent comments to get everyone reliably reproduce to avoid a need to guess or to read the whole thread.

@xavier2k6
Copy link
Member

@qBittUser I could reliably re-produce this crash over & over using cloudflare warp program....then there was an update & haven't been able to reliably re-produce anymore.....there are less & lees users experiencing this issue & unfortunately for @Quest79 it remains consistent & we still haven't been able to ascertain a fix that will cater for all/eradicate this very annoying crash.

@xavier2k6
Copy link
Member

@Quest79 Are you still on windscribe 2.10.16 or latest 2.11.11?

@EverybodyGetsHurt
Copy link

@cappelikan > The v5.0.0 is running flawless so far, fingers crossed.
Its still too early to give an opinion with the extremely low frequency of the situation.

Its not about frequency, its about repeatability. This reliably crashes when it loses VPN connection or a VPN closes a connection. Instead of going into a wait state of some sort qbt (or a lib it uses?) just apparently has no graceful way to deal with it and crashes instead.

Regarding the repeatability:

@qBittUser I could reliably re-produce this crash over & over using cloudflare warp program....then there was an update & haven't been able to reliably re-produce anymore.....there are less & lees users experiencing this issue & unfortunately for @Quest79 it remains consistent & we still haven't been able to ascertain a fix that will cater for all/eradicate this very annoying crash.

I could pretty much reproduce it on demand also (this by messing with ProtonVPN in a way).
But many months ago that repeatability stopped for me also. Since then (6+ months) it
happened maybe twice, once not even being able to write the logging.

But reliable "triggering" it for investigation as of this day I don't find / come across anymore no.

@stalkerok
Copy link
Contributor

@xavier2k6 As long as I've been using WireGuard and Cloudflare WARP, the client has never crashed. Are there clear steps to reproduce?

@xavier2k6
Copy link
Member

xavier2k6 commented Oct 13, 2024

@xavier2k6 As long as I've been using WireGuard and Cloudflare WARP, the client has never crashed. Are there clear steps to reproduce?

I had a consistent/reproducible step(s) in #18811 (comment) but then the app got an update & could never reproduce.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Confirmed bug An issue confirmed by project team to be considered as a bug Crash Libtorrent OS: Windows Issues specific to Windows Proxy/VPN Issues related to the use of proxy/VPN Waiting upstream Waiting for changes in dependent libraries
Projects
None yet
Development

No branches or pull requests

14 participants