Skip to content

Python 3.14.7 and later causes PAGE GUI Designer to freeze in startup #159626

Closed as not planned

Description

@gregwa1953

Bug report

# Add a code block here, if required

PAGE freezes while loading lib_ttk.tcl on Python 3.14.7 and later on Windows

Bug description

I am one of the developer of PAGE, a Python GUI builder that uses Tkinter and Tcl/Tk.

A PAGE user reported that PAGE freezes during startup when running on Windows 10 or Windows 11 with Python 3.14.7.

After extensive testing, I have narrowed the problem down to the Python version rather than a change in PAGE.

The application stops responding at the following startup message:

Loading library lib_ttk.tcl

Python versions tested

Python version | Result -- | -- 3.14.5 | PAGE runs successfully 3.14.6 | PAGE runs successfully 3.14.7 | PAGE freezes 3.14.8 | PAGE freezes 3.15 | PAGE freezes

The problem has been observed on Windows 10 and Windows 11.

Expected behavior

PAGE should finish loading its Tcl/Tk libraries and complete startup, as it does with Python 3.14.5 and 3.14.6.

Actual behavior

PAGE stops responding while loading lib_ttk.tcl. Startup does not complete.

Steps to reproduce

  1. Install a Python version listed above.

  2. Launch PAGE using that Python installation.

  3. Observe the startup output.

  4. With Python 3.14.5 or 3.14.6, PAGE starts successfully.

  5. With Python 3.14.7, 3.14.8, or 3.15, PAGE freezes at Loading library lib_ttk.tcl.

Investigation

I have repeatedly tested the affected Python versions and confirmed that the failure correlates with the Python version. The same PAGE code works with Python 3.14.5 and 3.14.6.

I suspect a regression involving Tcl/Tk initialization, library loading, or the changes to the Windows Tcl/Tk distribution, but I have not yet isolated the underlying cause.

Could the Python maintainers investigate this regression?

I would appreciate guidance on which part of CPython, Tkinter, or the bundled Tcl/Tk libraries should be investigated.

Additional information, including the PAGE version, exact Windows versions, Tcl/Tk version, console output, and a minimal reproducer, will be provided as available.

You can download the latest version of PAGE from https://sourceforge.net/projects/page/ . This happens with PAGE 8.1 AND 8.0 ONLY under WIndows. PAGE 8.1 was released 09/24/2025 and up to this time we have had no problems with either version.

CPython versions tested on:

3.14

Operating systems tested on:

Windows

Activity

  1. StanFromIreland commented on Oct 17, 2026

    @StanFromIreland
    Member

    Please report this to the project first, there is little information for us to go off of here.

  2. StanFromIreland commented on Oct 17, 2026

    @StanFromIreland
    Member

    Oh, I skipped over the bit where you mentioned you are a maintainer, sorry. However, we still don't have much to go off of, unless we have a minimal reproducer.

  3. gregwa1953 commented on Oct 17, 2026

    @gregwa1953
    Author

    Ok.
    How and where should I report the issue?
    Greg

  4. StanFromIreland commented on Oct 17, 2026

    @StanFromIreland
    Member

    Please comment here once you have a minimal reproducer, and we can re-open the issue.

  5. gregwa1953 commented on Oct 17, 2026

    @gregwa1953
    Author

    Actually, I suppose that you could consider me the "minimal reproducer".

    The issue was reported to Don Rozenberg in this email...

    -------- Forwarded Message --------

    Subject: Problem with starting Page
    Wed, 14 Oct 2026 20:02:33 -0400
    Richard Gray grayro@appstate.edu
    Alex Matilainen matilainenas@appstate.edu, Don.Rozenberg@gmail.com



    Hi Don,

    My graduate student and I are having problems starting Page  (v 8.1) on our separate Windows 11 laptops.  When we start the program (either by clicking on the desktop icon, or going to the install directory c:\page and either using page.bat or python page.py) the loading of the program stalls at the point where it says:

    "Loading library lib_ttk.tcl"

    I have verified that lib_ttk.tcl is in the folder c:\page\lib, but page seems to be unable to access it, or, the lib_ttk.tcl file is corrupted.

    Curiously, I found that the PATH did not include c:\page.  I added that to the PATH, which enabled me to start page from any folder, but the execution still stopped at the point indicated above.  We have verified that TCLTK is indeed installed and runs on our machines.  We are not clear what to do at this point; my grad student really needs to get this installed so that he can make progress on his project.  Can you help?

    P.S. I have the same version installed on Linux and it runs without issue.

    best wishes,  Richard Gray
                          Professor Emeritus


    -------- Forwarded Message --------
    Subject: Problem with starting Page
    Date: Wed, 14 Oct 2026 20:02:33 -0400
    From: Richard Gray grayro@appstate.edu
    To: Alex Matilainen matilainenas@appstate.edu, Don.Rozenberg@gmail.com

    Hi Don,

    My graduate student and I are having problems starting Page (v 8.1) on our separate Windows 11 laptops. When we start the program (either by clicking on the desktop icon, or going to the install directory c:\page and either using page.bat or python page.py) the loading of the program stalls at the point where it says:

    "Loading library lib_ttk.tcl"

    I have verified that lib_ttk.tcl is in the folder c:\page\lib, but page seems to be unable to access it, or, the lib_ttk.tcl file is corrupted.

    Curiously, I found that the PATH did not include c:\page. I added that to the PATH, which enabled me to start page from any folder, but the execution still stopped at the point indicated above. We have verified that TCLTK is indeed installed and runs on our machines. We are not clear what to do at this point; my grad student really needs to get this installed so that he can make progress on his project. Can you help?

    P.S. I have the same version installed on Linux and it runs without issue.

    best wishes, Richard Gray
    Professor Emeritus


    It was shortly after that I began to communicate with Professor Gray and we spent the majority of the day trying to troubleshoot this.

    I finally suggested that he try to install a different version of Python. His response to me is as follows...


    Hi Greg,

    So, I installed python 3.13.16 and it works! Incidentally, py now invokes 3.14, whereas python invokes 3.13. Do you think I should reinstall Page 8.1?

    Thanks for all of your help!

    Alex, somehow you got dropped from this email chain. What I did was to go to python.org (the official python site; don't use the Microsoft store or Anaconda). I downloaded the installer for version 3.13.16. It got installed alongside 3.14, but I found that using the python command (as opposed to py) starts the 3.13 version. Make certain that when you install it that you check the box that says "Include python in the Windows PATH" (or something similar to that). Then try to start page from the c:\page directory using a command terminal by typing:

    python page.py

    If that works, try typing "page" from another folder (again using the command terminal). If that doesn't work, you will need to add c:\path to the Windows PATH environment variable.

    Dr. Gray


    So you actually have two "reporters" and one minimal reproducer.

    What else would you like me to include?

  6. NekoAsakura commented on Oct 17, 2026

    @NekoAsakura
    Member

    @gregwa1953 This is a Tcl 9 incompatibility in PAGE. Python 3.14.7 updated the Tcl/Tk bundled with the Windows installer from 8.6.15 to 9.0.4 (gh-124111), which implements TIP 278, "Fix Variable Name Resolution Quirks":

    simple names outside of proc bodies: the alternative lookup starting from the global namespace is lost.

  7. StanFromIreland commented on Oct 17, 2026

    @StanFromIreland
    Member

    A second user hitting the same hang isn't a reproducer, it only confirms that PAGE hangs. PAGE is a large application and we don't have the resources to debug it, the bug could just as easily be in PAGE's own Tcl code as in CPython.

    Note that 3.14.7 switched the Windows installer from Tcl/Tk 8.6.15 to 9.0.4, which may causes issue with your scripts. Since the freeze is while sourcing lib_ttk.tcl, start there, strip out chunks until the hang goes away, and what's left is the reproducer. We need a short standalone script (Python plus whatever Tcl it evaluates) that hangs on 3.14.7 and works on 3.14.6. Once you have that, comment here and we'll reopen.

  8. gregwa1953 commented on Oct 17, 2026

    @gregwa1953
    Author

    Thank you.
    I'll see what I can do.

    Greg

  9. NekoAsakura commented on Oct 17, 2026

    @NekoAsakura
    Member

    Here is what breaks in PAGE 8.1 on Tcl/Tk 9.0.4 (AI agent, verified on my Windows), in case it saves you some time:

    • lib/Widgets/ttk/tnotebook.wgt:208-214: namespace eval ... { global vTcl; ... $vTcl(VTCL_HOME) ... } fails on Tcl 9 with can't read "vTcl(VTCL_HOME)": no such variable. Use $::vTcl(VTCL_HOME). This is where you're stuck.
    • page.py:34-38: except: pass around the source call hides the error, then mainloop() keeps the splash up. Print the exception and root.tk.eval('set errorInfo').
    • Bundled BWidget 1.9.14 requires Tk 8.1.1, which excludes 9.x, and has the same global pattern inside. BWidget 1.10.1 loads on Tk 9.
    • trace variable / trace vdelete / trace vinfo are gone in Tcl 9. Use trace add variable / trace remove variable / trace info variable. 18 sites: lib/lib_core.tcl:945, lib/choosefont.tcl:106-108, lib/misc.tcl:98,2225,2266, lib/propmgr.tcl:1008-1029, and a few more.
    • string bytelength is gone. string length is equivalent here. 10 sites, mostly lib/Widgets/ttk/scrolled*.wgt, ttreeview.wgt:112, lib/gui_python_gen.tcl:2614.
    • Theme files have package require Tk 8.6, which excludes 9. Tk 8.6- accepts both.
  10. gregwa1953 commented on Oct 17, 2026

    @gregwa1953
    Author

    Thank you.
    I'll use this as a starting point.

    You said "Theme files have package require Tk 8.6, which excludes 9. Tk 8.6- accepts both."

    Does this mean that themes aren't compatible with Tk 9?

  11. NekoAsakura commented on Oct 17, 2026

    @NekoAsakura
    Member

    No, the themes are fine. It is only the version check. package require Tk 8.6 means "version 8 only, 8.6 or newer", so Tk 9 is rejected. package require Tk 8.6- means "8.6 or newer, any version", so Tk 9 is accepted.

  12. gregwa1953 commented on Oct 17, 2026

    @gregwa1953
    Author

    Ahhh, yes.
    Thank you.

    I'll continue digging.

    Greg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions