Page 1 of 1

[deluge-console] move command takes over terminal

Posted: Thu Jul 18, 2019 7:54 pm
by btr74
When I use

Code: Select all

deluge-console move <some-torrent-id> /new/path/to/torrent/
the file is moved, but afterward the console hangs and doesn't return until I keyboard interrupt.

Anyone else experience this? Am I doing something wrong?

Re: [deluge-console] move command takes over terminal

Posted: Thu Jul 18, 2019 11:57 pm
by mhertz
Just tested this on latest stable deluge and libtorrent and you're correct. After some time hanging and without me killing it manually, then I captured this output:

Code: Select all

martin@arch ~ % delu move a* /home/martin/Downloads/temp
Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/deluge/common.py", line 1344, in run_profiled
    return func(*args)
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/console.py", line 159, in run
    return c.start_ui()
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/main.py", line 123, in start_ui
    reactor.run()
  File "/usr/lib/python3.7/site-packages/twisted/internet/base.py", line 1272, in run
    self.mainLoop()
--- <exception caught here> ---
  File "/usr/lib/python3.7/site-packages/twisted/internet/base.py", line 1284, in mainLoop
    self.doIteration(t)
  File "/usr/lib/python3.7/site-packages/twisted/internet/epollreactor.py", line 218, in doPoll
    l = self._poller.poll(timeout, len(self._selectables))
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/main.py", line 284, in on_terminal_size
    rows, cols = super(ConsoleUI, self).on_terminal_size(args)
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/modes/basemode.py", line 77, in on_terminal_size
    curses.resizeterm(rows, cols)
_curses.error: must call initscr() first

01:29:23 [CRITICAL][twisted                                               :154 ] Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/deluge/common.py", line 1344, in run_profiled
    return func(*args)
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/console.py", line 159, in run
    return c.start_ui()
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/main.py", line 123, in start_ui
    reactor.run()
  File "/usr/lib/python3.7/site-packages/twisted/internet/base.py", line 1272, in run
    self.mainLoop()
--- <exception caught here> ---
  File "/usr/lib/python3.7/site-packages/twisted/internet/base.py", line 1284, in mainLoop
    self.doIteration(t)
  File "/usr/lib/python3.7/site-packages/twisted/internet/epollreactor.py", line 218, in doPoll
    l = self._poller.poll(timeout, len(self._selectables))
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/main.py", line 284, in on_terminal_size
    rows, cols = super(ConsoleUI, self).on_terminal_size(args)
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/modes/basemode.py", line 77, in on_terminal_size
    curses.resizeterm(rows, cols)
_curses.error: must call initscr() first

Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/deluge/common.py", line 1344, in run_profiled
    return func(*args)
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/console.py", line 159, in run
    return c.start_ui()
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/main.py", line 123, in start_ui
    reactor.run()
  File "/usr/lib/python3.7/site-packages/twisted/internet/base.py", line 1272, in run
    self.mainLoop()
--- <exception caught here> ---
  File "/usr/lib/python3.7/site-packages/twisted/internet/base.py", line 1284, in mainLoop
    self.doIteration(t)
  File "/usr/lib/python3.7/site-packages/twisted/internet/epollreactor.py", line 218, in doPoll
    l = self._poller.poll(timeout, len(self._selectables))
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/main.py", line 284, in on_terminal_size
    rows, cols = super(ConsoleUI, self).on_terminal_size(args)
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/modes/basemode.py", line 77, in on_terminal_size
    curses.resizeterm(rows, cols)
_curses.error: must call initscr() first

01:29:47 [CRITICAL][twisted                                               :154 ] Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/deluge/common.py", line 1344, in run_profiled
    return func(*args)
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/console.py", line 159, in run
    return c.start_ui()
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/main.py", line 123, in start_ui
    reactor.run()
  File "/usr/lib/python3.7/site-packages/twisted/internet/base.py", line 1272, in run
    self.mainLoop()
--- <exception caught here> ---
  File "/usr/lib/python3.7/site-packages/twisted/internet/base.py", line 1284, in mainLoop
    self.doIteration(t)
  File "/usr/lib/python3.7/site-packages/twisted/internet/epollreactor.py", line 218, in doPoll
    l = self._poller.poll(timeout, len(self._selectables))
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/main.py", line 284, in on_terminal_size
    rows, cols = super(ConsoleUI, self).on_terminal_size(args)
  File "/usr/lib/python3.7/site-packages/deluge/ui/console/modes/basemode.py", line 77, in on_terminal_size
    curses.resizeterm(rows, cols)
_curses.error: must call initscr() first



Re: [deluge-console] move command takes over terminal

Posted: Mon May 29, 2023 3:19 pm
by jacko
I am able to reproduce this with

Code: Select all

deluge-console 2.0.3
libtorrent: 2.0.5.0
Python: 3.10.6
OS: Linux Ubuntu 22.04 Jammy Jellyfish


The move operation completes successfully but the `deluge-console ... move` command does not exit.

Re: [deluge-console] move command takes over terminal

Posted: Thu Mar 28, 2024 1:18 am
by basecase
This bug is still present.

Re: [deluge-console] move command takes over terminal

Posted: Fri Mar 29, 2024 9:55 pm
by mhertz

Re: [deluge-console] move command takes over terminal

Posted: Sun Apr 07, 2024 11:21 pm
by shinger
Hello btr74,

If you have installed tmux, open it and then execute the command. So at least whatever happens to your terminal session will not effect the execution of your command until this bug is fixed. Tmux or screen are life savers in such cases.