Cannot quit after using Control Interpreter
After using the control interpreter to send a command and returning to the graph screen, 'qq' does not exit to shell. Nyx seems to get stuck and never exits.
Steps to Reproduce:
Run nyx, cycle through to Control Interpreter, press [Enter] to start interpreter, type SIGNAL RELOAD[Enter], Press [Enter] to quit, cycle back to graph panel, type 'qq' to quit. Window disappears but hangs and never exits back to shell.
Program should exit and return to the original shell.
Nyx disappears but does not return control to shell.
Pressing control-C from here yields:
Traceback (most recent call last): File "/bin/nyx", line 9, in load_entry_point('nyx==2.0.4', 'console_scripts', 'nyx')() File "/usr/lib/python3.4/site-packages/nyx/!init!.py", line 176, in main nyx.starter.main() File "/usr/lib/python3.4/site-packages/stem/util/conf.py", line 289, in wrapped return func(*args, config = config, **kwargs) File "/usr/lib/python3.4/site-packages/nyx/starter.py", line 123, in main _shutdown_daemons(controller) File "/usr/lib/python3.4/site-packages/nyx/starter.py", line 239, in _shutdown_daemons controller.close() File "/usr/lib/python3.4/site-packages/stem/control.py", line 1083, in close super(Controller, self).close() File "/usr/lib/python3.4/site-packages/stem/control.py", line 746, in close t.join() File "/usr/lib64/python3.4/threading.py", line 1051, in join self._wait_for_tstate_lock() File "/usr/lib64/python3.4/threading.py", line 1067, in _wait_for_tstate_lock elif lock.acquire(block, timeout): KeyboardInterrupt
Nyx Version: nyx version 2.0.4 (released November 5, 2017) OS: CentOS Linux release 7.4.1708 (Core) Kernel: 4.4.96-mainline-rev1 Python version: Python 3.4.5 (default, Dec 11 2017, 14:22:24) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] Nyx installed via npm.
I run nyx using: sudo -u tor nyx
Additionally, the direction by which you access the control interpreter and subsequently the graph screen may matter.
If I go "left" from Screen 1 to Screen 5, use the interpreter, exit it, then go left to screen 4 all the way to 1, qq seems to return to shell normally.
If I go "left" from Screen 1 to Screen 5, use the interpreter, exit it, then go right from screen 5 to 1, qq hangs with the symptoms described above.