[issue14390] Tkinter single-threaded deadlock

2020-11-15 Thread Irit Katriel
Change by Irit Katriel : -- versions: +Python 3.10, Python 3.8, Python 3.9 -Python 2.7, Python 3.2, Python 3.3 ___ Python tracker ___ _

[issue14390] Tkinter single-threaded deadlock

2012-06-08 Thread R. David Murray
R. David Murray added the comment: That's why I phrased it as a question, I don't know enough about the C stuff. Someone else nosy on this bug will probably have a more informed opinion. I don't think the copyright marking policy is currently written down. It ought to be, but I have a sinki

[issue14390] Tkinter single-threaded deadlock

2012-06-08 Thread John Bollinger
John Bollinger added the comment: Yes, I have basically made tkinter's Tcl lock into an Rlock. With respect to Python3's Rlock implementation, though, are you talking about what I see in Modules/_threadmodule.c? Even if it would be acceptable to make the tkinter module depend on the thread

[issue14390] Tkinter single-threaded deadlock

2012-06-08 Thread R. David Murray
R. David Murray added the comment: Thanks for working on this. This is not my area of expertise, but what you describe sounds like an RLock, and there is a C implementation of RLock in Python3. Could you just use that for Python3? Also, very minor comments on the patch format (I'm not in a

[issue14390] Tkinter single-threaded deadlock

2012-06-08 Thread John Bollinger
John Bollinger added the comment: I attach a patch fixing the issue and providing a test and docs. The fix is substantially as I described earlier: a thread that holds the Tcl lock is permitted to acquire it logically any number of times, but physically attempts to acquire it only if it doesn

[issue14390] Tkinter single-threaded deadlock

2012-03-27 Thread Ned Deily
Ned Deily added the comment: For examples of tests that build extension modules, see Lib/packaging/tests/test_command_build_ext.py or the Distutils equivalent, Lib/distutils/tests/test_build_ext.py. These tests are also runnable from installed versions of Python, assuming the user has the ne

[issue14390] Tkinter single-threaded deadlock

2012-03-27 Thread John Bollinger
John Bollinger added the comment: I looked at the packaging tests (thanks), but I didn't find anything useful to me. There were a couple whose names looked promising, but they turned out to be stubs. As far as I can tell, none of those tests actually invoke the system's C compiler, even ind

[issue14390] Tkinter single-threaded deadlock

2012-03-27 Thread R. David Murray
R. David Murray added the comment: I believe there is an example in the packaging unit tests of building an extension module in a test (but I'm not 100% sure). Also, the fact that the test will deadlock if it fails is not a deal breaker: the test should pass normally, and if it fails the buil

[issue14390] Tkinter single-threaded deadlock

2012-03-27 Thread John Bollinger
John Bollinger added the comment: For what it's worth, I can convert my standalone test into a PyUnit testcase easily enough (or so it appears). I'm having trouble, however, figuring out how to get the extension it depends on built and accessible to the test, yet not installed with the norma

[issue14390] Tkinter single-threaded deadlock

2012-03-26 Thread John Bollinger
John Bollinger added the comment: I was already working on a standalone test, and now I have it ready. Using it I can demonstrate the issue against both the cpython trunk and against my local v2.6.6 binary distribution, therefore I have added v3.3 as an affected version. It is reasonable to

[issue14390] Tkinter single-threaded deadlock

2012-03-25 Thread Andrew Svetlov
Andrew Svetlov added the comment: Can you make a test code to introduce you issue? I understand — it's not easy to extract failing code from your big project but please make simple example with python code and trivial C Extension for presentation of your problem. Let's start from manual test

[issue14390] Tkinter single-threaded deadlock

2012-03-22 Thread John Bollinger
New submission from John Bollinger : This is the same as issue 452973, created as a new issue pursuant to the instruction given when 452973 was closed as "out of date". In a nutshell, in a program using combining Tkinter with Tcl callbacks written in C, it is possible for even a single-threade