homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Change _tkinter initialization for new versions of Aqua Tk on OS X
Type: Stage: patch review
Components: Tkinter Versions: Python 3.3, Python 3.4
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: ronaldoussoren Nosy List: gpolo, ned.deily, r.david.murray, ronaldoussoren, terry.reedy
Priority: normal Keywords: patch

Created on 2009年01月31日 21:25 by gpolo, last changed 2022年04月11日 14:56 by admin.

Files
File name Uploaded Description Edit
oldtkaqua.diff gpolo, 2009年02月10日 01:58 review
Messages (18)
msg80884 - (view) Author: Guilherme Polo (gpolo) * (Python committer) Date: 2009年01月31日 21:25
For some reason the recently added test_ttk_guionly is causing Tcl to
abort on Mac. I would prefer to disable the test for now, except if some
mac owner has the time to fix it.
I would like to know the tcl version being used on the noller-osx86
buildslave too, if possible.
msg80887 - (view) Author: Guilherme Polo (gpolo) * (Python committer) Date: 2009年01月31日 21:45
> For some reason the recently added test_ttk_guionly is causing Tcl to
> abort on Mac. I would prefer to disable the test for now, except if some
> mac owner has the time to fix it.
Just saw it didn't cause an abort with the buildslave heller-x86-osx5, btw.
msg80927 - (view) Author: Guilherme Polo (gpolo) * (Python committer) Date: 2009年02月02日 01:55
It seems to be good now after a recent modification in how tests are
performed, closing. Sorry for the fuss.
msg81468 - (view) Author: Guilherme Polo (gpolo) * (Python committer) Date: 2009年02月09日 18:46
The abort still happens occasionally, see:
http://www.python.org/dev/buildbot/all/OS%20X%20x86%20trunk/builds/118/step-test/0
(last lines)
I've talked with Daniel Steffen, who is one of the maintainers of Tcl/Tk
on Mac OSX, and I was told that all this conditional code in _tkinter.c
and tkappinit.c for TK_AQUA is outdated starting with tk 8.4.8, but tk
8.4.7 that ships with macosx (which happens to be the version being used
by the buildslave mentioned above) also includes the patch that
deprecates the usage, and we should be calling only Tk_Init on
tkappinit.c which will deal with all the details (the details are in
tkMacOSXInit:TkpInit).
There is an entry in tk's changelog that is directly related to this:
http://tktoolkit.cvs.sourceforge.net/viewvc/tktoolkit/tk/ChangeLog.2004?revision=1.1&view=markup
(lines 210-220)
Any chance I can change _tkinter and tkappinit to check for
TKINTER_OLD_AQUA (new macro to be added) instead of TK_AQUA and verify
if it helps the buildslaves ?
msg91464 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2009年08月10日 22:45
To follow up your question posted on issue 6527 (sorry for the
duplicate), I don't currently have a mac to test on. I might have
access to one in a couple weeks, though.
msg92924 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2009年09月21日 09:34
I noticed this while investigating Issue6834. Is this still an open issue 
for OS X? Could it explain the symptoms in 6834?
msg92925 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2009年09月21日 09:35
Sorry, that should be Issue6864.
msg111071 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2010年07月21日 14:43
Is this still a problem on OS X?
msg111170 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2010年07月22日 12:31
Mark: maybe, why don't you test this?
msg111266 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2010年07月23日 10:24
This is still an issue for the PPC Tiger buildbot:
test_ttk_guionly
make: *** [buildbottest] Segmentation fault
(Direct link: http://www.python.org/dev/buildbot/builders/PPC%20Tiger%202.7/builds/39/steps/test/logs/stdio)
msg119318 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2010年10月21日 16:48
Presumably this is the same issue 8716. That issue contains additional details and a patch from Ronald, so I'm not closing it as a duplicate. 
I don't know if the patch on this issue would actually address the issue. I tried to apply it to py3k but it did not apply cleanly.
msg133000 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011年04月05日 00:52
Recent crash on "PPC Tiger 3.x":
----------------
[188/354] test_ttk_guionly
Fatal Python error: Segmentation fault
Traceback (most recent call first):
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/tkinter/ttk.py", line 47 in _load_tile
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/tkinter/ttk.py", line 559 in __init__
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/tkinter/ttk.py", line 614 in __init__
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/test/test_ttk_guionly.py", line 14 in <module>
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/importlib/_bootstrap.py", line 342 in _load_module
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/importlib/_bootstrap.py", line 141 in decorated
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/importlib/_bootstrap.py", line 437 in load_module
 File "./Lib/test/regrtest.py", line 1025 in runtest_inner
 File "./Lib/test/regrtest.py", line 826 in runtest
 File "./Lib/test/regrtest.py", line 650 in main
 File "./Lib/test/regrtest.py", line 1607 in <module>
make: *** [buildbottest] Segmentation fault
program finished with exit code 2
elapsedTime=1656.072954
----------------
http://www.python.org/dev/buildbot/all/builders/PPC%20Tiger%203.x/builds/1701/steps/test/logs/stdio 
msg133001 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011年04月05日 00:59
ttk_guionly creates a button (ttk.Button()) which calls _load_tile(), which crashs on: master.tk.eval('package require tile')
Code of the function:
-------------------------
def _load_tile(master):
 if _REQUIRE_TILE:
 import os
 tilelib = os.environ.get('TILE_LIBRARY')
 if tilelib:
 # append custom tile path to the the list of directories that
 # Tcl uses when attempting to resolve packages with the package
 # command
 master.tk.eval(
 'global auto_path; '
 'lappend auto_path {%s}' % tilelib)
 master.tk.eval('package require tile') # TclError may be raised here
 master._tile_loaded = True
-------------------------
msg139517 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011年06月30日 19:53
Still crashing on "PPC Tiger 3.x" buildbot:
----------------
...
[333/356/2] test_ttk_guionly
Fatal Python error: Segmentation fault
Current thread 0xa000ed88:
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/tkinter/ttk.py", line 47 in _load_tile
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/tkinter/ttk.py", line 559 in __init__
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/tkinter/ttk.py", line 614 in __init__
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/test/test_ttk_guionly.py", line 14 in <module>
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/importlib/_bootstrap.py", line 342 in _load_module
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/importlib/_bootstrap.py", line 141 in decorated
 File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/importlib/_bootstrap.py", line 437 in load_module
 File "./Lib/test/regrtest.py", line 1063 in runtest_inner
 File "./Lib/test/regrtest.py", line 861 in runtest
 File "./Lib/test/regrtest.py", line 669 in main
 File "./Lib/test/regrtest.py", line 1648 in <module>
make: *** [buildbottest] Segmentation fault
----------------
http://www.python.org/dev/buildbot/all/builders/PPC%20Tiger%203.x/builds/2109/steps/test/logs/stdio
Can anyone with a Mac look at this issue?
msg139530 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2011年06月30日 22:22
See comments to Issue8716. Suggest any further comments on the "headless" crash issue go there and reserve this issue for investigation into the suggested changes to initialization when using Aqua Tk. BTW, the supplied patch has compile time Tk version tests which can be problematic since Aqua Tk is dynamically linked and so the exact patch version cannot be determined at compile time. However, since 8.4.7 is the earliest version we claim to support we could probably dispense with the check, assuming the change is warranted.
msg193528 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2013年07月22日 11:07
As mentioned by Ned this is a duplicate of #8716. 
The proposed change to tkinter initialization in msg81468 might be useful to look into, but I'm not interested in doing that work because I don't use Tkinter myself which makes it harder to test if the change actually helps.
FWIW, the patch looks sane for what it is trying to accomplish.
NOTE: If the Tk version in OSX 10.4 is new enough to not need the workaround that will be disabled by the TKINTER_OLD_AQUA in the patch we could just drop the code.
msg404641 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2021年10月21日 20:05
Can we close this? I expect that if crashes were still happening from this cause, there would be a newer issue.
msg404642 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2021年10月21日 20:06
Or should this be marked for 3.11?
History
Date User Action Args
2022年04月11日 14:56:45adminsetgithub: 49370
2021年10月21日 22:28:14vstinnersetnosy: - vstinner
2021年10月21日 20:06:00terry.reedysetmessages: + msg404642
versions: - Python 2.7
2021年10月21日 20:05:28terry.reedysetnosy: + terry.reedy
messages: + msg404641
2013年07月22日 11:07:51ronaldoussorensetmessages: + msg193528
versions: + Python 3.4, - Python 3.2
2011年06月30日 22:22:44ned.deilysetnosy: - BreamoreBoy
title: Disabling test_ttk_guionly on mac -> Change _tkinter initialization for new versions of Aqua Tk on OS X
messages: + msg139530

versions: + Python 3.2, Python 3.3, - Python 3.1
type: crash ->
2011年06月30日 19:53:35vstinnersetmessages: + msg139517
2011年04月05日 00:59:05vstinnersetmessages: + msg133001
2011年04月05日 00:52:20vstinnersetnosy: + vstinner
messages: + msg133000
2010年10月21日 16:48:09r.david.murraysetmessages: + msg119318
2010年07月23日 10:24:54ronaldoussorensetmessages: + msg111266
2010年07月22日 12:31:17ronaldoussorensetassignee: ronaldoussoren
messages: + msg111170
2010年07月21日 14:43:13BreamoreBoysetnosy: + BreamoreBoy
messages: + msg111071
2009年09月21日 09:35:44ned.deilysetmessages: + msg92925
2009年09月21日 09:34:15ned.deilysetnosy: + ronaldoussoren, ned.deily
messages: + msg92924
2009年08月10日 22:45:54r.david.murraysetpriority: normal

nosy: + r.david.murray
messages: + msg91464

stage: patch review
2009年02月10日 01:58:20gpolosetfiles: + oldtkaqua.diff
keywords: + patch
2009年02月09日 18:46:31gpolosetstatus: closed -> open
messages: + msg81468
2009年02月02日 01:55:24gpolosetstatus: open -> closed
messages: + msg80927
2009年01月31日 21:45:32gpolosetmessages: + msg80887
2009年01月31日 21:25:49gpolocreate

AltStyle によって変換されたページ (->オリジナル) /