rakshasa / rtorrent

rTorrent BitTorrent client
https://github.com/rakshasa/rtorrent/wiki
GNU General Public License v2.0
4.07k stars 408 forks source link

[Failure reason "announcing too fast"] and rTorrent still downloads all files despite setting them off #930

Open catzybluphish opened 4 years ago

catzybluphish commented 4 years ago

When I torrent files with their manget link, say from nyaa.si, it'll initially show me the error [Failure reason "announcing too fast"]: 2019-10-24-193009_928x497_scrot It'll keep showing that message until it starts after some time. I've compared downloading the same torrent with qBittorrent and there wasn't any issue on there. What does it mean and how can I fix it?

Also, I've tried to only download specific files I've selected from the files list. However, rTorrent will still create entries for those files, albeit with 0 bytes, as shown below: 2019-10-24-193232_1920x1080_scrot The right window is ranger file manager showing entries for the entire torrent. How do I prevent rTorrent from downloading unwanted files?

I'm a new user so I, admittedly, haven't tinkered with the config much other than redirecting directory locations.

leaty commented 4 years ago

I'm having the same issue, looking through my logs, whenever I add a torrent from a magnet link, it will announce and get a successful response. But then immediately after (1 sec) it announces again and gets [Failure reason "announcing too fast"], which then puts it into a terrible infinite loop of announce hammering every 2 seconds.

It didn't even get to use the data from the tracker - it's like it threw it out on the second announce, the only way to get it working again is by restarting rtorrent which for some reason makes it only announce once as it should.

leaty commented 4 years ago

Here's a log showing what happens: https://pastebin.com/p4nv6fzs Pay attention to the timestamps.

kannibalox commented 4 years ago

what announce limits is the nyaa.* tracker subject to? rtorrent is only reporting back what the tracker tells it for that message. As for announce error handling, rtorrent follows a pretty well-defined pattern of backing off after each successive failure (up to 3 minutes, if i remember correctly).

leaty commented 4 years ago

31 minutes, it lacks min interval - see output: {'complete': 953, 'downloaded': 21158, 'incomplete': 37, 'interval': 1889, 'peers': ...

I wish it did wait 3 minutes, but it's retrying every second, even after the first response as above. What ultimately happens is that I can see the amount of peers/seeds, but it refuses to connect to anyone while it keeps hammering the tracker. All up until it tries DHT after around 10 rapid announce requests, but it still keeps announcing. Or when I restart rtorrent, where it connects just fine to 40+ and also only announces once.

This sequence of events happens every time I add a new magnet link. I don't know what could be wrong, I used the following template https://github.com/rakshasa/rtorrent/wiki/CONFIG-Template and only changed some numbers in it.

chros73 commented 4 years ago

Have you seen this?

leaty commented 4 years ago

@chros73 Yes, dht and most udp/tcp trackers do work just fine. But some do not, and when that happens - as with nyaa tracker, even if it receives a seemingly legit response (like in my previous comment), it tries again immediately after, where it receives "announcing too fast", after which rtorrent fires announce requests ruthlessly.

pyroscope commented 4 years ago

When a tracker doing non-smart "too fast" responses meets rt's "repeat w/o exponential backoff" logic, that happens, yes.

leaty commented 4 years ago

I haven't looked at the source yet, but if it's intended with a solid reason, then it's all good in my book. I assumed it might be a bug.