Opened 11 years ago

Last modified 8 years ago

#2535 reopened Bug

`transmission-remote --find` does not work for newly added multi-file (directory) torrents

Reported by: Julian Mehnle Owned by:
Priority: Normal Milestone: None Set
Component: Daemon Version: 1.75
Severity: Normal Keywords:
Cc: ian@…

Description

I'm running transmission-daemon (on Debian) and using transmission-remote to add new torrents. Adding single-file torrents located outside the default download directory using the --find option works fine, however I seem to be unable to achieve the same thing for multi-file (i.e., directory) torrents. transmission-remote and/or the daemon respond with "success" but the daemon never starts verifying the files. The web client correctly reports the directory that I specified with --find, but it simply doesn't do anything.

I tried the suggestion in http://forum.transmissionbt.com/viewtopic.php?f=3&t=8347&p=39364 , and this works for me. I think it's an unnecessary hassle, though.

I'm currently running 1.75 but I never got this to work with earlier versions either.

Change History (10)

comment:1 Changed 11 years ago by Grug

Is this when adding a new torrent (-a <torrent> --find <dir>) or immediately after adding a torrent?

When I specify -a and --find the remote/RPC server complains about not having a torrent id -t <num>. That happens for both single files and directories.

When adding, then getting the id's and specifying dirs with -t <num> --find <dir>, I haven't had any problems with either single file or directory torrents.

comment:2 follow-up: Changed 11 years ago by Julian Mehnle

It's when I do -t <id> --find <dir> after adding a torrent. I wasn't aware I could provide --find <dir> right when adding the torrent, thus I don't know how it behaves in that case.

comment:3 in reply to: ↑ 2 ; follow-up: Changed 11 years ago by Grug

  • Cc ian@… added

Replying to Julian Mehnle:

It's when I do -t <id> --find <dir> after adding a torrent.

Oh... I just noticed that you said the web client reports the correct directory. Well the only things I can think of is possible file permission problems, the sub-directory name being slightly wrong (case is important) or you specifying the torrent sub-directory, rather than the directory above.

Eg. Torrent "mytorr" located in "/home/<user>/torrents/mytorr" you need to specify "--find /home/<user>/torrents" as transmission creates the sub-directory.

I wasn't aware I could provide --find <dir> right when adding the torrent, thus I don't know how it behaves in that case.

Well according to the RPC spec you can, but in practice only the "URL" method, not the "file upload" method is coded with support, and hence the remote client doesn't have any support.

comment:4 in reply to: ↑ 3 Changed 11 years ago by Julian Mehnle

Replying to Grug:

Well the only things I can think of is possible file permission problems, the sub-directory name being slightly wrong (case is important) or you specifying the torrent sub-directory, rather than the directory above.

I'm totally aware of those restrictions. It still doesn't work.

What permissions other than (on a Debian system) transmission-daemon:transmission-daemon ug=rwx would it require?

comment:5 Changed 10 years ago by charles

Is this still a problem in Transmission 2.04?

comment:6 Changed 10 years ago by Julian Mehnle

I can still reproduce the faulty behavior with 2.03. I will try to reproduce it with 2.04 as soon as that version is available in Debian (unstable).

comment:7 Changed 10 years ago by charles

  • Milestone changed from None Set to 2.00
  • Resolution set to fixed
  • Status changed from new to closed

Thanks for testing this Julian!

There are no changes in the daemon/ directory between 2.03 and 2.04, so I think it's safe to say that this works in 2.04 as well.

It's very likely that this was fixed during the partial rewrite of transmission-remote in 2.00, but for this bug it doesn't seem necessary to me to go back and hunt down the exact commit that fixed things.

comment:8 Changed 10 years ago by Julian Mehnle

  • Milestone 2.00 deleted
  • Resolution fixed deleted
  • Status changed from closed to reopened

I did not say this was fixed. Actually I said I could still reproduce the faulty behavior.

Let me make the repro steps explicit:

First, start transmission-daemon. Then:

$ alias txr
alias txr='transmission-remote -N ~/.netrc.transmission'

$ cat /home/julian/.netrc.transmission
machine localhost
login julian
password ***

$ txr -V
Transmission 2.03 (11030)

$ mkdir foo/
$ echo bar >foo/bar
$ echo quux >foo/quux

$ transmissioncli -r -a http://io.mehnle.net:6969/announce -n foo/ foo.torrent
Transmission 2.03 (11030) - http://www.transmissionbt.com/
[17:16:06.780] Transmission 2.03 (11030) started
[17:16:06.781] RPC Server: Adding address to whitelist: 127.0.0.1
[17:16:06.781] DHT: Generating new id
creating torrent "foo.torrent"
[17:16:06.967] Saved "foo.torrent"
.

$ txr -a foo.torrent
localhost:9091 responded: "success"

$ txr -l
ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
   1     0%       None  Unknown      0.0     0.0   None  Idle         foo
Sum:              None               0.0     0.0

$ txr -t 1 -i | grep Location:
  Location: /var/lib/transmission-daemon/downloads

$ txr -t 1 --find ~/
localhost:9091 responded: "success"

$ txr -t 1 -i | grep Location:
  Location: /home/julian/

$ sleep 10

$ txr -l
ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
   1     0%       None  Unknown      0.0     0.0   None  Idle         foo
Sum:              None               0.0     0.0

$ txr -t 1 -v
localhost:9091 responded: "success"

$ sleep 10

$ txr -l
ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
   1     0%       None  Unknown      0.0     0.0   None  Idle         foo
Sum:              None               0.0     0.0

comment:9 Changed 10 years ago by charles

Gah! Sorry about that and thanks for the fast correction.

comment:10 Changed 8 years ago by jordan

  • Milestone set to None Set
Note: See TracTickets for help on using tickets.