[tor-bugs] #25302 [Core Tor/Nyx]: Cannot quit after using Control Interpreter

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Feb 19 21:54:42 UTC 2018


#25302: Cannot quit after using Control Interpreter
------------------------------+--------------------
     Reporter:  slopdog       |      Owner:  atagar
         Type:  defect        |     Status:  new
     Priority:  Low           |  Milestone:
    Component:  Core Tor/Nyx  |    Version:
     Severity:  Normal        |   Keywords:
Actual Points:                |  Parent ID:
       Points:                |   Reviewer:
      Sponsor:                |
------------------------------+--------------------
 '''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 <module>
 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.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25302>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list