torproject / nyx

Command-line monitor for Tor.
https://nyx.torproject.org/
GNU General Public License v3.0
123 stars 26 forks source link

Python error and program crash when pressing "m" menu key #8

Open atagar opened 4 years ago

atagar commented 4 years ago

Migrated from ticket 30465.

Running system:

FreeBSD hostname 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC amd64

Packages:

tor-0.3.5.8
nyx-2.1.0
py36-stem-1.7.1

When I run Nyx and press the "m" key for the menu, I get the following error:

Traceback (most recent call last):
  File "/usr/local/bin/nyx", line 11, in <module>
    load_entry_point('nyx==2.1.0', 'console_scripts', 'nyx')()
  File "/usr/local/lib/python3.6/site-packages/nyx/__init__.py", line 176, in main
    nyx.starter.main()
  File "/usr/local/lib/python3.6/site-packages/stem/util/conf.py", line 289, in wrapped
    return func(*args, config = config, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/nyx/starter.py", line 128, in main
    nyx.curses.start(nyx.draw_loop, acs_support = config.get('acs_support', True), transparent_background = True, cursor = False)
  File "/usr/local/lib/python3.6/site-packages/nyx/curses.py", line 219, in start
    curses.wrapper(_wrapper)
  File "/usr/local/lib/python3.6/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
  File "/usr/local/lib/python3.6/site-packages/nyx/curses.py", line 217, in _wrapper
    function()
  File "/usr/local/lib/python3.6/site-packages/nyx/__init__.py", line 221, in draw_loop
    nyx.menu.show_menu()
  File "/usr/local/lib/python3.6/site-packages/nyx/menu.py", line 210, in show_menu
    selection_x = _draw_top_menubar(menu, cursor.selection)
  File "/usr/local/lib/python3.6/site-packages/nyx/menu.py", line 296, in _draw_top_menubar
    nyx.curses.draw(_render, height = 1, background = RED)
  File "/usr/local/lib/python3.6/site-packages/nyx/curses.py", line 758, in draw
    curses_subwindow.bkgd(' ', curses_attr(background, HIGHLIGHT))
  File "/usr/local/lib/python3.6/site-packages/nyx/curses.py", line 440, in curses_attr
    encoded |= _color_attr()[override if override else attr]
KeyError: 'none'