Page 1 of 2

Torrents permanently idle after second announcement

Posted: Sun Dec 30, 2012 7:47 pm
by PisoMojado
I have a recurring problem with all of my torrents in Deluge: Once the torrent begins to seed, it will behave normally until the "Next Announce" timer expires. Once the timer has expired, it will remain blank and the torrent will no longer be active on that tracker - it simply sits idle in my client.

To be clear, this is my problem: after a while, several torrents will simply stop seeding, despite the fact that the client reports them as healthy and active. The only symptom of the problem on the client-side is that the Next Announce timer is blank for every single torrent that the tracker no longer reports as being seeded. My typical attempt at a solution has been to pause and resume the affected torrents, but that does not seem to do the job completely as the problem continues once all of their Next Announce timers expire. You can see my problems here: http://imgur.com/a/gFlDP.

Does anyone else have this problem? I have consulted people on the tracker's end, and a few people who use Deluge 1.3.5 denied ever having this issue. I would greatly appreciate any insight on this.

Quick info on my box:
Using Deluge 1.3.5/libtorrent 0.16.3.0
Ubuntu 12.10

Re: Torrents permanently idle after second announcement

Posted: Mon Dec 31, 2012 12:31 pm
by Cas
This is likely related to libtorrent. I would suggest installing latest version (0.16.6) to see if it helps.

Re: Torrents permanently idle after second announcement

Posted: Wed Jan 02, 2013 7:12 am
by PisoMojado
Cas, thank you very much for your reply.

If you don't mind, I'm having trouble with installing a new version of libtorrent. Here is the summary of my troubles: I use deluge and libtorrent as it is obtained from the Ubuntu 12.10 repository, and for whatever reason deluge does not see libtorrent 0.16.6 once I have built and installed it.

Now the long version: I grabbed the version that you recommended, built, and installed it. I believe that because I was using libtorrent and deluge builds from an Ubuntu repository, deluge was not able to see that I was using a new version of libtorrent. Unfortunately, my attempt to correct this only further complicated things. I first removed deluge, deluged, etc. from my machine via apt-get and then I installed deluge from source. From there, it seemed that no form of deluge really was able to find libtorrent, even after configuring/installing it with the --enable-python-bindings flag. Thus, I gave up, removed both my libtorrent and deluge source installations, and brought it back to the standard versions in the Ubuntu repository.

What I would really like to do, is install the latest version of libtorrent (0.16.6 as you recommended) without having to bother with reinstalling deluge from source. Is this possible? Regardless of whether or not this is possible, I would greatly appreciate any help anyone can give me in this matter - I cannot confirm whether or not a newer version of libtorrent resolves my problems until I am able to get a newer version working.

Re: Torrents permanently idle after second announcement

Posted: Wed Jan 02, 2013 10:20 am
by Cas
You don't need to remove/reinstall Deluge. I would suggest removing libtorrrent-rasterbar and python-libtorrent before installing libtorrent from source.

These are the steps I used last time I built on 12.10: http://forum.deluge-torrent.org/viewtop ... 27#p173249

Re: Torrents permanently idle after second announcement

Posted: Wed Jan 02, 2013 10:14 pm
by PisoMojado
Cas, again thank you for your help.

I tried to do as you suggested, but I ran into the same problem I had when I was installing both deluge and libtorrent from source. I get the following error message when running the client in classic mode:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/deluge/ui/gtkui/gtkui.py", line 308, in _on_reactor_start
client.start_classic_model()
File "/usr/lib/python2.7/dist-packages/deluge/ui/client.py", line 563, in start_classic_mode
self._daemon_proxy = DaemonClassicProxy(self.__event_handlers)
File "/usr/lib/python2.7/dist-packages/deluge/ui/client.py", line 436 in __init__
self.__daemon = deluge.core.daemon.Daemon(classic=True)
File "/usr/lib/python2.7/dist-packages/deluge/core/daemon.py", line 141, in __init__
from dleuge.core.core import Core
File "/usr/lib/python2.7/dist-packages/deluge/core/core.py", line 36, in <module>
from deluge._libtorrent import lt
File "/usr/lib/python2.7/dist-packages/deluge/_libtorrent.py", line 59, in <module>
import libtorrent as lt
ImportError: libtorrent-rasterbar.so. 7: cannot open shared object file: No such file or directory
I don't think there are, but I apologize if there are any mistakes in the above stacktrace - I had to write it out by hand as the machine I'm writing this post on is not the machine which has the bug, and tunneling applications through an ssh connection does not seem to lend copy/paste functionality to the machine I'm on.

It seems to me that once I install a new copy of the libtorrent-rasterbar library (with the bindings built, of course) deluge can no longer find it and import it. I had searched for this problem before, but the solution I found was to install libtorrent and it's python bindings, then rebuild and reinstall deluge from source; this solution did not work for me, so I assume that it is not exactly the same issue.

I should also note that I didn't follow your directions to the letter: with deluge installed from a package, I could not remove libtorrent-rasterbar6 or python-libtorrent without removing deluge as well. I found some roundabout solutions whereby I would create a new dummy package to circumvent the problem, but I was worried about how this might affect my system and so I avoided it. This means that instead of removing the libtorrent-rasterbar and python-libtorrent packages as you asked, I simply kept them and installed 0.16.6 from source as well.

I wish I could send you a beer over the internet as a way of saying thank you, Cas, but alas I can only show you my gratitude here as you continue to help me :-D

Re: Torrents permanently idle after second announcement

Posted: Thu Jan 03, 2013 10:32 pm
by Cas
If you try to install Deluge from source and it cannot find libtorrent then it will attempt to build it itself which is not what you want so I wonder if you have other versions of libtorrent installed from previous attempts. You will need to search and remove libtorrent files and try installing from source again

Code: Select all

sudo updatedb
locate libtorrent-rasterbar.so
locate libtorrent.so| grep python

Re: Torrents permanently idle after second announcement

Posted: Fri Jan 04, 2013 8:51 pm
by PisoMojado
Alright, Cas I did as you say and these are the results after I removed libtorrent-rasterbar6, python-libtorrent, deluge and deluged from my package installations - the only forms of installation I had at the time of reading your last post:
michael@HAL9001:~$ sudo updatedb
michael@HAL9001:~$ locate libtorrent-rasterbar.so
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/src/.libs/libtorrent-rasterbar.so
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/src/.libs/libtorrent-rasterbar.so.7
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/src/.libs/libtorrent-rasterbar.so.7.0.0
michael@HAL9001:~$ locate libtorrent.so | grep python
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/bindings/python/build/lib.linux-x86_64-2.7/libtorrent.so
As you can see, the only thing left is the compiled version I'm about to install. I run the .configure, build and install just as you recommend:
michael@HAL9001:~/Downloads/libtorrent-rasterbar-0.16.6$ ./configure --enable-python-binding
michael@HAL9001:~/Downloads/libtorrent-rasterbar-0.16.6$ make
michael@HAL9001:~/Downloads/libtorrent-rasterbar-0.16.6$ sudo checkinstall
After a clean installation, this is what appears after I search for libtorrent once again:
michael@HAL9001:~/Downloads/libtorrent-rasterbar-0.16.6$ sudo updatedb
michael@HAL9001:~/Downloads/libtorrent-rasterbar-0.16.6$ locate libtorrent-rasterbar.so
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/src/.libs/libtorrent-rasterbar.so
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/src/.libs/libtorrent-rasterbar.so.7
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/src/.libs/libtorrent-rasterbar.so.7.0.0
/usr/local/lib/libtorrent-rasterbar.so
/usr/local/lib/libtorrent-rasterbar.so.7
/usr/local/lib/libtorrent-rasterbar.so.7.0.0
michael@HAL9001:~/Downloads/libtorrent-rasterbar-0.16.6$ locate libtorrent.so | grep python
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/bindings/python/build/lib.linux-x86_64-2.7/libtorrent.so
/usr/local/lib/python2.7/dist-packages/libtorrent.so
It seems clear to me, then, that libtorrent installed quite successfully. I then install deluge from source:
michael@HAL9001:~/Downloads/deluge-1.3.5$ python setup.py build
michael@HAL9001:~/Downloads/deluge-1.3.5$ sudo python setup.py install
There were no complaints. I check the updatedb once again for libtorrent stuff:
michael@HAL9001:~/Downloads/deluge-1.3.5$ sudo updatedb
michael@HAL9001:~/Downloads/deluge-1.3.5$ locate libtorrent-rasterbar.so
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/src/.libs/libtorrent-rasterbar.so
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/src/.libs/libtorrent-rasterbar.so.7
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/src/.libs/libtorrent-rasterbar.so.7.0.0
/usr/local/lib/libtorrent-rasterbar.so
/usr/local/lib/libtorrent-rasterbar.so.7
/usr/local/lib/libtorrent-rasterbar.so.7.0.0
michael@HAL9001:~/Downloads/deluge-1.3.5$ locate libtorrent.so | grep python
/home/michael/Downloads/libtorrent-rasterbar-0.16.6/bindings/python/build/lib.linux-x86_64-2.7/libtorrent.so
/usr/local/lib/python2.7/dist-packages/libtorrent.so
Alright, so it looks like everything is fine. I run Deluge, and once again face that error:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/deluge/ui/gtkui/gtkui.py", line 308, in _on_reactor_start
client.start_classic_model()
File "/usr/lib/python2.7/dist-packages/deluge/ui/client.py", line 563, in start_classic_mode
self._daemon_proxy = DaemonClassicProxy(self.__event_handlers)
File "/usr/lib/python2.7/dist-packages/deluge/ui/client.py", line 436 in __init__
self.__daemon = deluge.core.daemon.Daemon(classic=True)
File "/usr/lib/python2.7/dist-packages/deluge/core/daemon.py", line 141, in __init__
from dleuge.core.core import Core
File "/usr/lib/python2.7/dist-packages/deluge/core/core.py", line 36, in <module>
from deluge._libtorrent import lt
File "/usr/lib/python2.7/dist-packages/deluge/_libtorrent.py", line 59, in <module>
import libtorrent as lt
ImportError: libtorrent-rasterbar.so. 7: cannot open shared object file: No such file or directory
Any ideas as to what the problem might be? I can post the full installation printout if that would help, but after thoroughly looking through it I didn't see any cause for alarm.

PS: If this many quotations in a post is poor etiquette (I honestly don't know) then let me know and I will edit my post for a cleaner look.

Re: Torrents permanently idle after second announcement

Posted: Thu Jan 10, 2013 5:01 pm
by PisoMojado
Alright, so my hangup on installing a new version of libtorrent-rasterbar is over, but it turns out that the problem persists in newer versions of libtorrent as well (the original problem where the torrent goes idle after the first announce).

I also discovered some other properties of the problem: it's only when my client reaches a certain threshold of torrents. I believe the threshold is somewhere between 256 to 512, as the problem disappeared after reducing the total number of torrents being seeded from 800 to 226. I'm unsure of how deluge manages torrents between itself and libtorrent, but I'm guessing that this is a limitation on libtorrent's end, where it can only manage a certain number of torrents at a single time. This is all conjecture, of course.

Anyways, my current solution is to simply not use Deluge, but I hope that this thread might make a developer aware of the problem, so that it may be addressed.

Re: Torrents permanently idle after second announcement

Posted: Tue Jan 15, 2013 10:49 am
by bro
PisoMojado wrote:Alright, so my hangup on installing a new version of libtorrent-rasterbar is over, but it turns out that the problem persists in newer versions of libtorrent as well (the original problem where the torrent goes idle after the first announce).

I also discovered some other properties of the problem: it's only when my client reaches a certain threshold of torrents. I believe the threshold is somewhere between 256 to 512, as the problem disappeared after reducing the total number of torrents being seeded from 800 to 226. I'm unsure of how deluge manages torrents between itself and libtorrent, but I'm guessing that this is a limitation on libtorrent's end, where it can only manage a certain number of torrents at a single time. This is all conjecture, of course.

Anyways, my current solution is to simply not use Deluge, but I hope that this thread might make a developer aware of the problem, so that it may be addressed.
Thanks for reporting this. This will have to be investigated as I just noticed quite a few of the torrents I seed are missing the "Next Announce" value.

Re: Torrents permanently idle after second announcement

Posted: Tue Jan 15, 2013 1:34 pm
by skiik
Same problem here. Dont know if its after every announce but this is a pretty serious problem. Im running deluge 1.3.5 with standard libtorrent 0.16.3.0 installed via apt-get on ubuntu server 12.10

I hope someone can come up with a work around or a fix other than dont use Deluge.