FS#49861 - [deluge] incompatible with libtorrent-rasterbar 1.1

Attached to Project: Arch Linux
Opened by Hexcles Ma (bob.robot) - Monday, 27 June 2016, 04:15 GMT
Last edited by Jan Alexander Steffens (heftig) - Thursday, 21 July 2016, 09:17 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 10
Private No

Details

Description:

After libtorrent-rasterbar is upgraded to 1.1, deluge (1.3.12) starts to throw uncaught exceptions and crash on startup (see the traceback at the end).

The issue was already reported at the official forum (http://forum.deluge-torrent.org/viewtopic.php?t=53939). And according to a developer, Cas, deluge 1.3.* will make no attempts to support libtorrent 1.1.

We might need a libtorrent-rasterbar-legacy package or some custom patches to fix this.


Additional info:
* package version(s)
libtorrent-rasterbar 1:1.1-2
deluge 1.3.12-1

* traceback
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/deluge/ui/client.py", line 432, in __init__
self.__daemon = deluge.core.daemon.Daemon(classic=True)
File "/usr/lib/python2.7/site-packages/deluge/core/daemon.py", line 161, in __init__
component.start("PreferencesManager")
File "/usr/lib/python2.7/site-packages/deluge/component.py", line 296, in start
deferreds.append(self.components[name]._component_start())
File "/usr/lib/python2.7/site-packages/deluge/component.py", line 124, in _component_start
d = maybeDeferred(self.start)
--- <exception caught here> ---
File "/usr/lib/python2.7/site-packages/twisted/internet/defer.py", line 150, in maybeDeferred
result = f(*args, **kw)
File "/usr/lib/python2.7/site-packages/deluge/core/preferencesmanager.py", line 170, in start
self._on_set_peer_tos)
File "/usr/lib/python2.7/site-packages/deluge/config.py", line 312, in register_set_function
function(key, self.__config[key])
File "/usr/lib/python2.7/site-packages/deluge/core/preferencesmanager.py", line 290, in _on_set_peer_to
s
self.session_set_setting("peer_tos", chr(int(value, 16)))
File "/usr/lib/python2.7/site-packages/deluge/core/preferencesmanager.py", line 237, in session_set_set
ting
setattr(settings, key, value)
exceptions.AttributeError: 'dict' object has no attribute 'peer_tos'
[ERROR ] 21:06:14 component:118 [Failure instance: Traceback: <type 'exceptions.AttributeError'>: 'dict
' object has no attribute 'peer_tos'
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Thursday, 21 July 2016, 09:17 GMT
Reason for closing:  Fixed
Additional comments about closing:  libtorrent-rasterbar 1.1-3 + deluge 1.3.13, currently in [testing]
Comment by Samantha McVey (samcv) - Monday, 27 June 2016, 07:15 GMT
This bug very related to  bug 49836 . qBittorrent also has crashes on launch with the latest libbittorrent-rasterbar. Differently though qBittorrent is supposed to work on that version libbittorrent-rasterbar. See if you can disable IP filtering in a config file or in an older version before upgrading and see if that makes a difference.
Comment by Freddie Chopin (Freddie Chopin) - Monday, 04 July 2016, 20:44 GMT
After this update I've also noticed that Deluge completely ignores upload speed limit, which is probably also related.
Comment by requies (requies) - Monday, 04 July 2016, 22:10 GMT
Just got a problem with libtorrent-rasterbar 1.1.1-2.
My deluge installation was handling only 3 active torrents and putting everything else on queue.
Fixed the problem by downgrading to libtorrent-rasterbar 1.0.9-1.

Here is the thread: http://forum.deluge-torrent.org/viewtopic.php?f=7&t=54059
Comment by Levente Polyak (anthraxx) - Monday, 04 July 2016, 22:27 GMT
well, what a... hmm... douchebag! sorry, I _really_ tried to resist but it was not possible ^.^
Comment by Andrea Agosti (cifvts) - Thursday, 07 July 2016, 18:29 GMT
I confirm there is an issue with libtorrent-rasterbar 1:1.1-2 and Deluge. After upgrade from 1:1.0.9-1, deluge does not work anymore. Downgrade made deluge work again.
Comment by Hexcles Ma (bob.robot) - Tuesday, 12 July 2016, 04:19 GMT
As far as we know, libtorrent-rasterbar 1.1 not only causes crash when IP filtering is enabled, but also breaks lots of basic functionalities (e.g. multiple active torrents, speed limit, etc.). And as the upstream said, deluge 1.3.12 was never designed to be compatible with libtorrent-rasterbar 1.1 and they did not have a plan to fix it until the next release.

This is rather a high-priority bug. If we don't want to create a legacy library package for deluge (and qBittorrent etc.), at least we should put in some notes and probably direct users to an AUR package.
Comment by Jan Alexander Steffens (heftig) - Tuesday, 12 July 2016, 06:23 GMT
I've already updated deluge to the stable branch head. If upstream can't fix this, I will demote deluge to the AUR.
Comment by Samantha McVey (samcv) - Wednesday, 20 July 2016, 00:18 GMT
Jan,
Here is a patch and updated PKGBUILD that backports this change in https://github.com/arvidn/libtorrent/commit/66e5994 to 1.1.0 libtorrent. Looks like the OpenSUSE people have also made the same changes as I did looking at their patch as well:
https://build.opensuse.org/package/view_file/devel:libraries:c_c++/libtorrent-rasterbar/libtorrent-rasterbar-1.1.0-fix-get-ip-filter.patch?expand=1

I have compiled and tested this patch and qBittorrent no longer IPFilters enabled and it works fine (So it should fix this and  bug 49836 ).
If somebody can confirm that this fixes problems under Deluge as well that would be great.
Comment by Jan Alexander Steffens (heftig) - Thursday, 21 July 2016, 09:17 GMT
Thanks. I pulled some additional stuff from OpenSUSE.

Loading...