Peter Edwards <pea...@arista.com> added the comment:
The patch I originally proposed here ( https://bugs.python.org/file48353/sigaltstack-stacksize.patch ) is a pretty minimal fix that uses the pthread stack size where available, with a hard-coded lower bound of 1M. @Victor : if you want a minimal diff, I can drop the existing PR, submit the above as a new one, and we can progress from there? Let me know how you'd like me to proceed. On Wed, 14 Aug 2019 at 14:26, Bennet Fauber <rep...@bugs.python.org> wrote: > > 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 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