Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#2539 closed Bug (fixed)

"Incomplete Folder" feature may lead to deleted files

Reported by: KyleK Owned by: charles
Priority: Normal Milestone:
Component: libtransmission Version: 1.76+
Severity: Major Keywords:


The new feature that moves torrent data to a specified location after the torrent has completed may delete the data in the process.

I had a torrent downloading containing a single file, which was at around 90%. At that time I quit Transmission, updated to the latest SVN version, recompiled and restarted. A bit later the torrent finished, and according to Transmission was moved from the Incomplete folder to the Download directory. But, the torrent is nowhere to be found. I can't locate it anywhere on the hard drive, and when telling Transmission to re-verify the file, it couldn't find it either.

setLocation() calls tr_torrentDeleteLocalData(), which here is only supposed to delete leftover empty directories at the torrent's old location.

I believe the problem is that the function uses tr_torrentFindFile2() at some point, which finds the file wherever it is at the time of the function call. In this case, it's in the download folder (where it was moved to), and then it is deleted.

Change History (6)

comment:1 Changed 13 years ago by Rolcol

*groan* I thought you were crazy. I just had Transmission (r9433) delete the torrent that just finished. It's not in the complete folder and find can't find it. This was a single file torrent about 200MB.

comment:2 Changed 13 years ago by Rolcol

  • Component changed from Transmission to libtransmission
  • Owner set to charles

The Incomplete folder feature is in libtransmission, iirc.

comment:3 Changed 13 years ago by Rolcol

...and again just now when moving the unfinished, still downloading torrent, to another drive.

comment:4 Changed 13 years ago by charles

  • Milestone None Set deleted
  • Status changed from new to assigned

comment:5 Changed 13 years ago by charles

  • Resolution set to fixed
  • Status changed from assigned to closed

Fixed in trunk for 1.80 by r9435

comment:6 Changed 13 years ago by charles

See also: r9440

Note: See TracTickets for help on using tickets.