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

qBitTorrent 5.0.2 connects to itself #21935

Open
ctquantum opened this issue Dec 2, 2024 · 6 comments
Open

qBitTorrent 5.0.2 connects to itself #21935

ctquantum opened this issue Dec 2, 2024 · 6 comments

Comments

@ctquantum
Copy link

ctquantum commented Dec 2, 2024

qBittorrent & operating system versions

qBitorrent: 5.0.2 (64 bit)
OS: Windows 10 x86-64 (22H2)[Version 10.0.19045.5198]
Qt: 6.7.3
Libtorrent: 1.2.19.0
Boost: 1.86.0
OpenSSL: 3.4.0
zlib: 1.3.1

What is the problem?

For some reason the program will attempt to connect to itself. The program is supposed to keep track of how much progress a peer has completed, especially itself but for some reason it is not keeping track.

Steps to reproduce

Load a torrent and watch the seed list. Every so often your own IP will be added to the list and only be removed because there is no fresh pieces to request.

Additional context

Turning on reverse lookup will make it more obvious.

Log(s) & preferences file(s)

Click

[Application]
FileLogger\Age=1
FileLogger\MaxSizeBytes=66560
GUI\Notifications\TorrentAdded=false
FileLogger\DeleteOld=true
FileLogger\AgeType=1
FileLogger\Backup=true
FileLogger\Path=C:\Users\Admin\AppData\Local\qBittorrent\logs
FileLogger\Enabled=true

[SpeedLimitDialog]
Size=@SiZe(481 272)

[BitTorrent]
Session\uTPMixedMode=Proportional
Session\AlternativeGlobalDLSpeedLimit=500
Session\Encryption=1
Session\MaxUploads=30
Session\AnonymousModeEnabled=true
Session\MaxActiveCheckingTorrents=10
Session\StartPaused=false
Session\MaxConnectionsPerTorrent=150
Session\IgnoreLimitsOnLAN=true
Session\SSL\Port=62053
Session\Port=11117
Session\QueueingSystemEnabled=false
Session\MaxUploadsPerTorrent=20
Session\BTProtocol=Both
Session\AlternativeGlobalUPSpeedLimit=500
Session\uTPRateLimited=false

[Core]
AutoDeleteAddedTorrentFile=Never

[GUI]
Log\Enabled=false
Qt6\CookiesDialog\ViewState="@bytearray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2,\0\0\0\x5\x1\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x5\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x9c\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64\0\0\0\0)"
StartUpWindowState=Normal
Qt6\TorrentProperties\TrackerListState=@bytearray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\x96\0\0\0\v\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\v\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x32\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\xe0\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff\0\0\0\0)
Qt6\TorrentProperties\PeerListState="@bytearray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\a\x1\0\0\0\0\0\0\0\0\0\0\0\xf@@\0\0\0\x2\0\0\0\xe\0\0\0\x64\0\0\0\x6\0\0\0\x64\0\0\x5,\0\0\0\xf\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\xf\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\xa9\0\0\0\x1\0\0\0\0\0\0\0\x30\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x90\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0?\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff\0\0\0\0)"
Qt6\TorrentProperties\FilesListState=@bytearray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x4\xc8\0\0\0\x6\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x6\0\0\x1O\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\x1\xe9\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64\0\0\0\0)
DownloadTrackerFavicon=false
Qt6\TransferList\HeaderState=@bytearray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0%\t\x90\xff\x7f\x1f\0\0\0\x18\0\0\0$\0\0\0\x64\0\0\0\x16\0\0\0\x64\0\0\0\x1a\0\0\0\x64\0\0\0 \0\0\0\x64\0\0\0\x1b\0\0\0\x64\0\0\0\x12\0\0\0\x64\0\0\0\x17\0\0\0\x64\0\0\0\xf\0\0\0\x64\0\0\0!\0\0\0\x64\0\0\0"\0\0\0\x64\0\0\0#\0\0\0\x64\0\0\0\x19\0\0\0\x64\0\0\0\x14\0\0\0\x64\0\0\0\x11\0\0\0\x64\0\0\0\x1e\0\0\0\x64\0\0\0\x1d\0\0\0\x64\0\0\0\f\0\0\0\x64\0\0\0\x3\0\0\0\x64\0\0\0\x13\0\0\0\x64\0\0\0\x10\0\0\0\x64\0\0\0\0\0\0\0\x64\0\0\0\x15\0\0\0\x64\0\0\0\x1c\0\0\0\x64\0\0\0\x18\0\0\0\x64\0\0\x5\x14\0\0\0%\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0%\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64\0\0\0\0)
Qt6\AddNewTorrentDialog\TreeHeaderState=@bytearray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x6\x34\0\0\0\x3\0\0\0\x4\0\0\0\x64\0\0\0\x5\0\0\0\x64\0\0\0\x2\0\0\0\x64\0\0\x1\xb5\0\0\0\x6\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x6\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\x64\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\xed\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0\x64\0\0\0\0)
Qt6\AddNewTorrentDialog\SplitterState=@bytearray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\0\0\x1L\0\0\x1Z\0\xff\xff\xff\xff\x1\0\0\0\x1\0)

[Preferences]
General\Locale=en
Advanced\RecheckOnCompletion=true
General\DeleteTorrentsFilesAsDefault=true
Connection\ResolvePeerHostNames=true
General\CloseToTrayNotified=true

[Appearance]
Style=Fusion

[AboutDialog]
Size=@SiZe(545 322)

[MainWindow]
geometry=@bytearray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\xff\xff\xff\xf8\0\0\x5U\0\0\x2\xd7\0\0\0\xe2\0\0\0\x62\0\0\x4s\0\0\x2\x94\0\0\0\0\x2\0\0\0\x5V\0\0\0\0\0\0\0\x17\0\0\x5U\0\0\x2\xd7)

[StatisticsDialog]
Size=@SiZe(286 439)

[AddNewTorrentDialog]
SavePathHistory=C:\Users\Admin\Downloads
RememberLastSavePath=false
DownloadPathHistory=
DialogSize=@SiZe(900 680)

[TorrentProperties]
Visible=true
CurrentTab=0
SplitterSizes="138,325"

[RSS]
AutoDownloader\SmartEpisodeFilter=s(\d+)e(\d+), (\d+)x(\d+), "(\d{4}[.\-]\d{1,2}[.\-]\d{1,2})", "(\d{1,2}[.\-]\d{1,2}[.\-]\d{4})"
AutoDownloader\DownloadRepacks=true

[CookiesDialog]
Size=@SiZe(618 369)

[OptionsDialog]
HorizontalSplitterSizes=121, 632
Size=@SiZe(779 591)
LastViewedPage=7

[Meta]
MigrationVersion=8

[LegalNotice]
Accepted=true

[TorrentOptionsDialog]
Size=@SiZe(450 630)

[DownloadFromURLDialog]
Size=@SiZe(501 220)

@thalieht
Copy link
Contributor

thalieht commented Dec 2, 2024

Duplicate of #10791?

@ctquantum
Copy link
Author

ctquantum commented Dec 3, 2024

Maybe/Maybe not.
First I have to say that I started with 5.0.2 and have no experience with earlier versions of qBittorrent. So if it is a complete duplicate then my apologies.
After reading 10791 and the even earlier 5663 mine effects the newest version available. Secondly I am on a duel stack network so both IPv4 and IPv6 links are available compared to the earlier tickets IPv4 only networks. Lastly the reverse lookup on the IP is an internal only name that is only available on my network. External attempts to access via global IP's would have a different name. This means that the connection is either IPv4 on private addressing or local loop, or possibly IPv6 on link-local or local loop(::1). Regardless the lack of a filter for itself is comical and should have been put in a long time ago. Could save lots of resources if filter is put in and verified working for 5.0.2 and the earlier clients.

@stalkerok
Copy link
Contributor

Are you suggesting blocking connections to yourself? What if I want to run multiple instances of the client on the same machine?

@ctquantum
Copy link
Author

Even better, not making the connections in the first place. There is no purpose of connecting to yourself on the global addresses.

You can run multiple instances of qBittorrent on a machine still. You just will not be able to load the same torrent in both and have them send data via the network stack with one another. The correct way is to aim both at the same data source on the storage medium.

I also have done some testing. Apparently this issue is happening on both IPv4 and IPv6. The client is doing multiple connections as a loopback, one per IP that is assigned. With only 2 IP's(One per version) it is not too bad but with IPv6 each interface is allowed to have multiple IP's assigned to it. On servers with IPv6 it is standard to issue a /64 to a single server so this issue will get worse as fresh IPv6 networks are brought online. This will get really bad for torrent boxes soon if not corrected.

@stalkerok
Copy link
Contributor

You just will not be able to load the same torrent in both and have them send data via the network stack with one another. The correct way is to aim both at the same data source on the storage medium.

IMO, this is a bad idea, at least for testing purposes.

@ctquantum
Copy link
Author

This is a very good idea. If you load the same torrent then each will download a full set of files from other machines. Its a full stack test. I am having too many cases where the client is wasting resources trying to connect to itself instead of other systems. If you are really desperate to keep it then implement the fix and a flag to turn it off. That way a user can turn it off for special cases.

Also qBitTorrent 5.0.3 has the same issue so it has not been fixed. Just gotten worse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants