Opened 7 years ago

Last modified 2 years ago

#4034 new Bug

Adding new torrents when an old one is verifying leaves them queued to verify even if the files they download don't exist

Reported by: howl Owned by:
Priority: Normal Milestone: None Set
Component: Transmission Version: 2.21
Severity: Normal Keywords: patch-needed
Cc:

Description

To reproduce force verify to one torrent and then add some new ones, all the nre ones waits to be verified, but the expected behavior should be the space is allocated, if that feature is set, and start to download.

Change History (10)

comment:1 Changed 6 years ago by x190

What happens if the new torrent finds previously downloaded data to verify? This ticket at best would be an enhancement rather than a bug and likely would require #1753 to be implemented first.

comment:2 Changed 6 years ago by howl

The same thing, but in that case is expected that the new torrent waits queued to be verified. I don't think that #1753 should be consider as a requisite for this because a new torrent that has no data to verify shouldn't be triggered to verify state at all.

Last edited 6 years ago by howl (previous) (diff)

comment:3 Changed 6 years ago by livings124

How can we know there's no data to verify if the data hasn't been checked/verified? IIRC this was intentionally added a while ago.

comment:4 Changed 6 years ago by howl

When adding a new torrent, instead of inconditionally make it enter into verify state, just check if the file exists (or at least one of the files, not folders, exits on multiple file torrent) and if it does make it enter into verify state, if not just downloading state.

When I reported this one, I had verifying a very very large torrent that needed a lot of more time to verify than the time needed to download some little torrents that I added after, but they were stuck in verify queue before they started.

Last edited 6 years ago by howl (previous) (diff)

comment:5 Changed 6 years ago by howl

  • Summary changed from Adding new torrents when an old one is verifying, queue the new ones to verify to Adding new torrents when an old one is verifying leaves them queued to verify even if the files they download don't exist

comment:6 follow-up: Changed 4 years ago by cfpp2p

  • Keywords patch-needed added

#5466 is duplicate.

@x190 Seems to me you had a nice patch for this. Could you post that? I'm not sure if it's as simple as the patch presented at #5466, but maybe it is :)

comment:7 in reply to: ↑ 6 Changed 4 years ago by x190

Replying to cfpp2p:

#5466 is duplicate.

@x190 Seems to me you had a nice patch for this. Could you post that? I'm not sure if it's as simple as the patch presented at #5466, but maybe it is :)

libtransmission/torrent.c:

static void
torrentInit (tr_torrent * tor, const tr_ctor * ctor)
{
...
Line 966: 
  if (isNewTorrent && tr_torrentGetCurrentSizeOnDisk (tor))
    {
      tor->startAfterVerify = doStart;
      tr_torrentVerify (tor, NULL, NULL);
    }
...
static void
stopTorrent (void * vtor)
{
...
  if (tor->magnetVerify)
    {
      tor->magnetVerify = false;
      refreshCurrentDir (tor);
Line 1880:    
      if (tr_torrentGetCurrentSizeOnDisk (tor))
        {
          tr_logAddTorInfo (tor, "%s", "Magnet Verify");
          tr_torrentVerify (tor, NULL, NULL);
        }
    }
}
    
    
Last edited 4 years ago by x190 (previous) (diff)

comment:8 Changed 4 years ago by cfpp2p

looks good, x190

comment:9 Changed 3 years ago by Semik

Why it hasn't been fixed yet? 2.84 and still reproducing. Right now it is verifying 26gb of data and does not start downloading of a new torrent, later one...

comment:10 Changed 2 years ago by Semik

Any news?

Note: See TracTickets for help on using tickets.