On 10/6/25 03:54 AM, Miro Hrončok wrote:
On 05. 10. 25 16:13, Steven A. Falco wrote:
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:

...

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.

...

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.
Hey Steve,

I've forwarded this to Python upstream:

https://discuss.python.org/t/fatal-python-error-py-checkrecursivecall-unrecoverable-stack-overflow-used-406047-kb-while-calling-a-python-object/104183

And will also ask some CPython developers to have a look.


Thanks, Miro.  Victor Stinner took a detailed look at this, and he found that 
the stack checking mechanism in Python doesn't take coroutines that run on 
their own stacks into account (as in C++ Boost).

He added a comment to your upstream report, and also filed a bug report with 
Python: https://github.com/python/cpython/issues/139653

Thanks very much to Victor for sorting this out!  I am hopeful that a 
workaround can be put into Python before its 3.14.0 release.

        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