Cannot quit after using Control Interpreter
Overview:
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.
Expected Results:
Program should exit and return to the original shell.
Actual Results:
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
Misc Info:
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.
Trac:
Username: slopdog