qbittorrent / qBittorrent

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

QBittorent 4.5.5 x64 crashes while checking torrents #19745

Open user100100100 opened 10 months ago

user100100100 commented 10 months ago

qBittorrent & operating system versions

qBittorrent v4.5.5 x64 Operating system Windows Server 2022. RAM 128GB Qt: 5.15.10 libtorrent:1.2.19.0

What is the problem?

Qbittorent crashes while checking torrents. Eats all ram and crashes. I can't copy crash info. I use this workaround: Using task Manager monitor RAM usage , when usage more than 90% I quit Qbitttorent. After restarting, the scan continues

Steps to reproduce

1 Recheck large torrent file (more than 400GiB). Large Single File in Torrent contents

Additional context

No response

Log(s) & preferences file(s)

No response

xavier2k6 commented 10 months ago

@user100100100 Would you be able to share the torrent for reproduction purposes?

Recheck large torrent file (more than 400GiB). Large Single File in Torrent contents

Is the single file 400GiB?

stalkerok commented 10 months ago

No problems were found in Win10. Created a file of 500000000000 bytes, created a torrent file and successfully rechecked.

user100100100 commented 10 months ago

I created with Qbittorent torrent with 1 tb single file - no problems with recheck found

Problematic torrent file:

comics4__for_science.tar.zip

stalkerok commented 10 months ago

400GB is not equal to 1.6TB. I don't have the opportunity to check such a volume (there is not so much space on NVMe), but I think everything would go smoothly.

user100100100 commented 10 months ago

First I find this problem with 400GB file, but this was long time ago. I have tested this 1.6TB file on another pc with fresh windows and QBittorrent install with default settings. Same memory leak problem. I am not expert in .torrent file data structures, so maybe someone who have knowledge can look and find that's wrong

xavier2k6 commented 10 months ago

Can you reproduce with v4.6.0 using default settings?

Please test if possible with both libtorrent 1.2.19 & libtorrent 2.0.9 based builds.

1.6TB file

Thanks for the torrent....will download/test when I can & see if I can capture the crash/stack trace.

user100100100 commented 10 months ago

v4.6.0 are way better now it shows out of memory error , and when I press force resume it crash with following info

qBittorrent version: v4.6.0 (64-bit) Libtorrent version: 1.2.19.0 Qt version: 6.4.3 Boost version: 1.83.0 OpenSSL version: 1.1.1w zlib version: 1.3 OS version: Windows Server 2022 Version 21H2 10.0.20348 x86_64

Caught signal: SIGABRT

 0# boost::stacktrace::basic_stacktrace >::init at G:\QBITTORRENT\boost_1_83_0\boost\stacktrace\stacktrace.hpp:78
 1# getStacktrace at G:\QBITTORRENT\qbt-src-4.6.0\src\app\stacktrace.cpp:35
 2# `anonymous namespace'::abnormalExitHandler at G:\QBITTORRENT\qbt-src-4.6.0\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# RtlVirtualUnwind2 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# std::_Xbad_alloc at D:\a\_work\1\s\src\vctools\crt\github\stl\src\xthrow.cpp:13
16# operator new at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\heap\new_scalar.cpp:48
17# libtorrent::block_cache::try_evict_blocks at G:\QBITTORRENT\libtorrent\src\block_cache.cpp:953
18# libtorrent::disk_io_thread::check_cache_level at G:\QBITTORRENT\libtorrent\src\disk_io_thread.cpp:1134
19# libtorrent::disk_io_thread::perform_job at G:\QBITTORRENT\libtorrent\src\disk_io_thread.cpp:1225
20# libtorrent::disk_io_thread::execute_job at G:\QBITTORRENT\libtorrent\src\disk_io_thread.cpp:3077
21# libtorrent::disk_io_thread::thread_fun at G:\QBITTORRENT\libtorrent\src\disk_io_thread.cpp:3181
22# libtorrent::disk_io_thread::job_queue::thread_fun at G:\QBITTORRENT\libtorrent\include\libtorrent\disk_io_thread.hpp:402
23# std::thread::_Invoke,boost::asio::io_context::work>,0,1,2,3> at C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\thread:56
24# thread_start at minkernel\crts\ucrt\src\appcrt\startup\thread.cpp:97
25# BaseThreadInitThunk in KERNEL32
26# RtlUserThreadStart in ntdll

Attached video file (speed-ed up) for steps reproducing this error bug-2S1.zip

stalkerok commented 10 months ago

You clearly don't have the default settings. Attach the client settings file.

xavier2k6 commented 10 months ago

RAM 128GB now it shows out of memory error , and when I press force resume it crash with following info

Thanks for the extra info & video!

@user100100100 Could you try reproduce with the libtorrent 2.x build? Does eventvwr show anything related to qBittorrent via windows error report....exception code perhaps? Any crashdumps in %LOCALAPPDATA%\CrashDumps?

xavier2k6 commented 10 months ago

I have a windows system with 128GB of ram too that I can test with but probably won't bee able to until the weekend.

user100100100 commented 10 months ago

Event viewer shows:


Faulting application name: qbittorrent.exe, version: 4.6.0.0, time stamp: 0x65346f28 Faulting module name: qbittorrent.exe, version: 4.6.0.0, time stamp: 0x65346f28 Exception code: 0xc0000005 Fault offset: 0x000000000047697c Faulting process id: 0x1bfc Faulting application start time: 0x01da0647c8cb273d Faulting application path: C:\Program Files\qBittorrent\qbittorrent.exe Faulting module path: C:\Program Files\qBittorrent\qbittorrent.exe Faulting package full name: Faulting package-relative application ID:


Fault bucket 1818093415358088865, type 4 Event Name: APPCRASH Response: Not available Cab Id: 0

Problem signature: P1: qbittorrent.exe P2: 4.6.0.0 P3: 65346f28 P4: qbittorrent.exe P5: 4.6.0.0 P6: 65346f28 P7: c0000005 P8: 000000000047697c P9: P10:


no crash Dumps in %LOCALAPPDATA%\CrashDumps only report are available Report.zip

stalkerok commented 10 months ago

@user100100100, copy qbittorrent.exe to a separate directory, create a profile folder next to it and try again. The portable version is guaranteed to have default settings.

user100100100 commented 10 months ago

Qbittorent 4.6.0 x64/Libtorrent 2.0.9.0 rechecks this trouble-making torrent without any problems. So you can close this case. I will use this version.

xavier2k6 commented 10 months ago

@arvidn If you have time, can you review stack trace/video from https://github.com/qbittorrent/qBittorrent/issues/19745#issuecomment-1776695563 please?

xavier2k6 commented 10 months ago

Note to self, libtorrent 1.2.x based too - #15878, #15874

xavier2k6 commented 3 weeks ago

I created with Qbittorent torrent with 1 tb single file - no problems with recheck found

Problematic torrent file:

comics4__for_science.tar.zip

This is another example torrent which has piece size of 256.0 MiB

Screenshot 2024-08-21 214954

xavier2k6 commented 3 weeks ago

@user100100100 There does seem to be an issue with libtorrent 1.2.x based builds & torrents which use piece size of 256.0 MiB, it look like libtorrent 2.0.x builds are not affected as far as I can tell.