rliou92 / python-umonitor

Manage monitor configuration automatically.
MIT License
38 stars 6 forks source link

UnicodeDecodeError preventing usage #9

Open theswampire opened 2 years ago

theswampire commented 2 years ago

I just encountered this exception on a fresh install of python-umonitor. autorandr was previously installed. I have not saved any profiles yet and it prevents from doing so. On Archcraft, installed using yay. Edit: tried using python setup.py install but no difference.

~$: umonitor --verbose
INFO:root:Connected to X11 server.
INFO:root:Output name b'DP-00\x7f'
INFO:root:Finished edid_to_string on output b'ACR0XV272U XV272'
INFO:root:Output name b'eDP-1-10\xf0u\xa2\xd5\xe9\x7f'
Traceback (most recent call last):
  File "/usr/bin/umonitor", line 33, in <module>
    sys.exit(load_entry_point('umonitor==20181018', 'console_scripts', 'umonitor')())
  File "/usr/lib/python3.9/site-packages/umonitor/__init__.py", line 23, in main
    umon.run()
  File "/usr/lib/python3.9/site-packages/umonitor/umonitor.py", line 53, in run
    self.view_current_status()
  File "/usr/lib/python3.9/site-packages/umonitor/umonitor.py", line 195, in view_current_status
    self.setup_info = self.get_setup_info()
  File "umonitor/screen.pyx", line 417, in screen.Screen.get_setup_info
  File "umonitor/screen.pyx", line 106, in screen.Screen._get_output_info
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf0 in position 8: invalid continuation byte
quinn-brittain commented 2 years ago

Same issue on Archlinux. Was installed and working previously. Broke after upgrading packages at some point.

[xxx@arch ~]$ umonitor -a
Traceback (most recent call last):
  File "/usr/bin/umonitor", line 33, in <module>
    sys.exit(load_entry_point('umonitor==20181018', 'console_scripts', 'umonitor')())
  File "/usr/lib/python3.9/site-packages/umonitor/__init__.py", line 23, in main
    umon.run()
  File "/usr/lib/python3.9/site-packages/umonitor/umonitor.py", line 38, in run
    self.autoload()
  File "/usr/lib/python3.9/site-packages/umonitor/umonitor.py", line 181, in autoload
    self.setup_info = self.get_setup_info()
  File "umonitor/screen.pyx", line 417, in screen.Screen.get_setup_info
  File "umonitor/screen.pyx", line 106, in screen.Screen._get_output_info
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe6 in position 4: invalid continuation byte
quinn-brittain commented 2 years ago

Command will work correctly sometimes but will fail other times. This was within a few seconds.

2021-12-09-16:44:16-screenshot

rliou92 commented 2 years ago

I just rebuilt screen.c.

Try the newest version and see if the error still happens.

quinn-brittain commented 2 years ago

The latest rebuild fixed the issue on my distro.

quinn-brittain commented 2 years ago

Both installing from AUR and from git function now without the UnicodeDecodeError.