[tor-bugs] #26584 [Core Tor/Nyx]: crash on startup with insufficient terminal sized

Tor Bug Tracker & Wiki blackhole at torproject.org
Sat Jun 30 11:59:16 UTC 2018


#26584: crash on startup with insufficient terminal sized
------------------------------+------------------------------
     Reporter:  kn            |      Owner:  atagar
         Type:  defect        |     Status:  new
     Priority:  Medium        |  Milestone:
    Component:  Core Tor/Nyx  |    Version:  Tor: unspecified
     Severity:  Normal        |   Keywords:  terminal size
Actual Points:                |  Parent ID:
       Points:                |   Reviewer:
      Sponsor:                |
------------------------------+------------------------------
 On OpenBSD/sparc64 -current, nyx 2.0.4 dumps the following trace if the
 controlling terminal is too small.

 I'd expect this exit gracefully or show a limited view that fits.

 {{{
 $ echo $TERM
 screen
 $ resize
 COLUMNS=105;
 LINES=13;
 export COLUMNS LINES;
 $ nyx-relay
 Exception in thread Thread-6:
 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 740,
 in draw
     curses_subwindow = CURSES_SCREEN.subwin(subwindow_height,
 subwindow_width, top, left)
 _curses.error: curses function returned NULL
 }}}

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


More information about the tor-bugs mailing list