← Back to team overview

linuxdcpp-team team mailing list archive

[Bug 1194085] Re: Infinite download loop for a single tree

 

Instead of lying that the download is faliled and playing with the connections my proposal is trying to play safe and act according what's actually happening: the full tree is not available for whatever reason so it flags the source in the queue item, just like when they were unable to provide the full tree.
http://pastie.org/8225537

-- 
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.
https://bugs.launchpad.net/bugs/1194085

Title:
  Infinite download loop for a single tree

Status in DC++:
  Confirmed

Bug description:
  It goes as follows:

  1. DC++ tries to save a downloaded tree in hash data but the data file isn't writable.
  2. The client searches for other downloads from the same user and finds the same file again.
  3. The client can't find the tree for that file and downloads it again (back to step 1.)

  While the problem happens relatively rarely on Windows, it's much more
  common with Linux clients. Even though there's a log message when the
  writing fails, it seems that users don't generally notice it, which is
  why some users have even requested a feature for banning IP addresses
  from the client (and I've also seen users downloading the same tree
  from me for several hours).

   I've fixed this issue in AirDC++ 2.50 by catching the database
  exceptions in DownloadManager::endData, forwarding the error to the
  connecting item and changing the item to a state where it will connect
  only when the user manually forces the connection.

To manage notifications about this bug go to:
https://bugs.launchpad.net/dcplusplus/+bug/1194085/+subscriptions


References