#2083 closed bug (Fixed)
Deluge & libtorrent 0.16, can't add magnetlinks
Reported by: | DerFlob | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | libtorrent | Version: | 1.3.5 |
Keywords: | Cc: |
Description
Hello, I'm using Deluge on Arch Linux, which updated libtorrent to 0.16. Unfortunately, Deluge 1.3.4 and 1.3.5 refuse to add magnetlinks since. A downgrade to libtorrent 0.15.10 "fixes" it. I'm running Deluge as daemon under my user, but also classic mode doesn't work. Adding torrents from a file and downloading still works. Another bug report about this at ArchLinux FS: https://bugs.archlinux.org/task/29414
Debug output when trying to add a magnet link:
[DEBUG ] 13:15:24 core:296 Attempting to add by magnet uri: magnet:?xt=urn:btih:e8b7331a45924868f8a1720fb5da9c4ea9d4fba8&dn=Ubuntu+11.04+Desktop+dvd+amd64+%28x64%29+.iso&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.ccc.de%3A80 [DEBUG ] 13:15:24 torrentmanager:329 torrentmanager.add [DEBUG ] 13:15:24 configmanager:111 Getting config 'core.conf' [DEBUG ] 13:15:24 torrentmanager:430 options: {'max_download_speed': -1.0, 'auto_managed': True, 'move_completed_path': u'/home/flob', 'stop_at_ratio': False, 'prioritize_first_last_pieces': True, 'max_upload_slots': -1, 'file_priorities': [], 'move_completed': False, 'max_connections': -1, 'add_paused': False, 'download_location': '/home/flob/Downloads', 'mapped_files': {}, 'compact_allocation': False, 'max_upload_speed': 40.0, 'remove_at_ratio': False, 'stop_ratio': 2.0} [ERROR ] 13:15:24 rpcserver:303 Exception calling RPC request: No registered converter was able to produce a C++ rvalue of type boost::intrusive_ptr<libtorrent::torrent_info> from this Python object of type NoneType Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/deluge/core/rpcserver.py", line 298, in dispatch ret = self.factory.methods[method](*args, **kwargs) File "/usr/lib/python2.7/site-packages/deluge/core/core.py", line 298, in add_torrent_magnet return self.torrentmanager.add(magnet=uri, options=options) File "/usr/lib/python2.7/site-packages/deluge/core/torrentmanager.py", line 452, in add handle = lt.add_magnet_uri(self.session, utf8_encoded(magnet), add_torrent_params) TypeError: No registered converter was able to produce a C++ rvalue of type boost::intrusive_ptr<libtorrent::torrent_info> from this Python object of type NoneType
Change History (6)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Component: | other → libtorrent |
---|---|
Type: | defect → bug |
We recommend to use libtorrent 0.15.10 with Deluge 1.3.x
comment:3 by , 13 years ago
I believe this patch to libtorrent fixes it. Could anyone confirm?
Index: bindings/python/src/session.cpp =================================================================== --- bindings/python/src/session.cpp (revision 6789) +++ bindings/python/src/session.cpp (working copy) @@ -153,7 +153,7 @@ , std::vector<char>& rd, std::list<std::string>& string_storage) { // torrent_info objects are always held by an intrusive_ptr in the python binding - if (params.has_key("ti")) + if (params.has_key("ti") && !params.get("ti").is_none()) p.ti = extract<intrusive_ptr<torrent_info> >(params["ti"]); if (params.has_key("info_hash"))
It's just a work-around for what appears to be Deluge passing in None as the tf field in the dict.
comment:6 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
I confirm the exact same issue. It happened afer I updated my Arch linux (not deluge itself). I tried to update deluge to see if the newer version solved the issue, but nothing different happened.