stig icon indicating copy to clipboard operation
stig copied to clipboard

Occasional crash scrolling to settings bottom

Open BachoSeven opened this issue 4 years ago • 1 comments

On: last development version After a while, I could not reproduce this anymore, but I got this error a few times when scrolling to the bottom of the settings (and continuing to scroll):

Traceback (most recent call last):
  File "/home/francesco/.local/bin/stig", line 8, in <module>
    sys.exit(run())
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/stig/__init__.py", line 25, in run
    main.run()
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/stig/main.py", line 101, in run
    if not tui.run(run_commands):
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/stig/tui/main.py", line 60, in run
    tuiobjects.urwidloop.run()
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/stig/tui/urwidpatches.py", line 175, in run
    raise self._exc_info
  File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/main_loop.py", line 1454, in faux_idle_callback
    callback()
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/main_loop.py", line 574, in entering_idle
    self.draw_screen()
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/main_loop.py", line 588, in draw_screen
    canvas = self._topmost_widget.render(self.screen_size, focus=True)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 1761, in render
    canv = get_delegate(self).render(size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/container.py", line 1560, in render
    canv = w.render((maxcol, rows), focus=focus and item_focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/stig/tui/tabs.py", line 138, in render
    canvas = current_widget.render(size_content, focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/stig/tui/views/base.py", line 251, in render
    return super().render(size, focus=True)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 1761, in render
    canv = get_delegate(self).render(size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/container.py", line 1560, in render
    canv = w.render((maxcol, rows), focus=focus and item_focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 145, in cached_render
    canv = fn(self, size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/decoration.py", line 226, in render
    canv = self._original_widget.render(size, focus=focus)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 146, in cached_render
    validate_size(self, size, canv)
  File "/home/francesco/.local/pipx/venvs/stig/lib/python3.8/site-packages/urwid/widget.py", line 114, in validate_size
    raise WidgetError("Widget %r rendered (%d x %d) canvas"
urwid.widget.WidgetError: Widget <ScrollBar selectable box widget <AttrMap selectable box widget <ListBox_patched_Keymapped selectable box widget> attr_map={None: 'settinglist'}>> rendered (64 x 43) canvas when passed size (64, 42)!

BachoSeven avatar May 20 '20 10:05 BachoSeven

Pretty sure I've also seen this bug. This bug could hide potentially anywhere, maybe even in an upstream library.

Unless someone finds a way to reproduce this reliably, I'm not going to spend any time on this, especially because I'm planning on rewriting the TUI with a different library.

But let's keep this open just to prevent duplicate reports.

rndusr avatar May 20 '20 11:05 rndusr