Bennet Fauber <ben...@umich.edu> added the comment:
I just tested the proposed change in Aha, that's interesting: SIGSTKSZ should be enough for 1 signal handler, but test_register_chain calls 2 signal handlers using the same stack. Can you please try the following patch? ``` diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c index 2331051f79..e7d13f2b2d 100644 --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c . . . . - stack.ss_size = SIGSTKSZ; + stack.ss_size = SIGSTKSZ * 2; ``` and the segfault no longer occurs at the faulthandler test. Compiling and running the altstack.c using the system installed GCC 4.8.5 on CentOS 7.6.1810, kernel version 3.10.0-957.10.1.el7.x86_64 running on Dell R640 Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz results in this output. ``` $ gcc -o altstack altstack.c $ ./altstack SIGSTKSZ = 8192 our signal handler User defined signal 1 ``` It does seem to me that relying on a statically set stack size when using dynamically loaded libraries is inviting similar problems in the future for the reasons that Peter enumerated: There is no telling now what the requirements will be for some new chip family, and one cannot predict now what additional (if any) memory requirements might be needed by the linker in the future. But, I think getting _some_ patch accepted and pushed to the main Python releases should have some priority, as the current state does seem undesirable. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue21131> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com