Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#473 closed Bug (fixed)

0.93 crash: Assertion `req->length == (uint32_t)( ((block)==((msgs->torrent)->blockCount-1))

Reported by: charles Owned by:
Priority: High Milestone: 0.94
Component: libtransmission Version: 0.93
Severity: Major Keywords:
Cc:

Description


Attachments (1)

log.txt (6.3 KB) - added by charles 14 years ago.
runlog of the peer connection that led up to the crash

Download all attachments as: .zip

Change History (4)

Changed 14 years ago by charles

runlog of the peer connection that led up to the crash

comment:1 Changed 14 years ago by charles

  • Milestone changed from 0.9x to 1.00
  • Priority changed from Normal to High
  • Resolution set to fixed
  • Severity changed from Normal to Major
  • Status changed from new to closed

http://transmission.m0k.org/forum/viewtopic.php?p=13902#13902

Sim: although I don't encourage posting torrents in the forums, I did connect just long enough to use it as a testcase. I'm glad I did, because I got some very interesting results:

  • the error was caused by multiple peers who sent incomplete piece data to T.
  • in all cases, the peers claimed to be Azureus 2.5.0.0
  • in all cases, the peers claimed to have the same number of complete pieces.
  • in all cases, the peers had very similar IP addresses

If I had to guess, I'd say someone was poisioning your swarm (and doing a piss-poor job of covering their tracks).

I've added code in Transmission so that it:

  • survives these errors
  • disconnects the peer, and
  • gives them a strike on the three-strikes-and-you're-banned list.

These changes can be found in r3818, which will show up at http://transmission.xpjets.com/ as soon as the periodic build kicks off.

comment:2 Changed 14 years ago by charles

  • Milestone changed from 1.00 to 0.94

comment:3 Changed 14 years ago by charles

  • Type changed from Defect to Bug
Note: See TracTickets for help on using tickets.