ihabunek / toot

toot - Mastodon CLI & TUI
GNU General Public License v3.0
1.12k stars 107 forks source link

toot tui crashes on launch #462

Open matthewp opened 5 months ago

matthewp commented 5 months ago

OSX 12.4 Python 3.11.7 toot 0.41.1 (from Homebrew)

Here's the stacktrace:

Traceback (most recent call last):
  File "/usr/local/bin/toot", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/toot/cli/__init__.py", line 124, in wrapped
    return f(get_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/toot/cli/tui.py", line 51, in tui
    tui.run()
  File "/usr/local/lib/python3.11/site-packages/toot/tui/app.py", line 154, in run
    self.loop.run()
  File "/usr/local/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 339, in run
    self._run()
  File "/usr/local/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 441, in _run
    self.event_loop.run()
  File "/usr/local/lib/python3.11/site-packages/urwid/event_loop/asyncio_loop.py", line 232, in run
    raise exc.with_traceback(exc.__traceback__)
  File "/usr/local/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/local/lib/python3.11/site-packages/urwid/event_loop/asyncio_loop.py", line 114, in _entering_idle
    callback()
  File "/usr/local/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 648, in entering_idle
    self.draw_screen()
  File "/usr/local/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 666, in draw_screen
    self.screen.draw_screen(self.screen_size, canvas)
  File "/usr/local/lib/python3.11/site-packages/urwid/display/_raw_display_base.py", line 622, in draw_screen
    for row in r.content():
  File "/usr/local/lib/python3.11/site-packages/urwid/canvas.py", line 681, in content
    sbody = shard_body(cviews, shard_tail)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/urwid/canvas.py", line 1005, in shard_body
    raise CanvasError("cviews overflow gaps in shard_tail!")
urwid.canvas.CanvasError: cviews overflow gaps in shard_tail!
Exception ignored in: <module 'threading' from '/usr/local/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py'>
Traceback (most recent call last):
  File "/usr/local/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 1560, in _shutdown
    atexit_call()
  File "/usr/local/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 31, in _python_exit
    t.join()
  File "/usr/local/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 1119, in join
    self._wait_for_tstate_lock()
  File "/usr/local/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 1139, in _wait_for_tstate_lock
    if lock.acquire(block, timeout):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt: 
danschwarz commented 5 months ago

Is this reproducible on your system? I've seen a similar stacktrace one time, but couldn't get it to reproduce.

matthewp commented 5 months ago

Yep, happens every time on one of my computers. Doesn't happen at all on another.

danschwarz commented 1 month ago

What version of Urwid are you running on each computer? I wonder if updating to the latest version will fix the problem.