nyx crashes on startup with `ValueError: Input needs to be a non-negative integer, got '-33538'`
When running as the same user that the Tor daemon runs under, Nyx is crashing at startup on my FreeBSD 12 relay:
$ nyx --version
nyx version 2.0.4 (released November 5, 2017)
$ pkg info -d py36-nyx
py36-nyx-2.0.4_1:
py36-stem-1.7.1_1
python36-3.6.9
py36-setuptools-41.2.0
py36-sqlite3-3.6.9_7
$ python --version
Python 3.6.9
$ freebsd-version
11.3-RELEASE-p5
$ sudo -u _tor nyx
Exception in thread Thread-7:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.6/site-packages/nyx/__init__.py", line 740, in halt_panels
panel.join()
File "/usr/local/lib/python3.6/threading.py", line 1051, in join
raise RuntimeError("cannot join thread before it is started")
RuntimeError: cannot join thread before it is started
Traceback (most recent call last):
File "/usr/local/bin/nyx", line 11, in <module>
load_entry_point('nyx==2.0.4', '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 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.6/site-packages/nyx/curses.py", line 217, 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 215, in _wrapper
function()
File "/usr/local/lib/python3.6/site-packages/nyx/__init__.py", line 200, in draw_loop
interface.redraw()
File "/usr/local/lib/python3.6/site-packages/nyx/__init__.py", line 716, in redraw
panel.redraw(force = force, top = occupied)
File "/usr/local/lib/python3.6/site-packages/nyx/panel/__init__.py", line 175, in redraw
self._last_draw_size = nyx.curses.draw(self._draw, top = self._top, height = self.get_height(), draw_if_resized = draw_dimension)
File "/usr/local/lib/python3.6/site-packages/nyx/curses.py", line 746, in draw
func(_Subwindow(subwindow_width, subwindow_height, curses_subwindow))
File "/usr/local/lib/python3.6/site-packages/nyx/panel/graph.py", line 586, in _draw
_draw_accounting_stats(subwindow, DEFAULT_CONTENT_HEIGHT + subgraph_height - 2, accounting_stats)
File "/usr/local/lib/python3.6/site-packages/nyx/panel/graph.py", line 708, in _draw_accounting_stats
subwindow.addstr(35, y, 'Time to reset: %s' % str_tools.short_time_label(accounting.time_until_reset))
File "/usr/local/lib/python3.6/site-packages/stem/util/str_tools.py", line 420, in short_time_label
raise ValueError("Input needs to be a non-negative integer, got '%i'" % seconds)
ValueError: Input needs to be a non-negative integer, got '-33538'
Logs don't show an upgrade to the Nyx package in a while, so I think this might be some compatibility problems with the dependencies.
Trac:
Username: strugee