#3469: Files can't be moved ----------------------------+-------------------------- Reporter: nop666 | Type: bug Status: new | Priority: major Milestone: needs verified | Component: libtorrent Version: 2.0.3 | Keywords: move_storage ----------------------------+-------------------------- Ubuntu 21.04, Deluge 2.0.3, libtorrent: 1.2.9.0
Files cannot be moved, either via the "move completed to" setting, or manually via the GUI "Move Download Folder" function. The problem seems to be in in the 'move_storage' function in LibTorrent 1.2.9, per the fix in 1.2.10: https://github.com/arvidn/libtorrent/releases/tag/libtorrent-1.2.10 It seems to confirm bugs #3458 new bug "move completed to" doesn't work https://dev.deluge-torrent.org/ticket/3458 #3457 new bug "Move Download Folder" does nothing https://dev.deluge-torrent.org/ticket/3457 Note that this problem came up for me after upgrading Ubuntu from 20.10 to 21.04. I don't want to be a whiner, but this bug is a show-stopper for me, as it means that I can't file any new torrents on my media server. This seems to be a matter of just updating the version of LibTorrent. Any advice on how I can do that without building from source myself would be gratefully appreciated! Debug log when attempting to "Move Download Folder": (Cut & paste from xterm, with the 'move_storage' lines highlighted, so any formatting problems are my fault): =============================================================================================== Unhandled error in Deferred: 21:08:04 [CRITICAL][twisted :154 ] Unhandled error in Deferred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 1649, in main return _Gtk_main(*args, **kwargs) File "/usr/lib/python3/dist-packages/deluge/ui/gtk3/menubar.py", line 368, in on_dialog_response_event client.core.move_storage( File "/usr/lib/python3/dist-packages/deluge/ui/client.py", line 551, in __call__ return self.daemon.call(self.base, *args, **kwargs) File "/usr/lib/python3/dist-packages/deluge/ui/client.py", line 500, in call return defer.maybeDeferred(m, *copy.deepcopy(args), **copy.deepcopy(kwargs)) --- <exception caught here> --- File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 151, in maybeDeferred result = f(*args, **kw) ******* File "/usr/lib/python3/dist-packages/deluge/core/core.py", line 691, in move_storage ******* if not self.torrentmanager[torrent_id].move_storage(dest): ******* File "/usr/lib/python3/dist-packages/deluge/core/torrent.py", line 1248, in move_storage ******* self.handle.move_storage(dest, flags=2) Boost.Python.ArgumentError: Python argument types in torrent_handle.move_storage(torrent_handle, str) did not match C++ signature: move_storage(libtorrent::torrent_handle {lvalue}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > path, libtorrent::move_flags_t flags=libtorrent.move_flags_t.always_replace_files) Temporarily disabling observer LegacyLogObserverWrapper(<bound method TwistedLoggingObserver.emit of <deluge.log.TwistedLoggingObserver object at 0x7fb2264a1370>>) due to exception: [Failure instance: Traceback: <class 'TypeError'>: findCaller() takes from 1 to 2 positional arguments but 3 were given /usr/lib/python3/dist- packages/deluge/ui/gtk3/menubar.py:368:on_dialog_response_event /usr/lib/python3/dist-packages/twisted/internet/defer.py:962:__del__ /usr/lib/python3/dist-packages/twisted/logger/_logger.py:190:failure /usr/lib/python3/dist-packages/twisted/logger/_logger.py:144:emit --- <exception caught here> --- /usr/lib/python3/dist-packages/twisted/logger/_observer.py:131:__call__ /usr/lib/python3/dist-packages/twisted/logger/_legacy.py:93:__call__ /usr/lib/python3/dist-packages/deluge/log.py:204:emit /usr/lib/python3.9/logging/__init__.py:1493:critical /usr/lib/python3.9/logging/__init__.py:1577:_log ] Traceback (most recent call last): File "/usr/lib/python3/dist-packages/deluge/ui/gtk3/menubar.py", line 368, in on_dialog_response_event client.core.move_storage( File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 962, in __del__ log.failure(format, File "/usr/lib/python3/dist-packages/twisted/logger/_logger.py", line 190, in failure self.emit(level, format, log_failure=failure, **kwargs) File "/usr/lib/python3/dist-packages/twisted/logger/_logger.py", line 144, in emit self.observer(event) --- <exception caught here> --- File "/usr/lib/python3/dist-packages/twisted/logger/_observer.py", line 131, in __call__ observer(event) File "/usr/lib/python3/dist-packages/twisted/logger/_legacy.py", line 93, in __call__ self.legacyObserver(event) File "/usr/lib/python3/dist-packages/deluge/log.py", line 204, in emit getattr(LoggingLoggerClass, event_dict['log_level'].name)( File "/usr/lib/python3.9/logging/__init__.py", line 1493, in critical self._log(CRITICAL, msg, args, **kwargs) File "/usr/lib/python3.9/logging/__init__.py", line 1577, in _log fn, lno, func, sinfo = self.findCaller(stack_info, stacklevel) builtins.TypeError: findCaller() takes from 1 to 2 positional arguments but 3 were given =============================================================================================== -- Ticket URL: <https://dev.deluge-torrent.org/ticket/3469> Deluge <https://deluge-torrent.org/> Deluge Project -- You received this message because you are subscribed to the Google Groups "Deluge Dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/deluge-dev/045.3aa00c3c57c3c01cda11d966f5f5d855%40deluge-torrent.org.
