Qbittorrent: Can't have more than 256 trackers on a given torrent

Created on 21 Feb 2018  路  7Comments  路  Source: qbittorrent/qBittorrent

Please provide the following information

qBittorrent version and Operating System

qBt 4.0.4 (windows 10)

What is the problem

When I add a list of trackers to a given torrent and use the workaround described in #8099 , only the 256 first trackers get numbered and contacted, the others get stuck at "not contacted yet" status.

What is the expected behavior

All trackers should be contacted.

Steps to reproduce

Create a list of more than 256 trackers.
Click on a torrent.
Click on the "trackers" button then in the window, with right mouse button, "add a new tracker"
Past the list in the window, click OK.
Do #8099 workaround (click on a right-side arrow to renumber the trackers)

Extra info(if any)

This is probably related to #8099. Why are trackers numbered using an unsigned 8-bit integer?

Libtorrent Not an issue

Most helpful comment

Why is everyone obsessed with how many Trackers they can have. It's bad practice.

Only ring 0 trackers are worth anything and most trackers are not. Everything that is not a ring 0 tracker is just a subset of a ring 0 tracker (duplicates).

With the increase in torrenting, Trackers like say _Coppersurf_ use to come up _Not Working_ because they just couldn't keep up with the number of requests that were being asked of them. Recently they must have improved their servers as this is not so much the case, but does still occur.

You generally only need a couple of trackers (hopefully not always the same), if any at all.

_DHT_[1] and more recently _PeX_ (thanks @arvidn[2])[3] came to the rescue. Originally these were to be the Tracker dilemma saviors, and they are.

So please, more than 256 Trackers? give me a break.

All 7 comments

Why are trackers numbered using an unsigned 8-bit integer?

If this is indeed the problem, the only thing i could find is that libtorrent limits the tiers to 256 (uint8_t).
In qbt, the # column in the trackerlist is the tier and qbt puts each tracker in a tier when re-arranging trackers with the up-down arrows.

Why is everyone obsessed with how many Trackers they can have. It's bad practice.

Only ring 0 trackers are worth anything and most trackers are not. Everything that is not a ring 0 tracker is just a subset of a ring 0 tracker (duplicates).

With the increase in torrenting, Trackers like say _Coppersurf_ use to come up _Not Working_ because they just couldn't keep up with the number of requests that were being asked of them. Recently they must have improved their servers as this is not so much the case, but does still occur.

You generally only need a couple of trackers (hopefully not always the same), if any at all.

_DHT_[1] and more recently _PeX_ (thanks @arvidn[2])[3] came to the rescue. Originally these were to be the Tracker dilemma saviors, and they are.

So please, more than 256 Trackers? give me a break.

More severe but similar tracker problem:
all trackers listed "not working" https://github.com/qbittorrent/qBittorrent/issues/8397

And it's been known for some time that qBT...
Works bad with big list of trackers https://github.com/qbittorrent/qBittorrent/issues/6705

@hdcTenBasePid : Thank you for the explanation, there is not a lot of information on this topic around and this is the first time I get a meaningful explanation from someone.

It would then be useful to remove the possibility to add more than 256 trackers (currently I can add as many as I want), displaying an error message when the user tries to add more.

currently libtorrent use a uint8_t to hold the tier. This is most likely the problem, and a more precise description of this bug would be that you can't add more than 256 tiers of trackers.
There's no real important reason to have this be just 8 bits, when I first added support for multiple trackers I just couldn't think of any good reason anyone would ever want that many tracker tiers. But sine then the de-facto definition of what a tier is has changed.

Trackers could merge into tiers, if there is some sort of way of determining if they are duplicates.

Otherwise trackers face a DDoS attack by everyone adding huge tracker lists with duplicates...and also tracker exchange.

The recently-added (as of qBitTorrent v4.0.0):
Announce to tier option... https://github.com/qbittorrent/qBittorrent/pull/7660
...does not fix this and is probably broken in other ways -- not sticking to announcing to the same tracker in a tier https://github.com/arvidn/libtorrent/issues/2724
...and not allowing qBT to work with only announcing to 1 tracker at a time if disabled.

Not a qBt issue.

Was this page helpful?
0 / 5 - 0 ratings