Opened 10 years ago

Closed 10 years ago

#2496 closed bug (Fixed)

Torrents stuck in Queued Torrents

Reported by: awknaust Owned by:
Priority: minor Milestone: 1.3.8
Component: GTK UI Version: 1.3.7
Keywords: queued torrent, classic mode Cc:

Description

I have had this issue on debian with 1.36-dev and have replicated it on a Ubuntu 14.04 VM with 1.37-dev

Description of problem In classic mode, using a local or non-local daemon you can get into a situation when adding torrents they are put into the "Queued Torrents" dialog, but cannot be added from there, because the Add button is disabled. Deluge also fails to add them automatically. Also if you press the 'Clear' button the torrent will disappear from the dialog, but in the status bar "1 Torrent Queued" will remain.

http://imgur.com/yp4K9GB.png

Replication You will need access to 2 torrents (I used http://cdimage.debian.org/debian-cd/7.6.0/amd64/bt-cd/)

With a fresh copy of 1.37-dev perform the following actions

  1. Start deluge, disable classic mode via preferences, close deluge
  1. Start deluge, in connection dialog check 'start local if needed', 'connect on startup', 'don't show this dialog', close deluge
  1. With deluge-gtk closed, try to add a torrent via clinking a link, or simply "deluge-gtk torrentname.torrent". Check 'automatically add torrents on connect', and then 'Add' to add the torrent. It should begin downloading, close deluge
  1. With deluge-gtk closed, try to add (another) torrent as in 3. This should produce the error condition: the torrent will not be automatically added, and if you bring up the "Torrent Queued" dialog, Adding will be disabled.

Attachments (1)

debug.log (19.0 KB ) - added by awknaust 10 years ago.
Command line input/errors, and debug-level log

Download all attachments as: .zip

Change History (7)

by awknaust, 10 years ago

Attachment: debug.log added

Command line input/errors, and debug-level log

comment:1 by awknaust, 10 years ago

I think I've traced this to a bug in addtorrentdialog.py. It relies on a deferred object to get the config values and set the core_config dictionary. This deferred is called either from start() or show(). However when you add a torrent it eventually goes to add_from_files, which calls set_default_options, assuming core_config is already loaded.

Unfortunately when this assumption fails, it throws an error, and doesn't open the add torrent dialog. The queued torrents dialog assumes adding will always be successful, so it clears its own queue.

This problem is probably also present with add_from_magnets, add_from_url

I'd like to write a patch, but I'm just a beginner with deluge/twisted. Should you somehow block on the core config, or just call update_core_config again in add_from_files and split the rest of it into a callback?

Last edited 10 years ago by awknaust (previous) (diff)

comment:2 by Calum, 10 years ago

I guessed that might be the issue.

What version is the remote daemon?

Last edited 10 years ago by Calum (previous) (diff)

comment:3 by Calum, 10 years ago

Milestone: Future1.3.8

comment:4 by Calum, 10 years ago

Ignore my previous question, I didn't read your report properly :)

I have actually been trying to replicate the 'download_location' issue for a long time so your detailed steps on how to replicate are really useful, thanks.

comment:5 by awknaust, 10 years ago

I've managed to do it with a freshly installed 1.37-dev (and probably 1.37-dev daemon). I originally noticed it with 1.36 daemon

comment:6 by Calum, 10 years ago

Resolution: Fixed
Status: newclosed

Fixed in 1.3-stable: [33339b1dc6]

Note: See TracTickets for help on using tickets.