Deluge develop: Python argument types in session.post_torrent_updates(session) did not match C++ signature

Suggestions and discussion of future versions
Post Reply
alllexx
Member
Member
Posts: 30
Joined: Sat May 23, 2015 1:30 pm

Deluge develop: Python argument types in session.post_torrent_updates(session) did not match C++ signature

Post by alllexx »

I've recently upgraded deluge from develop branch to 53215d87 . I also upgraded libtorrent-rasterbar to 1.1.0. Deluge now spits this when I start it:

Code: Select all

Starting deluge daemon: deluged
/opt/lib/python2.7/site-packages/deluge/_libtorrent.py:34: RuntimeWarning: to-Python converter for boost::shared_ptr<libtorrent::alert> already registered; second conversion method ignored.
  import libtorrent as lt
root@DiskStation:~# 08:00:38 [ERROR   ][deluge.component              :129 ] [Failure instance: Traceback: <type 'exceptions.TypeError'>: No registered converter was able to produce a C++ rvalue of type int from this Python object of type str
/opt/lib/python2.7/site-packages/twisted/internet/base.py:1203:mainLoop
/opt/lib/python2.7/site-packages/twisted/internet/base.py:825:runUntilCurrent
/opt/lib/python2.7/site-packages/twisted/internet/defer.py:393:callback
/opt/lib/python2.7/site-packages/twisted/internet/defer.py:501:_startRunCallbacks
--- <exception caught here> ---
/opt/lib/python2.7/site-packages/twisted/internet/defer.py:588:_runCallbacks
/opt/lib/python2.7/site-packages/twisted/internet/task.py:839:<lambda>
/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py:131:start
/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py:143:do_config_set_func
/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py:217:_on_set_peer_tos
/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py:148:session_set_setting
]

root@DiskStation:~# 08:03:45 [ERROR   ][deluge.ui.web.auth         :303 ] Login failed (ClientIP 192.168.133.210)
Unhandled error in Deferred:
08:03:57 [CRITICAL][twisted                       :154 ] Unhandled error in Deferred:


Traceback (most recent call last):
  File "/opt/lib/python2.7/site-packages/twisted/internet/base.py", line 1203, in mainLoop
    self.runUntilCurrent()
  File "/opt/lib/python2.7/site-packages/twisted/internet/base.py", line 825, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/opt/lib/python2.7/site-packages/twisted/internet/defer.py", line 393, in callback
    self._startRunCallbacks(result)
  File "/opt/lib/python2.7/site-packages/twisted/internet/defer.py", line 501, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "/opt/lib/python2.7/site-packages/twisted/internet/defer.py", line 588, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/opt/lib/python2.7/site-packages/twisted/internet/task.py", line 839, in <lambda>
    d.addCallback(lambda ignored: callable(*args, **kw))
  File "/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py", line 131, in start
    self.do_config_set_func(key, self.config[key])
  File "/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py", line 143, in do_config_set_func
    on_set_func(key, value)
  File "/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py", line 217, in _on_set_peer_tos
    self.session_set_setting("peer_tos", chr(int(value, 16)))
  File "/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py", line 148, in session_set_setting
    self.session.set_settings(settings)
exceptions.TypeError: No registered converter was able to produce a C++ rvalue of type int from this Python object of type str
08:03:57 [CRITICAL][deluge.log                    :93  ] twisted.internet.defer
[Failure instance: Traceback: <type 'exceptions.TypeError'>: No registered converter was able to produce a C++ rvalue of type int from this Python object of type str
/opt/lib/python2.7/site-packages/twisted/internet/base.py:1203:mainLoop
/opt/lib/python2.7/site-packages/twisted/internet/base.py:825:runUntilCurrent
/opt/lib/python2.7/site-packages/twisted/internet/defer.py:393:callback
/opt/lib/python2.7/site-packages/twisted/internet/defer.py:501:_startRunCallbacks
--- <exception caught here> ---
/opt/lib/python2.7/site-packages/twisted/internet/defer.py:588:_runCallbacks
/opt/lib/python2.7/site-packages/twisted/internet/task.py:839:<lambda>
/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py:131:start
/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py:143:do_config_set_func
/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py:217:_on_set_peer_tos
/opt/lib/python2.7/site-packages/deluge/core/preferencesmanager.py:148:session_set_setting
]
And later, when I try to use it (connect via webui), it continuously spits errors of this kind:

Code: Select all

08:12:32 [ERROR   ][deluge.core.rpcserver         :1192] Exception calling RPC request: Python argument types in
    session.post_torrent_updates(session)
did not match C++ signature:
    post_torrent_updates(libtorrent::session {lvalue}, unsigned int)
Traceback (most recent call last):
  File "/opt/lib/python2.7/site-packages/deluge/core/rpcserver.py", line 293, in dispatch
    ret = self.factory.methods[method](*args, **kwargs)
  File "/opt/lib/python2.7/site-packages/deluge/core/core.py", line 500, in get_torrents_status
    d = self.torrentmanager.torrents_status_update(torrent_ids, keys, diff=diff)
  File "/opt/lib/python2.7/site-packages/deluge/core/torrentmanager.py", line 1352, in torrents_status_update
    self.session.post_torrent_updates()
ArgumentError: Python argument types in
    session.post_torrent_updates(session)
did not match C++ signature:
    post_torrent_updates(libtorrent::session {lvalue}, unsigned int)
08:12:32 [ERROR   ][deluge.ui.client           :157 ] RPCError Message Received!
--------------------------------------------------------------------------------
RPCRequest: core.get_torrents_status({u'owner': u'localclient', u'tracker_host': u'nnm-club.info'}, [u'queue', u'name', u'total_wanted', u'state', u'progress', u'num_seeds', u'total_seeds', u'num_peers', u'total_peers', u'download_payload_rate', u'upload_payload_rate', u'eta', u'ratio', u'distributed_copies', u'is_auto_managed', u'time_added', u'tracker_host', u'download_location', u'last_seen_complete', u'total_done', u'total_uploaded', u'max_download_speed', u'max_upload_speed', u'seeds_peers_ratio', u'total_remaining', u'completed_time'], True)
--------------------------------------------------------------------------------
ArgumentError
Python argument types in
    session.post_torrent_updates(session)
did not match C++ signature:
    post_torrent_updates(libtorrent::session {lvalue}, unsigned int): Traceback (most recent call last):
  File "/opt/lib/python2.7/site-packages/deluge/core/rpcserver.py", line 293, in dispatch
    ret = self.factory.methods[method](*args, **kwargs)
  File "/opt/lib/python2.7/site-packages/deluge/core/core.py", line 500, in get_torrents_status
    d = self.torrentmanager.torrents_status_update(torrent_ids, keys, diff=diff)
  File "/opt/lib/python2.7/site-packages/deluge/core/torrentmanager.py", line 1352, in torrents_status_update
    self.session.post_torrent_updates()
ArgumentError: Python argument types in
    session.post_torrent_updates(session)
did not match C++ signature:
    post_torrent_updates(libtorrent::session {lvalue}, unsigned int)

--------------------------------------------------------------------------------
This goes on endlessly, the errors are exact repeat of these, just the time changes.

Deluge itself is unusable: I'm able to connect to the daemon via webui on second or third attempt, but it doesn't show any previously present torrents (the nav bar at the left shows correct number of them, but they won't show on the main space); torrent adding dialog works fine, except for not adding anything in the end.

I'm using libtorrent-rasterbar 1.1.0 and boost 1.61.0, if that matters. Please tell me if you need more info

Regards,
Alex
alllexx
Member
Member
Posts: 30
Joined: Sat May 23, 2015 1:30 pm

Re: Deluge develop: Python argument types in session.post_torrent_updates(session) did not match C++ signature

Post by alllexx »

Sorry for the bother, somehow I missed this while googling :-) I'm downgrading to 1.0.9, since deluge and deluge-develop are the only packages that use libtorrent-rasterbar on Optware-ng

P.S. And I confirm: downgrading to 1.0.9 works
Post Reply