-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
File pool does not work as intended #7778
Comments
Thanks for an excellent report. I will investigate! |
addressed here: #7779 |
I'm guessing this doesn't impact lt1.2? There's some weird fluttering going on, I haven't traced it yet though |
No, 1.2 has completely different implementation. |
I get strange behaviour of torrents not uploading after being active for an extended period. I uploaded 500GB from 416 torrents between 24-48 hours, and many torrents became a standstill. I upgraded the version from 5.0.2 to 5.0.3 of qBittorrent and with the fresh start active torrents went from a few to around 15. FIY: DC++ has a similar problem of uploads becoming a standstill. |
I noticed strange behavior of file descriptors. Opened files stale indefinitely, regardless of the file pool size.
Some investigation with
TRACE_FILE_VIEW_POOL
enabled shows that libtorrent never rotates any descriptors in the pool, except constantly reusing the last one when the pool is filled up.Obviously, this is not how it intended to work, and actually could lead to severe performance degradation.
I assume this thing does not sort files as expected.
libtorrent/include/libtorrent/aux_/file_view_pool.hpp
Lines 165 to 166 in 6a2c1ee
Replacing
back
s withfront
s inside thefile_view_pool::remove_oldest
function seems to mitigate the issue.I don't know how vaild this fix is, but it does make the pool to actually rotate.
The text was updated successfully, but these errors were encountered: