classification
Title: test_stack_overflow (test.test_faulthandler.FaultHandlerTests) is stuck with GCC10
Type: behavior Stage: resolved
Components: Tests Versions: Python 3.9, Python 3.8, Python 3.7, Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: Martin Liška, cstratak, mcepl, miss-islington, ned.deily, vstinner
Priority: normal Keywords: patch

Created on 2019-12-04 08:33 by Martin Liška, last changed 2021-08-31 06:30 by ned.deily. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 17462 closed Martin Liška, 2019-12-04 08:35
PR 17467 merged vstinner, 2019-12-04 20:05
PR 17468 merged miss-islington, 2019-12-04 20:10
PR 17469 merged miss-islington, 2019-12-04 20:11
PR 28079 merged miss-islington, 2021-08-31 06:15
Messages (11)
msg357778 - (view) Author: Martin Liška (Martin Liška) * Date: 2019-12-04 08:33
The test-case is stuck after update to GCC 10.
I've got a patch for that.
msg357824 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-12-04 20:10
New changeset 8b787964e0a647caa0558b7c29ae501470d727d9 by Victor Stinner in branch 'master':
bpo-38965: Fix faulthandler._stack_overflow() on GCC 10 (GH-17467)
https://github.com/python/cpython/commit/8b787964e0a647caa0558b7c29ae501470d727d9
msg357825 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-12-04 20:14
Thanks Martin Liška for the bug report and your PR 17462!

I chose to use volatile instead, since it's already the second time that we have to fix this function for a specific compiler. You abandonned your PR and confrmed that my PR fix your issue with GCC 10, so I merged my PR. Thanks for testing ;-)

I backported the fix to 3.7 and 3.8 branches.
msg357826 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-12-04 20:14
The cool thing is that GCC now also implements tail call optimization!
msg357827 - (view) Author: miss-islington (miss-islington) Date: 2019-12-04 20:29
New changeset 5044c889dfced2f43e2cccb673d889a4882f6b3b by Miss Islington (bot) in branch '3.7':
bpo-38965: Fix faulthandler._stack_overflow() on GCC 10 (GH-17467)
https://github.com/python/cpython/commit/5044c889dfced2f43e2cccb673d889a4882f6b3b
msg357828 - (view) Author: miss-islington (miss-islington) Date: 2019-12-04 20:30
New changeset f4a21d3b239bf4f4e4e2a8a5936b9b040645b246 by Miss Islington (bot) in branch '3.8':
bpo-38965: Fix faulthandler._stack_overflow() on GCC 10 (GH-17467)
https://github.com/python/cpython/commit/f4a21d3b239bf4f4e4e2a8a5936b9b040645b246
msg357943 - (view) Author: Charalampos Stratakis (cstratak) * Date: 2019-12-06 20:26
Would it make sense to also backport this fix to the 3.6 release?

People compiling 3.6 with gcc 10 will stumble upon that.
msg357950 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019-12-06 22:48
> Would it make sense to also backport this fix to the 3.6 release?

Sadly, 3.6 no longer accept bugfixes:
https://devguide.python.org/#status-of-python-branches
msg376264 - (view) Author: Matej Cepl (mcepl) * Date: 2020-09-02 20:33
3.7 patch applies cleanly even for 3.6.12.
msg400692 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2021-08-31 06:24
New changeset 8934bb0c3179e4c020cd6f08dea64bccbf56ffa2 by Miss Islington (bot) in branch '3.6':
bpo-38965: Fix faulthandler._stack_overflow() on GCC 10 (GH-17467) (GH-28079)
https://github.com/python/cpython/commit/8934bb0c3179e4c020cd6f08dea64bccbf56ffa2
msg400693 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2021-08-31 06:30
I decided to also backport this fix for 3.6.15 since the problem causes test hangs when using GCC 10, as is now that case on one of my test machines. Note that the devguide says: "You should also consider fixing hard-failing tests in open security branches since it is important to be able to run the tests successfully before releasing."

https://devguide.python.org/devcycle/#security-branches
History
Date User Action Args
2021-11-27 17:02:46iritkatriellinkissue24851 superseder
2021-08-31 06:30:47ned.deilysetmessages: + msg400693
versions: + Python 3.6
2021-08-31 06:24:59ned.deilysetnosy: + ned.deily
messages: + msg400692
2021-08-31 06:15:40miss-islingtonsetpull_requests: + pull_request26522
2020-09-02 20:33:19mceplsetnosy: + mcepl
messages: + msg376264
2019-12-06 22:48:54vstinnersetmessages: + msg357950
2019-12-06 20:26:23cstrataksetnosy: + cstratak
messages: + msg357943
2019-12-04 20:30:35miss-islingtonsetmessages: + msg357828
2019-12-04 20:29:30miss-islingtonsetnosy: + miss-islington
messages: + msg357827
2019-12-04 20:14:43vstinnersetmessages: + msg357826
2019-12-04 20:14:09vstinnersetstatus: open -> closed
versions: + Python 3.7, Python 3.8, Python 3.9
messages: + msg357825

resolution: fixed
stage: patch review -> resolved
2019-12-04 20:11:54miss-islingtonsetpull_requests: + pull_request16948
2019-12-04 20:10:27miss-islingtonsetpull_requests: + pull_request16947
2019-12-04 20:10:27vstinnersetmessages: + msg357824
2019-12-04 20:05:28vstinnersetpull_requests: + pull_request16946
2019-12-04 09:18:26xtreaksetnosy: + vstinner
type: behavior
components: + Tests
2019-12-04 08:35:26Martin Liškasetkeywords: + patch
stage: patch review
pull_requests: + pull_request16942
2019-12-04 08:33:20Martin Liškacreate