You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Insufficient sigaltstack size used by CPython prevents extensions from using new ISA #91124
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2022-03-18.13:33:30.380>created_at=<Date2022-03-09.19:07:02.730>labels= ['extension-modules', 'type-bug', '3.9', '3.10', '3.11']
title='Insufficient sigaltstack size used by CPython prevents extensions from using new ISA'updated_at=<Date2022-03-18.14:15:32.541>user='https://github.com/oleksandr-pavlyk'
New changeset a12ef81 by Pablo Galindo Salgado in branch '3.9':
[3.9] bpo-46968: Check for 'sys/auxv.h' in the configure script (GH-31961). (GH-31975) a12ef81
New changeset 6fd9737 by Pablo Galindo Salgado in branch '3.10':
[3.10] bpo-46968: Check for 'sys/auxv.h' in the configure script (GH-31961). (GH-31974) 6fd9737
Activity
oleksandr-pavlyk commentedon Mar 9, 2022
The following snippet illustrates request by an extension to use AMX registers:
This request fails on the account of too small a size for sigaltstack used by CPython allocated in Modules/faulthandler.c
The stack size used is 2*SIGSTKSZ, and does not take hardware capabilities into account.
Linux kernel 5.14 adds support to query minimum size of sigaltstack dynamically via getauxval(AT_MINSIGSTKSZ).
AMX support is added in Linux kernel 5.16
CPython should make use of this when built against more recent Linux kernels.
20 remaining items
pablogsal commentedon Mar 17, 2022
The configure file is checking for "linux/auxvec.h"
checking linux/auxvec.h usability... yes
but the code is including "sys/auxvec.h"
pablogsal commentedon Mar 17, 2022
The code is assuming that if linux/auxvec.h then sys/auxv.h will be available, which is wrong.
pablogsal commentedon Mar 17, 2022
This may be quite bad, because this means that 3.10 and 3.9 doesn't build in CentOS 6, which is used for manylinux2010 wheels
vstinner commentedon Mar 18, 2022
Too bad that we want to support RHEL 6 but have no buildbot for that.
miss-islington commentedon Mar 18, 2022
New changeset 8e3fde7 by Pablo Galindo Salgado in branch 'main':
bpo-46968: Check for 'sys/auxv.h' in the configure script (GH-31961)
8e3fde7
pablogsal commentedon Mar 18, 2022
New changeset a12ef81 by Pablo Galindo Salgado in branch '3.9':
[3.9] bpo-46968: Check for 'sys/auxv.h' in the configure script (GH-31961). (GH-31975)
a12ef81
pablogsal commentedon Mar 18, 2022
New changeset 6fd9737 by Pablo Galindo Salgado in branch '3.10':
[3.10] bpo-46968: Check for 'sys/auxv.h' in the configure script (GH-31961). (GH-31974)
6fd9737
vstinner commentedon Mar 18, 2022
Thanks for the fix Pablo.