isamert / scli

a simple terminal user interface for signal messenger (using signal-cli)
GNU General Public License v3.0
432 stars 40 forks source link

Crash report #179

Open mark2185 opened 2 years ago

mark2185 commented 2 years ago

I'm managing to crash consistently.

  1. ./scli --save-history --enable-notifications --show-names --notification-command "notify-send -i '%a' scli '%s'"
  2. <TAB> to focus messages
  3. /something
  4. <ESC>

Result:

 ~/Downloads/gits/scli   develop  ./scli --save-history --enable-notifications --show-names --notification-command "notify-send -i '%a' scli '%s'"
Traceback (most recent call last):
  File "/home/mark/Downloads/gits/scli/./scli", line 5249, in <module>
    main()
  File "/home/mark/Downloads/gits/scli/./scli", line 5243, in main
    loop.run()
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 790, in run
    self._loop()
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 823, in _loop
    alarm_callback()
  File "/usr/lib/python3.10/site-packages/urwid/raw_display.py", line 500, in _parse_incomplete_input
    self.parse_input(
  File "/usr/lib/python3.10/site-packages/urwid/raw_display.py", line 515, in parse_input
    callback(processed, processed_codes)
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 412, in _update
    self.process_input(keys)
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 513, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/home/mark/Downloads/gits/scli/./scli", line 3943, in keypress
    key = super().keypress(size, key)
  File "/usr/lib/python3.10/site-packages/urwid/container.py", line 1135, in keypress
    return self.body.keypress( (maxcol, remaining), key )
  File "/usr/lib/python3.10/site-packages/urwid/container.py", line 2316, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/home/mark/Downloads/gits/scli/./scli", line 3830, in keypress
    key = super().keypress(size, key)
  File "/usr/lib/python3.10/site-packages/urwid/container.py", line 1626, in keypress
    key = self.focus.keypress(tsize, key)
  File "/usr/lib/python3.10/site-packages/urwid/container.py", line 2316, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/home/mark/Downloads/gits/scli/./scli", line 3437, in keypress
    return self.input_line_w.keypress(size, key)
  File "/home/mark/Downloads/gits/scli/./scli", line 2933, in keypress
    key = super().keypress(size, key)
  File "/home/mark/Downloads/gits/scli/./scli", line 2834, in keypress
    return super().keypress(size, key)
  File "/usr/lib/python3.10/site-packages/urwid/widget.py", line 1474, in keypress
    (maxcol,) = size
ValueError: too many values to unpack (expected 1)
exquo commented 2 years ago

Thanks for the report! I've tried it, but couldn't reproduce the error.. I've added some debugging output in the hotfix/179 branch. Could you try checking it out, run scli with an additional --debug flag, and reproduce the crash. The log should be in ~/.local/share/scli/log. Remember to edit out private info (like your phone number). You can also try running with --no-daemon, since this is not a signal-cli issue.

mark2185 commented 2 years ago

No problem!

Here's the log in its entirety.

INFO:root:scli 0.7.0-2-g506ca72
DEBUG:root:urwid 2.1.2
DEBUG:root:python 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0]
DEBUG:root:script hash: 038868f8d7a1e8167bd8282ab07331df00b1d6f3
DEBUG:root:signal-cli account: linked device
DEBUG:root:MainWindow.keypress: key = `enter`, size = (211, 38)
DEBUG:root:MainWindow.keypress: key = `/`, size = (211, 38)
DEBUG:root:PopUpPlaceholder.keypress: key = `/`, size = (158, 37)
DEBUG:root:ChatWindow.keypress: key = `/`, size = (156, 35)
DEBUG:root:InputLine.keypress: key = `/`, size = (156,)
DEBUG:root:BracketedPasteEdit: InputLine.keypress: key = `/`, size = (156,)
DEBUG:root: ... sending to <super: <class 'BracketedPasteEdit'>, <InputLine object>>: <class 'urwid.widget.Edit'>
DEBUG:root:MainWindow.keypress: key = `i`, size = (211, 38)
DEBUG:root:PopUpPlaceholder.keypress: key = `i`, size = (158, 37)
DEBUG:root:ChatWindow.keypress: key = `i`, size = (156, 35)
DEBUG:root:InputLine.keypress: key = `i`, size = (156,)
DEBUG:root:BracketedPasteEdit: InputLine.keypress: key = `i`, size = (156,)
DEBUG:root: ... sending to <super: <class 'BracketedPasteEdit'>, <InputLine object>>: <class 'urwid.widget.Edit'>
DEBUG:root:MainWindow.keypress: key = `z`, size = (211, 38)
DEBUG:root:PopUpPlaceholder.keypress: key = `z`, size = (158, 37)
DEBUG:root:ChatWindow.keypress: key = `z`, size = (156, 35)
DEBUG:root:InputLine.keypress: key = `z`, size = (156,)
DEBUG:root:BracketedPasteEdit: InputLine.keypress: key = `z`, size = (156,)
DEBUG:root: ... sending to <super: <class 'BracketedPasteEdit'>, <InputLine object>>: <class 'urwid.widget.Edit'>
DEBUG:root:MainWindow.keypress: key = `enter`, size = (211, 38)
DEBUG:root:PopUpPlaceholder.keypress: key = `enter`, size = (158, 37)
DEBUG:root:ChatWindow.keypress: key = `enter`, size = (156, 35)
DEBUG:root:InputLine.keypress: key = `enter`, size = (156,)
DEBUG:root:BracketedPasteEdit: InputLine.keypress: key = `enter`, size = (156,)
DEBUG:root:MainWindow.keypress: key = `esc`, size = (211, 38)
DEBUG:root:PopUpPlaceholder.keypress: key = `esc`, size = (158, 37)
DEBUG:root:ChatWindow.keypress: key = `esc`, size = (156, 35)
DEBUG:root:InputLine.keypress: key = `esc`, size = (156, 35)
DEBUG:root:BracketedPasteEdit: InputLine.keypress: key = `esc`, size = (156, 35)
DEBUG:root: ... sending to <super: <class 'BracketedPasteEdit'>, <InputLine object>>: <class 'urwid.widget.Edit'>

I started scli with:

./scli --save-history --enable-notifications --show-names --notification-command "notify-send -i '%a' scli '%s'" --debug --no-daemon

Pressed <Enter> to enter a chat, searched for iz with /iz, pressed <Enter> again, then <Esc> and crash.

Traceback:

Traceback (most recent call last):
  File "/home/mark/Downloads/gits/scli/./scli", line 5263, in <module>
    main()
  File "/home/mark/Downloads/gits/scli/./scli", line 5257, in main
    loop.run()
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 790, in run
    self._loop()
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 823, in _loop
    alarm_callback()
  File "/usr/lib/python3.10/site-packages/urwid/raw_display.py", line 500, in _parse_incomplete_input
    self.parse_input(
  File "/usr/lib/python3.10/site-packages/urwid/raw_display.py", line 515, in parse_input
    callback(processed, processed_codes)
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 412, in _update
    self.process_input(keys)
  File "/usr/lib/python3.10/site-packages/urwid/main_loop.py", line 513, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/home/mark/Downloads/gits/scli/./scli", line 3949, in keypress
    key = super().keypress(size, key)
  File "/usr/lib/python3.10/site-packages/urwid/container.py", line 1135, in keypress
    return self.body.keypress( (maxcol, remaining), key )
  File "/usr/lib/python3.10/site-packages/urwid/container.py", line 2316, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/home/mark/Downloads/gits/scli/./scli", line 3835, in keypress
    key = super().keypress(size, key)
  File "/usr/lib/python3.10/site-packages/urwid/container.py", line 1626, in keypress
    key = self.focus.keypress(tsize, key)
  File "/usr/lib/python3.10/site-packages/urwid/container.py", line 2316, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/home/mark/Downloads/gits/scli/./scli", line 3441, in keypress
    return self.input_line_w.keypress(size, key)
  File "/home/mark/Downloads/gits/scli/./scli", line 2936, in keypress
    key = super().keypress(size, key)
  File "/home/mark/Downloads/gits/scli/./scli", line 2836, in keypress
    return super().keypress(size, key)
  File "/usr/lib/python3.10/site-packages/urwid/widget.py", line 1474, in keypress
    (maxcol,) = size
ValueError: too many values to unpack (expected 1)