Opened 6 years ago

Closed 6 years ago

#5873 closed Bug (duplicate)

Corrupt webseed causes excessive bandwidth usage

Reported by: MaartenBaert Owned by:
Priority: Normal Milestone: None Set
Component: Transmission Version: 2.84
Severity: Normal Keywords:
Cc:

Description

I was trying to download a torrent, and I noticed that Transmission had downloaded more than 5GB of data even though the file should only be ~600MB. It turns out that Transmission was repeatedly downloading the same corrupted blocks over and over again from the same webseed. The behaviour is perfectly reproducible. I've captured the traffic with Wireshark, which shows that Transmission is repeatedly requesting the following ranges, thousands of times:

Range: bytes=194772992-195035135 Range: bytes=396361728-396623871 Range: bytes=415498240-415760383 Range: bytes=449576960-449839103

The webseed is: http://ftp.fau.de/cdn.media.ccc.de/congress/2014/h264-hd/31c3-6258-en-Reconstructing_narratives_hd.mp4

This behaviour can result in unexpected high bandwidth costs both for the mirror and the Transmission user. I've looked at the list of peers and saw that most other Transmission users in the swarm were also stuck at 99%, presumably for the same reason. Transmission should blacklist the webseed and try to download the blocks from a different source instead, or at least do something to avoid excessive bandwidth usage.

Here is the torrent file itself, if anyone wants to try it: http://cdn.media.ccc.de/congress/2014/h264-hd/31c3-6258-en-Reconstructing_narratives_hd.mp4.torrent

I tested this with QTransmission 2.84 on Arch Linux.

Change History (5)

comment:1 Changed 6 years ago by x190

"Here is the torrent file itself, if anyone wants to try it: ​http://cdn.media.ccc.de/congress/2014/h264-hd/31c3-6258-en-Reconstructing_narratives_hd.mp4.torrent"

Downloads without issue using Transmission 2.84 +(r14459).

"The webseed is: ​http://ftp.fau.de/cdn.media.ccc.de/congress/2014/h264-hd/31c3-6258-en-Reconstructing_narratives_hd.mp4"

Well, actually no. For the linked torrent above the webseed is mirror.us.oneandone.net and all the peers I connected to had 100% of the file.

Ticket is invalid as posted. Do you have correct info?

comment:2 Changed 6 years ago by MaartenBaert

I reported this bug on 2014-12-29 (it was delayed for moderation). At that time the web seed was definitely corrupted. The organizers must have realized this and have now replaced it with a different torrent file and/or fixed the webseed.

Anyway, I created a new torrent that reproduces the problem: http://andere.maartenbaert.be/transmission-bug/file.torrent

The file is 1MB. A single byte is corrupted. Transmission will happily download the corrupted chunk over and over again as fast as possible and download gigabytes of data if you don't stop the torrent (please don't do that - my bandwidth is limited).

comment:3 Changed 6 years ago by x190

The ability to blocklist a webseed could be added.

comment:4 Changed 6 years ago by cfpp2p

Replying to x190:

The ability to blocklist a webseed could be added.

Sure, I've got that working in my v2.77 test environment.

Replying to MaartenBaert:

Anyway, I created a new torrent that reproduces the problem: http://andere.maartenbaert.be/transmission-bug/file.torrent

The file is 1MB. A single byte is corrupted. Transmission will happily download the corrupted chunk over and over again as fast as possible and download gigabytes of data if you don't stop the torrent (please don't do that - my bandwidth is limited).

This is a known bug, but I can't seem to find any other ticket. Only a reference to the bug "...as they don't appear to be affected by the 5 bad pieces rule..." #4677

It's good that we now have a proper ticket for the bug.

Of course MaartenBaert's test torrent reproduces the issue. Thank you.

comment:5 Changed 6 years ago by x190

  • Resolution set to duplicate
  • Status changed from new to closed

See #5923 for a patch.

Note: See TracTickets for help on using tickets.