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

5.0 crashes when adding trackers #20479

Closed
stalkerok opened this issue Feb 28, 2024 · 25 comments · Fixed by #20487
Closed

5.0 crashes when adding trackers #20479

stalkerok opened this issue Feb 28, 2024 · 25 comments · Fixed by #20487
Labels
CI Issues/PRs related to CI Confirmed bug An issue confirmed by project team to be considered as a bug Crash

Comments

@stalkerok
Copy link
Contributor

qBittorrent & operating system versions

qBittorrent v5.0.0alpha1 (64-bit)
Qt: 6.5.2
Libtorrent: 1.2.19.0
Boost: 1.84.0
OpenSSL: 3.2.1
zlib: 1.3.1

What is the problem?

5.0 crashes when adding trackers
This does not happen always and not with all trackers. If the torrent is paused, there is no crash.
Tested on https://github.com/qbittorrent/qBittorrent/actions/runs/8065114663 and https://github.com/qbittorrent/qBittorrent/actions/runs/7847706279

Faulting Application Name: qbittorrent.exe, Version: 5.0.0.0, Timestamp: 0x65dddf25
Faulting module name: ntdll.dll, version: 10.0.19041.3996, timestamp: 0x39215800
Exception code: 0xc0000409
Error offset: 0x00000000000a2350
Fault process ID: 0xad0
Faulty application startup time: 0x01da6a36bfc12124
Faulting application path: C:\Users\stalkerok\Desktop\qbittorrent test\Provide torrent creation feature via WebAPI #5320\qBittorrent\qbittorrent.exe
Path of the failed module: C:\Windows\SYSTEM32\ntdll.dll
Report ID: ba8aa754-7c35-4531-8943-c19b9d922846
Full name of the failing package:
Application code associated with the failing package:

Steps to reproduce

2024-02-28.14-10-49.mp4

Additional context

No response

Log(s) & preferences file(s)

qbittorrent.exe.2768.dmp

@xavier2k6
Copy link
Member

xavier2k6 commented Feb 28, 2024

@stalkerok Can you share those trackers via text file....

I'll attach a debugger then to see if I can catch a better stack trace

@xavier2k6 xavier2k6 added Crash Waiting info Waiting for participants to supply more info/fulfill template requirements labels Feb 28, 2024
@xavier2k6
Copy link
Member

Confirmed!

https://tracker.documentfoundation.org:6969/announce

htttps:https://torrent.ubuntu.com/announce

https://bt.t-ru.org/ann

udp:https://opentor.net:6969/announce

udp:https://tracker.opentrackr.org:1337/announce

https://vps02.net.orel.ru:80/announce

https://bt.hdrezka.network:80/ann

https://nyaa.tracker.wf:7777/announce

https://bt.eniatv.com/announce.php?uk=0

https://ssl.empirehost.me/0/announce

https://connect.drago-server.org:8080/0/announce

https://asiaone.cc/announce.php?authkey=0

https://bt.unigine.com:8080/announce

https://bt02.nnm-club.cc:2710/announce

https://tracker.hdbits.org/announce.php?passkey=0

2/28/2024 12:57:12 PM]
  Exception 0XE06D7363 on thread 10280. DetailID = 3
  Stack Trace
RetAddr           : Args to Child                                                           : Call Site
00007fff`7f456ba7 : 00000099`f9589150 00007ff7`dcbccc20 00000248`9343afd0 00007fff`897ffd01 : KERNELBASE!RaiseException+0x69
00007ff7`dcc04787 : 00002aa7`d26f16ee 00000000`00000000 00000099`f9589220 00007ff7`dcbccc20 : VCRUNTIME140!CxxThrowException+0x97
00007ff7`dcc2b6cf : 00000099`f9589220 00000099`f9589168 00000099`f9589488 00000099`f9589220 : qbittorrent!libtorrent::aux::throw_ex<boost::system::system_error,boost::system::error_code &>+0x27 [D:\a\qBittorrent\libtorrent\include\libtorrent\aux_\throw.hpp @ 49]
00007ff7`dca02dc8 : 00000099`f9589220 00000248`95db6fb0 00000099`f9589960 00000248`eea2cfb0 : qbittorrent!libtorrent::parse_magnet_uri+0xcf [D:\a\qBittorrent\libtorrent\src\magnet_uri.cpp @ 342]
00007ff7`dca3502d : 00000000`0000003a 00007fff`8c23003a 00000000`00000000 00000248`eea2cfb0 : qbittorrent!BitTorrent::TorrentDescriptor::parse+0x1e8 [D:\a\qBittorrent\qBittorrent\src\base\bittorrent\torrentdescriptor.cpp @ 124]
00007ff7`dca4dd3a : 00000248`8b3e4fe0 00000248`00000000 00000248`eea2cfb0 00000248`8b3e4ff8 : qbittorrent!GUIAddTorrentManager::addTorrent+0x1bd [D:\a\qBittorrent\qBittorrent\src\gui\guiaddtorrentmanager.cpp @ 110]
00007ff7`dca3f6ff : 00000000`00000034 00000248`8a170029 00000099`f9580029 00007fff`00000005 : qbittorrent!MainWindow::on_actionOpen_triggered+0x44a [D:\a\qBittorrent\qBittorrent\src\gui\mainwindow.cpp @ 1349]
00007fff`4ce04e41 : 00000000`00000007 00000099`f958a330 00000248`eda0bf01 00000000`00000000 : qbittorrent!MainWindow::qt_metacall+0x4f [D:\a\qBittorrent\qBittorrent\build\src\gui\qbt_gui_autogen\EWIEGA46WW\moc_mainwindow.cpp @ 778]
00007fff`4ce33ced : 00000248`8cf3aff0 00000248`8cf3aff0 00000004`f958a3e0 00000248`eda0bf01 : Qt6Core!QMetaObject::metacall+0x41
00007fff`4ce36134 : 00000248`8cf3aff0 00000000`00000007 00000000`00000003 00000248`8d74bf01 : Qt6Core!QObject::qt_static_metacall+0x198d
00007fff`4d66aa61 : 00000248`8cf3ce50 00000099`f958a501 00000248`8cf3aff0 00000248`8d74dd00 : Qt6Core!QMetaObject::activate+0x84
00007fff`4dbd8737 : 00000248`8d74dd00 00007fff`8c231900 00000248`f3d46ff0 00000248`8d74bfd0 : Qt6Gui!QAction::activate+0x171
00007fff`4dbd9bfa : 00000248`8d74dd00 00000099`f958a509 00000248`8d74bfd0 00000000`00000002 : Qt6Widgets!QAbstractButton::click+0x147
00007fff`4dcc648f : 00000011`0000000e 00000099`f958a509 00000248`8d74dd00 00000099`f958af50 : Qt6Widgets!QAbstractButton::mouseReleaseEvent+0xda
00007fff`4db1dd04 : 00007fff`00000000 00007fff`4cf5ecd5 00000000`00000000 00000248`e7bddfe0 : Qt6Widgets!QToolButton::mouseReleaseEvent+0xf
00007fff`4dae0a9e : 00000248`eda0dff0 00000248`edab3e00 00000248`eda0dff0 00000248`8d74bfd0 : Qt6Widgets!QWidget::event+0x164
00007fff`4dadea10 : 00000099`f958af50 00000099`f958a6a0 00000248`f3d46ff0 00000248`f3d46ff0 : Qt6Widgets!QApplicationPrivate::notify_helper+0x10e
00007fff`4cdf9eb5 : 00000248`00000000 00000248`8d74bfd0 00000099`f958af50 00000248`00000001 : Qt6Widgets!QApplication::notify+0x750
00007fff`4dae45bf : 00000099`f958af50 00007fff`4d3cab12 00007fff`4e04a660 00000000`00000000 : Qt6Core!QCoreApplication::notifyInternal2+0xc5
00007fff`4db3cf89 : 00000000`00000000 00000000`00000000 00000248`8d74bfd0 00000000`00000000 : Qt6Widgets!QApplicationPrivate::sendMouseEvent+0x3ef
00007fff`4db3a7d3 : 00000248`8c042af8 00007fff`65a329fd 00000248`eda0dff0 00000248`e7250000 : Qt6Widgets!QWidgetRepaintManager::updateStaticContentsSize+0x3409
00007fff`4dae0a9e : 00000248`eda0dff0 00000248`edab3e00 00000248`eda0dff0 00000099`f958b9b0 : Qt6Widgets!QWidgetRepaintManager::updateStaticContentsSize+0xc53
00007fff`4dadfb71 : 00000248`eda0dff0 00000099`f958b320 00000000`00000000 00000248`eda0dff0 : Qt6Widgets!QApplicationPrivate::notify_helper+0x10e
00007fff`4cdf9eb5 : 00000248`edab1cc0 00000248`8a0b0fa0 00000099`f958b9b0 00000248`00000000 : Qt6Widgets!QApplication::notify+0x18b1
00007fff`4d398ba3 : 00000248`eee92ff0 00000248`eee5a900 00000248`eee92ff0 00000099`f958b9d0 : Qt6Core!QCoreApplication::notifyInternal2+0xc5
00007fff`4d3e740a : 00000248`eee3cfe0 00000000`00000001 00000248`8b450f80 00000000`00000000 : Qt6Gui!QGuiApplicationPrivate::processMouseEvent+0x703
00007fff`4cf596f0 : 00000000`000000a4 00000248`f2760f70 00000248`f2760f70 00000099`f958c2e0 : Qt6Gui!QWindowSystemInterface::sendWindowSystemEvents+0xea
00007fff`4d634fa9 : 00000000`00000000 00000000`00000000 00000248`f2760f70 00000248`eee3cfe0 : Qt6Core!QEventDispatcherWin32::processEvents+0x90
00007fff`4cdff804 : 00000000`00000080 00000000`00000080 00000248`f2760f70 00000248`eda0dff0 : Qt6Gui!QWindowsGuiEventDispatcher::processEvents+0x19
00007fff`4cdf7c1d : 00000099`f958ef10 00000248`eda0bf60 00000248`eda0bf60 00000099`f958f050 : Qt6Core!QEventLoop::exec+0x194
00007ff7`dc8e9790 : 00000248`edab1cc0 00000248`89818ff0 00000248`0000000d 00000248`89818ff0 : Qt6Core!QCoreApplication::exec+0x15d
00007ff7`dc8f9138 : 00007ff7`dc91a190 00000248`89626fe0 00000248`f2626fa0 00000248`edab1cc0 : qbittorrent!Application::exec+0x510 [D:\a\qBittorrent\qBittorrent\src\app\application.cpp @ 961]
00007ff7`dcff0aed : 00000000`00000000 00000000`00000000 00000000`00000000 00000248`eda03f70 : qbittorrent!main+0x9b8 [D:\a\qBittorrent\qBittorrent\src\app\main.cpp @ 337]
00007ff7`dcfee362 : 00000000`00000001 00000000`00000000 00000248`eda01ff0 00000248`ed9ffed0 : qbittorrent!qtEntryPoint+0x15d [C:\Users\qt\work\qt\qtbase\src\entrypoint\qtentrypoint_win.cpp @ 50]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!invoke_main+0x21 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 102]
00007fff`8b777344 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : qbittorrent!__scrt_common_main_seh+0x106 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
00007fff`8c1826b1 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : KERNEL32!BaseThreadInitThunk+0x14
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
  Action limit of 1 reached for Exception 'E06D7363::'.
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.

[2/28/2024 12:57:44 PM]
  Thread created. New thread - System ID: 12856
  Thread created. New thread - System ID: 9860
(22f8.1d10): Security check failure or stack buffer overrun - code c0000409 (!!! second chance !!!)
Creating C:\Program Files\DebugDiag\Logs\qbittorrent__PID__8952__Date__02_28_2024__Time_12_57_45PM__602__Second_Chance_Exception_C0000409.dmp - mini user dump
Dump successfully written
[2/28/2024 12:57:53 PM]
  Second chance exception - 0XC0000409 caused by thread with System ID: 7440 DetailID = 4
  Stack Trace
RetAddr           : Args to Child                                                           : Call Site
00007fff`8c22d7ad : 00000000`00000000 00000099`000004d0 00000099`fa3fd818 00000099`fa3fd810 : ntdll!_chkstk+0xc0
00007fff`8c1bc798 : 00000000`00000019 00007fff`8c181dfc 00000000`00000001 00007ff7`dd955ad8 : ntdll!RtlGetReturnAddressHijackTarget+0x9d
00007ff7`dcf64bcb : 00000000`00000000 00000000`00000000 00000000`00000000 00007fff`7f450000 : ntdll!RtlRetrieveNtUserPfn+0x3d8
00007ff7`dcfdbe3e : 00000248`b0ce4f58 00000248`fb353cb0 00000099`fa3fd450 00000099`fa3fd430 : qbittorrent!Poly1305_Update+0xcb [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\crypto\poly1305\poly1305.c @ 501]
00007ff7`dcfdb5f6 : 00000099`fa3fd5f0 00000000`00000001 00007ff7`dce1a82b 00007fff`8c18bd5b : qbittorrent!chacha20_poly1305_tls_cipher+0x53e [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\providers\implementations\ciphers\cipher_chacha20_poly1305_hw.c @ 242]
00007ff7`dcf9260e : 00000000`00000000 00000000`00000000 00000000`00000000 00000ffe`fb9f24aa : qbittorrent!chacha20_poly1305_aead_cipher+0x86 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\providers\implementations\ciphers\cipher_chacha20_poly1305_hw.c @ 284]
00007ff7`dce6d344 : 00000000`00000000 00000099`fa3fd740 00000000`00000001 00000099`fa3fd690 : qbittorrent!chacha20_poly1305_cipher+0xbe [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\providers\implementations\ciphers\cipher_chacha20_poly1305.c @ 306]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!EVP_EncryptUpdate+0x112 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\crypto\evp\evp_enc.c @ 693]
00007ff7`dce34317 : 00000000`00000000 00000248`8b2f8f40 00000099`fa3fd740 00000000`00000000 : qbittorrent!EVP_CipherUpdate+0x134 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\crypto\evp\evp_enc.c @ 469]
00007ff7`dce1aa7b : 00000248`97a47eb0 00000248`97a47eb0 00000099`fa3fdc50 00000000`00000000 : qbittorrent!tls1_cipher+0x647 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\record\methods\tls1_meth.c @ 361]
00007ff7`dce4636a : 00000099`fa3fed40 00000ffe`fb9c8c66 00000040`00000001 00000248`97a47eb0 : qbittorrent!tls_write_records_default+0x44b [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\record\methods\tls_common.c @ 1843]
00007ff7`dce176c2 : 00000248`97a47eb0 00000000`00000010 00000000`10000104 00007ff7`dce1764c : qbittorrent!tls_write_records_multiblock+0x3a [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\record\methods\tls_multib.c @ 180]
00007ff7`dcdeb06a : 00000000`ffffffef 00000099`fa3fec60 00007ff7`dce5b0da 00007ff7`dce945cc : qbittorrent!tls_write_records+0x82 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\record\methods\tls_common.c @ 1882]
00007ff7`dcdf6f13 : 00000000`ffffffef 00000099`fa3feff0 00000248`b05f3af0 00007ff7`dce8292b : qbittorrent!ssl3_write_bytes+0x41a [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\record\rec_layer_s3.c @ 423]
00007ff7`dcde4ed4 : 00000000`00000000 00000248`b05f3af0 00000000`00000000 00000000`00000010 : qbittorrent!ssl3_do_write+0x133 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\statem\statem_lib.c @ 95]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!statem_do_write+0x28 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\statem\statem.c @ 756]
00007ff7`dcde4bd0 : 00000248`00000014 00007ff7`dcdf89a0 00000248`b05f3af0 00000000`00000000 : qbittorrent!write_state_machine+0x274 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\statem\statem.c @ 923]
00007ff7`dcddaab4 : 00000248`b05f3af0 00000000`00000000 00000000`00000001 00000248`b05f3af0 : qbittorrent!state_machine+0x3e0 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\statem\statem.c @ 488]
00007ff7`dccb66b9 : 00000000`00000000 00007ff7`dccac070 00000000`00000000 00000248`e7675978 : qbittorrent!SSL_do_handshake+0x124 [C:\vcpkg\buildtrees\openssl\x64-windows-static-md-release-rel\ssl\ssl_lib.c @ 4749]
00007ff7`dcc9b368 : 00000099`fa3ff430 00000099`fa3ff380 00000000`000009bb 00000099`fa3ff450 : qbittorrent!boost::asio::ssl::detail::engine::perform+0x49 [D:\a\qBittorrent\boost\boost\asio\ssl\detail\impl\engine.ipp @ 277]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::date_time::int_adapter<unsigned int>::{ctor}+0x30 [D:\a\qBittorrent\boost\boost\date_time\int_adapter.hpp @ 225]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::gregorian::date::from_special_adjusted+0x30 [D:\a\qBittorrent\boost\boost\date_time\gregorian\greg_date.hpp @ 126]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::gregorian::date::{ctor}+0x30 [D:\a\qBittorrent\boost\boost\date_time\gregorian\greg_date.hpp @ 77]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> >::get_time_rep+0x30 [D:\a\qBittorrent\boost\boost\date_time\time_system_counted.hpp @ 168]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::date_time::base_time<boost::posix_time::ptime,boost::date_time::counted_time_system<boost::date_time::counted_time_rep<boost::posix_time::millisec_posix_time_system_config> > >::{ctor}+0x30 [D:\a\qBittorrent\boost\boost\date_time\time.hpp @ 69]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::posix_time::ptime::{ctor}+0x30 [D:\a\qBittorrent\boost\boost\date_time\posix_time\ptime.hpp @ 57]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::asio::ssl::detail::stream_core::neg_infin+0x30 [D:\a\qBittorrent\boost\boost\asio\ssl\detail\stream_core.hpp @ 154]
00007ff7`dcca9ca2 : 00000248`b0790e90 00000248`b0790e90 00000000`000009bb 00000248`b0790e90 : qbittorrent!boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor>,boost::asio::ssl::detail::handshake_op,std::_Binder<std::_Unforced,void (__cdecl libtorrent::ssl_stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor> >::*)(boost::system::error_code const &,std::shared_ptr<std::function<void __cdecl(boost::system::error_code const &)> >),libtorrent::ssl_stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor> > *,std::_Ph<1> const &,std::shared_ptr<std::function<void __cdecl(boost::system::error_code const &)> > &> >::operator()+0x78 [D:\a\qBittorrent\boost\boost\asio\ssl\detail\io.hpp @ 151]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::asio::detail::binder2<boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor>,boost::asio::ssl::detail::handshake_op,std::_Binder<std::_Unforced,void (__cdecl libtorrent::ssl_stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor> >::*)(boost::system::error_code const &,std::shared_ptr<std::function<void __cdecl(boost::system::error_code const &)> >),libtorrent::ssl_stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor> > *,std::_Ph<1> const &,std::shared_ptr<std::function<void __cdecl(boost::system::error_code const &)> > &> >,boost::system::error_code,unsigned __int64>::operator()+0x27 [D:\a\qBittorrent\boost\boost\asio\detail\bind_handler.hpp @ 181]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::asio::detail::handler_work<boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor>,boost::asio::ssl::detail::handshake_op,std::_Binder<std::_Unforced,void (__cdecl libtorrent::ssl_stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor> >::*)(boost::system::error_code const &,std::shared_ptr<std::function<void __cdecl(boost::system::error_code const &)> >),libtorrent::ssl_stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor> > *,std::_Ph<1> const &,std::shared_ptr<std::function<void __cdecl(boost::system::error_code const &)> > &> >,boost::asio::any_io_executor,void>::complete+0x2e [D:\a\qBittorrent\boost\boost\asio\detail\handler_work.hpp @ 470]
00007ff7`dcc09922 : 00000248`b0790e90 00000099`fa3ff639 00000099`fa3ff639 00000000`00000000 : qbittorrent!boost::asio::detail::win_iocp_socket_recv_op<boost::asio::mutable_buffers_1,boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor>,boost::asio::ssl::detail::handshake_op,std::_Binder<std::_Unforced,void (__cdecl libtorrent::ssl_stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor> >::*)(boost::system::error_code const &,std::shared_ptr<std::function<void __cdecl(boost::system::error_code const &)> >),libtorrent::ssl_stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::any_io_executor> > *,std::_Ph<1> const &,std::shared_ptr<std::function<void __cdecl(boost::system::error_code const &)> > &> >,boost::asio::any_io_executor>::do_complete+0x1b2 [D:\a\qBittorrent\boost\boost\asio\detail\win_iocp_socket_recv_op.hpp @ 107]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::asio::detail::win_iocp_operation::complete+0x14 [D:\a\qBittorrent\boost\boost\asio\detail\win_iocp_operation.hpp @ 47]
00007ff7`dcc09e94 : 00000000`000009bb 00000000`ffffffff 00000099`fa3ff6e0 00000099`fa3ff790 : qbittorrent!boost::asio::detail::win_iocp_io_context::do_one+0x422 [D:\a\qBittorrent\boost\boost\asio\detail\impl\win_iocp_io_context.ipp @ 476]
00007ff7`dcc07c64 : 00000248`e7478fd0 00000000`00000000 00000248`eeb9cff0 00000000`00000000 : qbittorrent!boost::asio::detail::win_iocp_io_context::run+0x134 [D:\a\qBittorrent\boost\boost\asio\detail\impl\win_iocp_io_context.ipp @ 206]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!boost::asio::io_context::run+0x1f [D:\a\qBittorrent\boost\boost\asio\impl\io_context.ipp @ 64]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!libtorrent::session::start::__l16::<lambda_429b426b62d11088bf4a3540dd1b2f91>::operator()+0x1f [D:\a\qBittorrent\libtorrent\src\session.cpp @ 363]
(Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : qbittorrent!std::invoke+0x1f [C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\type_traits @ 1731]
00007fff`89811bb2 : 00000248`e7478fd0 00000000`00000000 00000000`00000000 00000000`00000000 : qbittorrent!std::thread::_Invoke<std::tuple<<lambda_429b426b62d11088bf4a3540dd1b2f91> >,0>+0x34 [C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.38.33130\include\thread @ 60]
00007fff`8b777344 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ucrtbase!configthreadlocale+0x92
00007fff`8c1826b1 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : KERNEL32!BaseThreadInitThunk+0x14
00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
  Action limit of 1 reached for Exception 'C0000409::'.
WARNING: Continuing a non-continuable exception

@xavier2k6 xavier2k6 added Confirmed bug An issue confirmed by project team to be considered as a bug and removed Waiting info Waiting for participants to supply more info/fulfill template requirements labels Feb 28, 2024
@stalkerok
Copy link
Contributor Author

Can you share those trackers via text file....

Some trackers are private, so I was a bit wary of adding them, but the passkeys have been removed, so there should be no problems.

@thalieht
Copy link
Contributor

Can't reproduce with libtorrent 2.0.9.

@xavier2k6
Copy link
Member

Can't reproduce with libtorrent 2.0.9.

I can reproduce with 1.2.19/2.0.9/2.0.10 master builds by adding the trackers from my previous post.

@glassez

This comment was marked as resolved.

@glassez
Copy link
Member

glassez commented Feb 28, 2024

I can reproduce with 1.2.19/2.0.9/2.0.10 master builds by adding the trackers from my previous post.

Cannot reproduce with master.

@glassez
Copy link
Member

glassez commented Feb 28, 2024

Confirmed!

The attached stack traces confuse.
The first one looks like an exception when adding a magnetic link.
The second one does not indicate any failure at all (or did I not see it?).

@xavier2k6
Copy link
Member

Cannot reproduce with master

This may be specific to Windows & our CI builds

The first one looks like an exception when adding a magnetic link.

no magnet links, added the ubuntu 23.10 live server torrent file like OP.

The second one does not indicate any failure at all (or did I not see it?).

It appears to be Boost/OpenSSL 3.2.x issue??

0XC0000409 Crash to Desktop is observed when right clicking torrent/edit trackers & adding:

https://tracker.documentfoundation.org:6969/announce

htttps:https://torrent.ubuntu.com/announce

https://bt.t-ru.org/ann

udp:https://opentor.net:6969/announce

udp:https://tracker.opentrackr.org:1337/announce

https://vps02.net.orel.ru:80/announce

https://bt.hdrezka.network:80/ann

https://nyaa.tracker.wf:7777/announce

https://bt.eniatv.com/announce.php?uk=0

https://ssl.empirehost.me/0/announce

https://connect.drago-server.org:8080/0/announce

https://asiaone.cc/announce.php?authkey=0

https://bt.unigine.com:8080/announce

https://bt02.nnm-club.cc:2710/announce

https://tracker.hdbits.org/announce.php?passkey=0

Screenshot 2024-02-28 151037

@glassez
Copy link
Member

glassez commented Feb 29, 2024

The first one looks like an exception when adding a magnetic link.

no magnet links, added the ubuntu 23.10 live server torrent file like OP.

I just see the following sequence:

  1. qbittorrent!BitTorrent::TorrentDescriptor::parse
  2. qbittorrent!libtorrent::parse_magnet_uri
  3. libtorrent::aux::throw_ex

@glassez
Copy link
Member

glassez commented Feb 29, 2024

@xavier2k6, @stalkerok
How about adding trackers one by one? Or put them in "additional trackers" list?

@xavier2k6
Copy link
Member

https://bt.t-ru.org/ann

Just adding that one appears to be the tracker that's causing the crash, BTW qBittorrent can't be restarted unless the fastresume file is deleted.

@xavier2k6
Copy link
Member

xavier2k6 commented Feb 29, 2024

fastresume/associated torrent lbt 1.2.19
BT_backup.zip


fastresume/associated torrent lbt 2.0.10
BT_backup.zip


lbt 2.0.10 - Using SQLite database
data.zip

@stalkerok
Copy link
Contributor Author

Yes, it looks like it's this tracker, but if you add it via http https://bt.t-ru.org/ann, the client doesn't crash.

@glassez
Copy link
Member

glassez commented Feb 29, 2024

000

Still no problem for me.
So I guess it's not a qBittorrent problem, but most likely some kind of dependency.

@xavier2k6
Copy link
Member

This may be specific to Windows & our CI builds

#20479 (comment)

Download a build & test from below:
https://github.com/qbittorrent/qBittorrent/actions/runs/8065114663

but most likely some kind of dependency.

I believe it's an issue with OpenSSL from vcpkg
as 0XC0000409 stack trace from #20479 (comment) suggests OpenSSL

@glassez
Copy link
Member

glassez commented Feb 29, 2024

The same build as in my comment above but using OpenSSL-3.2.1 still works w/o crash.
I believe the problem is in /guard:cf used for building OpenSSL on GitHub CI. Need to investigate it further.

@glassez
Copy link
Member

glassez commented Feb 29, 2024

I believe the problem is in /guard:cf used for building OpenSSL on GitHub CI. Need to investigate it further.

@xavier2k6
Could you try to compile OpenSSL w/o /guard:cf flag and test it?

@xavier2k6
Copy link
Member

xavier2k6 commented Feb 29, 2024

Could you try to compile OpenSSL w/o /guard:cf flag and test it?

Done & no crashing! 👍

Screenshot 2024-02-29 204315

Test Builds with all 3 /guard:cf flags removed from vcpkg install:

https://github.com/xavier2k6/qBittorrent/actions/runs/8101919737

@stalkerok
Copy link
Contributor Author

Done & no crashing! 👍

Confirmed, everything's fine now.

@bulletproof2k
Copy link

bulletproof2k commented Mar 1, 2024

@glassez similar problem, the system freezes and there was a bzod several times ☹️
How to solve this problem?
v4.6.3

Qt: 6.4.3
Libtorrent: 1.2.19.0
Boost: 1.83.0
OpenSSL: 1.1.1w
zlib: 1.3

@Chocobo1
Copy link
Member

Chocobo1 commented Mar 1, 2024

Could you try to compile OpenSSL w/o /guard:cf flag and test it?

Done & no crashing! 👍

(If you don't mind) I'll submit a patch in the weekend based on your findings, good job! 👍

@Chocobo1 Chocobo1 added the CI Issues/PRs related to CI label Mar 1, 2024
@xavier2k6
Copy link
Member

@Chocobo1 Just an FYI

#13143 (comment)

/guard:cf is incompatible with NASM
https://mta.openssl.org/pipermail/openssl-commits/2023-April/038895.html

https://github.com/openssl/openssl/issues?q=is%3Aissue+is%3Aopen+Control+Flow+Guard

@xavier2k6
Copy link
Member

@bulletproof2k Open a new ticket & provide as much detail as possible/reproducible steps etc. & any crash dumps/logs from eventwr related to qBittorrent

Chocobo1 added a commit to Chocobo1/qBittorrent that referenced this issue Mar 2, 2024
OpenSSL isn't compatible with `/guard:cf` flag so we omit it for now.
Related: openssl/openssl#22554

Closes qbittorrent#20479.
Chocobo1 added a commit that referenced this issue Mar 3, 2024
OpenSSL isn't compatible with `/guard:cf` flag so we omit it for now.
Related: openssl/openssl#22554

Closes #20479.
PR #20487.
Chocobo1 added a commit to Chocobo1/qBittorrent that referenced this issue Mar 26, 2024
OpenSSL isn't compatible with `/guard:cf` flag so we omit it for now.
Related: openssl/openssl#22554

Closes qbittorrent#20479.
PR qbittorrent#20487.
Chocobo1 added a commit that referenced this issue Mar 28, 2024
OpenSSL isn't compatible with `/guard:cf` flag so we omit it for now.
Related: openssl/openssl#22554

Closes #20479.
PR #20487.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Issues/PRs related to CI Confirmed bug An issue confirmed by project team to be considered as a bug Crash
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants