wustho / epy

CLI Ebook (epub2, epub3, fb2, mobi) Reader
GNU General Public License v3.0
928 stars 52 forks source link

epy crashed when changing the size of the terminal #61

Closed rekinyz closed 1 year ago

rekinyz commented 1 year ago

got following error msg:

_curses.error: addwstr() returned ERR

wustho commented 1 year ago

That's pretty strange... Somehow I cannot recreate the issue when resizing.

Can you elaborate step by step to reproduce the error?

rekinyz commented 1 year ago
  1. installed python 3.9.13 with asdf-vm
  2. tested on two different laptops with pure ubuntu and wsl2 respectively.
  3. created a clean python 3.9.13 .venv
  4. installed epy-reader latest version which is (2022.4.18) with poetry
  5. opened up randomly an .epub
  6. tried to resize terminal window
  7. epy crashed
Traceback (most recent call last):
  File "/home/user/.venv/bin/epy", line 8, in <module>
    sys.exit(main())
  File "/home/user/.venv/lib/python3.9/site-packages/epy.py", line 3988, in main
    filepath = curses.wrapper(preread, filepath)
  File "/home/user/.asdf/installs/python/3.9.13/lib/python3.9/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
  File "/home/user/.venv/lib/python3.9/site-packages/epy.py", line 3887, in preread
    reading_state_or_ebook = reader.read(reading_state)
  File "/home/user/.venv/lib/python3.9/site-packages/epy.py", line 3156, in read
    board.write(reading_state.row)
  File "/home/user/.venv/lib/python3.9/site-packages/epy.py", line 1715, in write
    self.screen.addstr(n_row, self.x, text_line)
_curses.error: addwstr() returned ERR
wustho commented 1 year ago

Thanks for complete traceback! Will look into that.

Another question, does it work for other epub file?

rekinyz commented 1 year ago

nope, tested on diverse epub files and even with different languages

3N4N commented 1 year ago

I also cannot reproduce. In Ubuntu 20.04 with python 3, epy handles resizing terminal beautifully.

Although, in Windows, resizing the terminal garbles the screen and remains garbled when resized back to original size. But I suspect that's a Windows-specific (win-curses) issue.

indam commented 1 year ago

Having the same issue here, crashes with this book when I turn to content pages, manjaro linux. https://drive.google.com/file/d/1thTzyoGivHRBOa-yr1mys7-3W15PGHVe/view?usp=sharing

wustho commented 1 year ago

This seems to be a bug with python's curses itself: https://bugs.python.org/issue8243

Kinda fixed it for epy version v2023.2.8, so if you guys want to try upgrading it via pip and let me know if the issue still persist.

indam commented 1 year ago

This seems to be a bug with python's curses itself: https://bugs.python.org/issue8243

Kinda fixed it for epy version v2023.2.8, so if you guys want to try upgrading it via pip and let me know if the issue still persist.

Thank you for your great work, this issue was fixed.