qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
28.25k stars 3.97k forks source link

Crash on recursive loading of torrent inside payload #8140

Closed coolio2013 closed 6 years ago

coolio2013 commented 6 years ago

qBittorrent version: v4.0.3 (32-bit) Libtorrent version: 1.1.5.0 Qt version: 5.7.1 Boost version: 1.65.1 OS version: Windows XP SP 3 5.1.2600 i386

Caught signal: SIGSEGV


#  0 ???                  0x000000000042d1e2 straceWin::getBacktrace()[ app\stacktrace_win.h : 191 ]
1 ???                  0x000000000042f733 sigAbnormalHandler()[ app\main.cpp : 315 ]
#  2 ???                  0x0000000000bde39a _seh_filter_exe()[ minkernel\crts\ucrt\src\appcrt\misc\exception_filter.cpp : 215 ]
#  3 ???                  0x0000000000bc550c __scrt_common_main_seh()[ f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl : 299 ]
#  4 ???                  0x0000000000bca6e2 _EH4_CallFilterFunc()
#  5 ???                  0x0000000000bc896f _except_handler4()
#  6 ???                  0x000000007c9132a8 RtlConvertUlongToLargeInteger()
#  7 ???                  0x000000007c91327a RtlConvertUlongToLargeInteger()
#  8 ???                  0x000000007c91e48a KiUserExceptionDispatcher()
#  9 ???                  0x000000000045be31 BitTorrent::Session::readAlerts()[ base\bittorrent\session.cpp : 3880 ]
# 10 ???                  0x00000000005337a4 BitTorrent::Session::qt_static_metacall()[ release\moc_session.cpp : 394 ]
# 11 ???                  0x0000000000a9a2ac std::basic_string,std::allocator >::erase()
# 12 ???                  0x0000000000a9ab60 std::basic_string,std::allocator >::erase()
# 13 ???                  0x00000000007590ed std::basic_string,std::allocator >::erase()
# 14 ???                  0x0000000000758bf4 std::basic_string,std::allocator >::erase()
# 15 ???                  0x0000000000427a00 Application::notify()[ app\application.cpp : 588 ]
# 16 ???                  0x0000000000ac01d1 std::basic_string,std::allocator >::erase()
# 17 ???                  0x0000000000ac0a43 std::basic_string,std::allocator >::erase()
# 18 ???                  0x0000000000b37435 std::basic_string,std::allocator >::erase()
# 19 ???                  0x00000000006f6a26 std::basic_string,std::allocator >::erase()
# 20 ???                  0x0000000000b35af2 std::basic_string,std::allocator >::erase()
# 21 ???                  0x000000007e368734 GetDC()
# 22 ???                  0x000000007e368816 GetDC()
# 23 ???                  0x000000007e3689cd GetWindowLongW()
# 24 ???                  0x000000007e368a10 DispatchMessageW()
# 25 ???                  0x0000000000b36692 std::basic_string,std::allocator >::erase()
# 26 ???                  0x00000000006f6a15 std::basic_string,std::allocator >::erase()
# 27 ???                  0x0000000000b397ed std::basic_string,std::allocator >::erase()
# 28 ???                  0x000000000076fcc3 std::basic_string,std::allocator >::erase()
# 29 ???                  0x00000000004cc684 MainWindow::askRecursiveTorrentDownloadConfirmation()[ gui\mainwindow.cpp : 924 ]
# 30 ???                  0x00000000004c0734 QtPrivate::QSlotObject,void>::impl()[ g:\qbittorrent\install_msvc\qt5\include\qtcore\qobject_impl.h : 120 ]
# 31 ???                  0x0000000000a9d9d6 std::basic_string,std::allocator >::erase()
# 32 ???                  0x0000000000a9d63f std::basic_string,std::allocator >::erase()
# 33 ???                  0x000000000053413d BitTorrent::Session::recursiveTorrentDownloadPossible()[ release\moc_session.cpp : 883 ]
# 34 ???                  0x000000000045a87c BitTorrent::Session::handleTorrentFinished()[ base\bittorrent\session.cpp : 3540 ]
# 35 ???                  0x000000000046c228 BitTorrent::TorrentHandle::handleTorrentFinishedAlert()[ base\bittorrent\torrenthandle.cpp : 1580 ]
# 36 ???                  0x000000000046ce9e BitTorrent::TorrentHandle::handleAlert()[ base\bittorrent\torrenthandle.cpp : 1788 ]
# 37 ???                  0x000000000045c0b0 BitTorrent::Session::dispatchTorrentAlert()[ base\bittorrent\session.cpp : 3969 ]
# 38 ???                  0x000000000045be82 BitTorrent::Session::handleAlert()[ base\bittorrent\session.cpp : 3905 ]
# 39 ???                  0x000000000045be31 BitTorrent::Session::readAlerts()[ base\bittorrent\session.cpp : 3880 ]
# 40 ???                  0x00000000005337a4 BitTorrent::Session::qt_static_metacall()[ release\moc_session.cpp : 394 ]
# 41 ???                  0x0000000000a9a2ac std::basic_string,std::allocator >::erase()
# 42 ???                  0x0000000000a9ab60 std::basic_string,std::allocator >::erase()
# 43 ???                  0x00000000007590ed std::basic_string,std::allocator >::erase()
# 44 ???                  0x0000000000758bf4 std::basic_string,std::allocator >::erase()
# 45 ???                  0x0000000000427a00 Application::notify()[ app\application.cpp : 588 ]
# 46 ???                  0x0000000000ac01d1 std::basic_string,std::allocator >::erase()
# 47 ???                  0x0000000000ac0a43 std::basic_string,std::allocator >::erase()
# 48 ???                  0x0000000000b37435 std::basic_string,std::allocator >::erase()
# 49 ???                  0x00000000006f6a26 std::basic_string,std::allocator >::erase()
# 50 ???                  0x0000000000b35af2 std::basic_string,std::allocator >::erase()
# 51 ???                  0x000000007e368734 GetDC()
# 52 ???                  0x000000007e368816 GetDC()
# 53 ???                  0x000000007e3689cd GetWindowLongW()
# 54 ???                  0x000000007e368a10 DispatchMessageW()
# 55 ???                  0x0000000000b36692 std::basic_string,std::allocator >::erase()
# 56 ???                  0x00000000006f6a15 std::basic_string,std::allocator >::erase()
# 57 ???                  0x0000000000b397ed std::basic_string,std::allocator >::erase()
# 58 ???                  0x0000000000ac0557 std::basic_string,std::allocator >::erase()
# 59 ???                  0x00000000004277e4 Application::exec()[ app\application.cpp : 533 ]
# 60 ???                  0x000000000042f5c4 main()[ app\main.cpp : 267 ]
# 61 ???                  0x0000000000bb02b3 std::basic_string,std::allocator >::erase()
# 62 ???                  0x0000000000bc54cc __scrt_common_main_seh()[ f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl : 283 ]
# 63 ???                  0x000000007c816037 RegisterWaitForInputIdle()

### qBittorrent version and Operating System
See above.

### If on linux, libtorrent and Qt version
See above.

### What is the problem
See above.

### What is the expected behavior
No crash on any button Yes/No/Never.

### Steps to reproduce
Don't know wich torrent is causing this, so can't examine payload. 

### Extra info(if any)
This is the 3rd time I see this, crash report above on click on 'Never', on window 'Do you want to download the torrent inside the torrent' or similar, capture mentioned 'Recursive'. For sure not observed on the last beta before v4 and before. First time on v4.03 (previous 2 time on v4.01; did not add too many torrents since last beta, but can't tell if it is 1 of the new torrents). Nothing regarding this is in the LOG.
nguyend24 commented 6 years ago

Having this occur as well when trying to select any of the options with qB 4.0.3 on Ubuntu 16.04.

thalieht commented 6 years ago

Fixed by #9094

Chocobo1 commented 6 years ago

Thanks for reporting! Will be fixed in next release (v4.1.2).