On 9/11/25 10:26 AM, Steven A. Falco wrote:
On 9/8/25 03:36 PM, Steven A. Falco wrote:
On 9/8/25 11:59 AM, Scott Talbert wrote:
On Mon, 8 Sep 2025, Steven A. Falco wrote:

I maintain the KiCad packages.  We have a new bug report:

https://bugzilla.redhat.com/show_bug.cgi?id=2393850

Here is the gist of it:

Fatal Python error: _Py_CheckRecursiveCall: Unrecoverable stack overflow (used 
-406047 kB) while calling a Python object

I contacted the upstream KiCad devs and got a reply that the following code 
appears to be the cause:

import traceback
import sys

sys_version = sys.version
wx_version = ""
exception_output = ""

try:
   from wx import version
   wx_version = version()

   # Import wx modules that re-initialize wx globals, because they break 
wxPropertyGrid
   # (and probably some other stuff) if we let this happen after we already 
have started
   # mutating those globals.
   import wx.adv, wx.html, wx.richtext

except Exception as e:
   exception_output = "".join(traceback.format_exc())

I attached a backtrace for reference.  I'm not sure what to do with this.  I 
don't know if it is a python issue or a wxpython issue or something else 
entirely.

Please let me know if the error suggests anything.

Are you able to reproduce the issue outside of kicad using that snippet above?  
I cannot.

My hunch is that this might be a pybind11 issue.  It looks like kicad is 
bundling an older copy that may not support Python 3.14.

See: https://pybind11.readthedocs.io/en/stable/changelog.html

Scott

Thanks, Scott.  I couldn't reproduce it outside of KiCad either.  I've 
forwarded your notes to the upstream devs.

     Steve


Upstream changed their pybind11 to the latest version (3.0.2).  I still get a 
crash as shown in the attached backtrace (frame 5).

If anyone has any further ideas please pass them along.

     Steve

I'd like to raise this topic again.  Since a Python 3.14 RC has been pulled 
into F43, KiCad will be completely broken there.  And of course it is broken on 
Rawhide.

There are several bug reports:

https://bugzilla.redhat.com/show_bug.cgi?id=2393850

https://bugzilla.redhat.com/show_bug.cgi?id=2401327

The upstream developers cannot address this, as they stated in a bug report 
that I filed with them:

https://gitlab.com/kicad/code/kicad/-/issues/21890

The long-term plan is to strip python out of KiCad.  That is expected to happen 
in 3 or 4 months, perhaps sooner.  But users are feeling the pain already and 
the only solution I can offer them is to stay on Fedora 42 indefinitely or use 
the flatpak provided by the KiCad project, because it embeds an older, working 
version of python.

It would be really great to get some python developers engaged with this issue. 
 It appears to be related to the aggressive stack protection that was recently 
added, as documented here:

https://github.com/python/cpython/blob/main/InternalDocs/stack_protection.md

Any help will be greatly appreciated.

Thanks,
Steve

--
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to