[tor-bugs] #28332 [Core Tor/Nyx]: Nyx configurashion editor reproducibly crashes if custom ordering is set

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Nov 5 17:23:12 UTC 2018


#28332: Nyx configurashion editor reproducibly crashes if custom ordering is set
--------------------------+------------------------------
 Reporter:  wagon         |          Owner:  atagar
     Type:  defect        |         Status:  assigned
 Priority:  Medium        |      Component:  Core Tor/Nyx
  Version:  Tor: 0.3.4.9  |       Severity:  Normal
 Keywords:  config        |  Actual Points:
Parent ID:                |         Points:
 Reviewer:                |        Sponsor:
--------------------------+------------------------------
 Nyx 2.0.4 at Linux. How to reproduce:
   1. Go to configuration editor.
   2. Press `s` and select the following order: `Is Set`, `Name`,
 `Description`.
   3. "Toggle filtering" by pressing `a`.
   4. Nyx immediately crashes with the following log:
 {{{
 Traceback (most recent call last):
   File "/usr/local/bin/nyx", line 9, in <module>
     load_entry_point('nyx==2.0.4', 'console_scripts', 'nyx')()
   File "/usr/local/lib/python3.4/dist-packages/nyx/__init__.py", line 176,
 in main
     nyx.starter.main()
   File "/usr/local/lib/python3.4/dist-packages/stem/util/conf.py", line
 289, in wrapped
     return func(*args, config = config, **kwargs)
   File "/usr/local/lib/python3.4/dist-packages/nyx/starter.py", line 118,
 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.4/dist-packages/nyx/curses.py", line 217,
 in start
     curses.wrapper(_wrapper)
   File "/usr/lib/python3.4/curses/__init__.py", line 94, in wrapper
     return func(stdscr, *args, **kwds)
   File "/usr/local/lib/python3.4/dist-packages/nyx/curses.py", line 215,
 in _wrapper
     function()
   File "/usr/local/lib/python3.4/dist-packages/nyx/__init__.py", line 243,
 in draw_loop
     keybinding.handle(key)
   File "/usr/local/lib/python3.4/dist-packages/nyx/panel/__init__.py",
 line 84, in handle
     self._action()
   File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line
 258, in _toggle_show_all
     self._sort_content()
   File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line
 325, in _sort_content
     self._all_content = sorted(self._all_content, key = lambda entry:
 [entry.sort_value(field) for field in self._sort_order])
   File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line
 325, in <lambda>
     self._all_content = sorted(self._all_content, key = lambda entry:
 [entry.sort_value(field) for field in self._sort_order])
   File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line
 325, in <listcomp>
     self._all_content = sorted(self._all_content, key = lambda entry:
 [entry.sort_value(field) for field in self._sort_order])
   File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line
 128, in sort_value
     return self.description
   File "/usr/local/lib/python3.4/dist-packages/nyx/panel/config.py", line
 148, in description
     return getattr(manual(self.name), 'description')
 AttributeError: 'NoneType' object has no attribute 'description'
 }}}
 I guess it would also crash with many other types of ordering.

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


More information about the tor-bugs mailing list