[pypy-issue] Issue #1929: tkinter broken for threaded Python on both pypy2 and pypy3 (pypy/pypy)
issues-reply at bitbucket.org
Thu Nov 20 19:38:53 CET 2014
New issue 1929: tkinter broken for threaded Python on both pypy2 and pypy3
I have a very large multi-threaded Python 3 and Tkinter project that I want to move to PyPy 3.
While moving my code over, I discovered that PyPy is broken in supporting threads.
So I made a small test program that demonstrates the bug. Here is the output displayed when running the program:
$ pypy3 tkintertest.py
Exception in thread secondary:
Traceback (most recent call last):
File "/Users/christopher/bin/pypy3-2.4.0-osx64/lib-python/3/threading.py", line 740, in _bootstrap_inner
File "/Users/christopher/bin/pypy3-2.4.0-osx64/lib-python/3/threading.py", line 693, in run
File "tkintertest.py", line 11, in secondary
canvas.create_text(100, 50, text="Secondary thread")
File "/Users/christopher/bin/pypy3-2.4.0-osx64/lib-python/3/tkinter/__init__.py", line 2256, in create_text
return self._create('text', args, kw)
File "/Users/christopher/bin/pypy3-2.4.0-osx64/lib-python/3/tkinter/__init__.py", line 2232, in _create
*(args + self._options(cnf, kw))))
File "/Users/christopher/bin/pypy3-2.4.0-osx64/lib_pypy/_tkinter/app.py", line 286, in call
raise NotImplementedError("Call from another thread")
NotImplementedError: Call from another thread
I cannot run my project on PyPy unless this gets fixed, and I cannot code around it, so I wish you all luck in working on this issue!
By the way, I tried running my test on PyPy 2 (with the Tkinter module name changed to capital T) and it failed with the same identical output. So PyPy 2 also need to be fixed.
I am running this on OS X 10.9.5 Mavericks. With the following displayed when I run PyPy interactively:
Python 3.2.5 (b2091e973da6, Oct 19 2014, 18:30:58)
[PyPy 2.4.0 with GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)] on darwin
More information about the pypy-issue