nwg-piotr/azote

Segmentation fault on release and master versions

Fogapod opened this issue · 11 comments

Describe the bug

$ python azote/main.py
[1]    71532 segmentation fault (core dumped)  python azote/main.py

To Reproduce
Steps to reproduce the behavior:

  1. use azote with any arguments or without: $ azote $ azote --version $ python azote/main.py

Expected behavior
No error

Desktop (please complete the following information):

  • Linux distribution: Arch
  • WM: i3, xorg

Azote version (please state it clearly if you use -git version):

  • latest release and master branch

This line is causing segfault:

from PIL import Image, ImageOps

Adding import sys;sys.exit(1) in front of it stops segfaults.
Looks like it's not azote issue.

Though this works:

$ python
Python 3.9.6 (default, Jun 30 2021, 10:22:16)
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from PIL import Image, ImageOps
>>>

Haven't you by any chance installed the PIL library with pip install pil?

What do you mean? I have Pillow installed.

from PIL import __version__
>>> print(__version__)
8.3.1

python-pillow is the fork of the PIL library, which we need. PIL is in conflict with python-pillow.

I don't have old 2006 library as I shown in previous message

Well, no idea at the moment. Works for me as well on sway, as X11. Since it dies for you that early, I suppose you have nothing in ~/.local/share/azote/log.txt?

No, nothing, since it dies on import phase, not even getting to main()

So this sequence of imports reliably produces segfault for me:

from PIL import Image
from gi.repository import Gtk
from PIL import ImageOps

I created issue in Pillow repo: python-pillow/Pillow#5637

BTW: ImageOps seems to be unnecessary. I'll check again to make sure, but it seems I should delete it.

Yeah, they are not used. Removing ImageOps fixes issue for me

Very well. I'll remove them.