Opened 14 years ago

Closed 14 years ago

#1376 closed Bug (invalid)

maximum transfer limit ignored after tracker error

Reported by: barein Owned by: livings124
Priority: High Milestone: None Set
Component: Mac Client Version: 1.34
Severity: Major Keywords: Active, Downloading, Error, Tracker
Cc:

Description

Mac OS 10.4.11 - Transmission 1.34 (6770): after receiving a tracker error torrents are removed from downloading group filter but remain in the active group filter and continue to download. The removal from the downloading group causes more torrents to start beyond the maximum transfer limit set in the transfers preference panel. (i.e. each tracker error adds one more active torrent to the download filter group.) If the torrent added also gets a tracker error the process begins over until all queued torrents are exhausted leading to transmission crashing, transmission becoming unresponsive or a total system lockup or failure due to system resources being exhausted.

The tracker error received is "Not authorized (Read the FAQ!) - You are downloading your maximum number of allowed torrents:2"

Attachments (1)

Ignored Max Transfers.jpg (236.5 KB) - added by barein 14 years ago.
Screen shot of Ignored Maximim Active Transfers

Download all attachments as: .zip

Change History (13)

comment:1 follow-up: Changed 14 years ago by livings124

Are you saying you have the filter set to "Downloading" and those transfers don't show up, even tho they are active and not finished (seeding)?

comment:2 in reply to: ↑ 1 Changed 14 years ago by barein

Replying to livings124:

Are you saying you have the filter set to "Downloading" and those transfers don't show up, even tho they are active and not finished (seeding)?

I have the filter set to "Downloading" and they don't show up, even tho they are still downloading. They do show up if the filter is set to "Active". The bad part is that another torrent will start and if it gets the same error the cycle starts over.

comment:3 follow-up: Changed 14 years ago by livings124

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

Well long story short, the queue intentionally ignores error'ed torrents. This is desired behavior.

comment:4 in reply to: ↑ 3 Changed 14 years ago by barein

  • Resolution wontfix deleted
  • Status changed from closed to reopened

Replying to livings124:

Well long story short, the queue intentionally ignores error'ed torrents. This is desired behavior.

I want to get this right. Are you stating that the desired behavior is as follows:

  1. A queued torrent starts because there are fewer torrents running than the maximum active transfer limit set in the transfers preference panel.
  1. The started torrent moves to the "Downloading" and "Active" queues. It is getting > 200K/sec.
  1. The now "Active" "Downloading" torrent receives an error and is removed from the "Downloading" queue but remains in the "Active" queue and continues to download data at 200K/sec.
  1. The "Active" queue now shows one torrent while the "Downloading" queue shows zero torrents.
  1. Since the "Downloading" queue shows fewer torrents active than the maximum active transfer limit set in the transfers preference panel the next queued torrent is started. Dividing the available bandwidth between "Active" torrents. (Repeat steps 1 thru 4 for each torrent that receives this error.)
  1. All torrents that receive this error are ignored when computing the total of the maximum active transfers. So torrents will continue to be added to the "Active" queue until either there are no longer any torrents queued or resources are exhausted.
  1. Torrents are only considered "Downloading" if they do not receive this tracker error. A torrent may continue to download data even if it is removed from the "Downloading" queue.

comment:5 follow-up: Changed 14 years ago by livings124

I have looked throughly at the filter code - there's no way that a torrent can appear in the active filter and not the downloading filter - unless it's showing in the seeding filter. Can you check this?

Otherwise, yes, ignoring error'ed torrents from the queue is intentional and is going to remain a feature.

Changed 14 years ago by barein

Screen shot of Ignored Maximim Active Transfers

comment:6 in reply to: ↑ 5 Changed 14 years ago by barein

I have added a screen shot of the "Maximum Active Transfers" preference being ignored. During this occurrence the "Active" and "Downloading" filters showed the same torrents with none listed in "Seeding".

I also get the following in the console log during startup:

2008-10-23 14:27:16.712 Transmission[1176] Could not find image named 'NSAddTemplate'. 2008-10-23 14:27:16.725 Transmission[1176] Could not find image named 'NSRemoveTemplate'.

And the following in quick succession with only the 'self = ' portion changed during program execution:

2008-10-23 14:45:03.758 Transmission[1176] * -[Torrent torrents]: selector not recognized [self = 0x411d6a0]

comment:7 follow-up: Changed 14 years ago by livings124

  • Resolution set to invalid
  • Status changed from reopened to closed

Before you said the transfers were not appearing in the download filter - in this image they are.

Those errors are harmless.

The rest I explained.

comment:8 in reply to: ↑ 7 ; follow-up: Changed 14 years ago by barein

This report is not about torrents appearing in the incorrect filters. That was only something I noticed when this condition occurred. Please reread the title. It is about queued torrents being started beyond the "Maximum Active Transfers" set in the preferences.

Regardless of what I said about the "Downloading" filter there are more torrents actively downloading than the "Maximum Active Transfers" set in the preferences. This is NOT the "desired behavior". Why have that preference setting if it is going to be ignored.

Regardless of any errors that have occurred. As can been seen from the screen shot. Three torrents have been started beyond the maximum allowed. Of the six torrents that are shown, four are actively downloading. The preference is set to "3". No additional torrents should have been started. There were already 3 torrents actively downloading.

Transmission's "desired behavior" may very well be to ignore torrents that receive errors from trackers. But receiving an error message from a tracker does not mean that transmission should ignore the activity of those torrents if that activity has an adverse effect on Transmission's execution environment.

Question: What will happen to transmission when the user queues 20 or more torrents and this condition occurs?

Answer: Transmission becomes useless.

comment:9 in reply to: ↑ 8 Changed 14 years ago by barein

  • Resolution invalid deleted
  • Status changed from closed to reopened

comment:10 Changed 14 years ago by livings124

  • Resolution set to invalid
  • Status changed from reopened to closed

An errored transfer is considered inactive - this is pretty much stated in the Bittorrent specs. The fact that these torrents are active when they shouldn't be is a rare exception. In the vast majority of cases the torrents will be inactive, hence this behavior. The choice is to count them or not count them when errored - either stall or have more active. The choice that has been made is to have more active.

comment:11 Changed 14 years ago by cjmike

  • Resolution invalid deleted
  • Severity changed from Major to Critical
  • Status changed from closed to reopened
  • Version changed from 1.34 to 1.51+

Same problems. I set it to max 3 downloads and all the downloads are going when I come back. Maybe there's an error, but it must recover. Whats the way to tell it to STOP downloading other torrents if there's 3 downloading at good speeds! (ie > 50k/s)

comment:12 Changed 14 years ago by livings124

  • Resolution set to invalid
  • Severity changed from Critical to Major
  • Status changed from reopened to closed
  • Version changed from 1.51+ to 1.34

This problem will be ameliorated with #1400. Besides that, my explanation remains.

And please don't change version information.

Note: See TracTickets for help on using tickets.