I'm trying to test Tkinter and Pillow on MINGW64 but I get a Segmentation fault.
The following minimal example works and shows an empty window:
import tkinter
top = tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
This one produces a segfault:
# tkinter_pillow.py
from tkinter import Tk, Frame, BOTH
from PIL import Image, ImageTk
class Example(Frame):
def __init__(self):
super().__init__()
self.master.title("High Tatras")
self.pack(fill=BOTH, expand=1)
self.img = Image.open("test.jpg")
self.tatras = ImageTk.PhotoImage(self.img)
root = Tk()
ex = Example()
root.mainloop()
It should show nothing, because it's incomplete, but it should not crash.
I tried the following example too: https://raw.githubusercontent.com/python-pillow/Pillow/3.0.x/Scripts/viewer.py. It also produces a Segmentation fault.
How to reproduce
I tried the following in a fresh https://github.com/msys2/msys2-installer/releases/download/nightly-x86_64/msys2-base-x86_64-latest.tar.xz:
# pacman -Syu
...
# pacman -S mingw-w64-x86_64-python-pip
...
# pacman -S mingw-w64-x86_64-python-pillow
...
# python3 tkinter_pillow.py
Segmentation fault
# python3 viewer.py test.jpg
Segmentation fault
# pacman -S mingw-w64-x86_64-python-pytest
...
# git clone https://github.com/python-pillow/Pillow
...
# cd Pillow
# PYTHONPATH=$(pwd) python3 -m pytest Tests/test_imagetk.py
============================= test session starts =============================
platform win32 -- Python 3.8.6, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
pytest_report_header failed: pilinfo() got an unexpected keyword argument 'supported_formats'
rootdir: C:/Users/eine/Downloads/tkinter/Pillow, inifile: setup.cfg
collected 4 items
Tests/test_imagetk.py .Windows fatal exception: access violation
Current thread 0x00007714 (most recent call first):
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/PIL/ImageTk.py", line 203 in paste
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/PIL/ImageTk.py", line 121 in __init__
File "C:/Users/eine/Downloads/tkinter/Pillow/Tests/test_imagetk.py", line 61 in test_photoimage
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/python.py", line 184 in pytest_pyfunc_call
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/python.py", line 1479 in runtest
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/runner.py", line 135 in pytest_runtest_call
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/runner.py", line 217 in <lambda>
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/runner.py", line 244 in from_call
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/runner.py", line 216 in call_runtest_hook
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/runner.py", line 186 in call_and_report
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/runner.py", line 100 in runtestprotocol
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/runner.py", line 85 in pytest_runtest_protocol
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/main.py", line 272 in pytest_runtestloop
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/main.py", line 247 in _main
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/main.py", line 191 in wrap_session
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/main.py", line 240 in pytest_cmdline_main
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/callers.py", line 187 in _multicall
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 84 in <lambda>
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/manager.py", line 93 in _hookexec
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pluggy/hooks.py", line 286 in __call__
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/_pytest/config/__init__.py", line 124 in main
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/site-packages/pytest/__main__.py", line 7 in <module>
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/runpy.py", line 87 in _run_code
File "C:/Users/eine/Downloads/msys64/mingw64/lib/python3.8/runpy.py", line 194 in _run_module_as_main
Segmentation fault
I'm trying to test Tkinter and Pillow on MINGW64 but I get a Segmentation fault.
The following minimal example works and shows an empty window:
This one produces a segfault:
It should show nothing, because it's incomplete, but it should not crash.
I tried the following example too: https://raw.githubusercontent.com/python-pillow/Pillow/3.0.x/Scripts/viewer.py. It also produces a Segmentation fault.
How to reproduce
I tried the following in a fresh https://github.com/msys2/msys2-installer/releases/download/nightly-x86_64/msys2-base-x86_64-latest.tar.xz: