fix: use manual padding of instance_map_shard#5200
Conversation
The alignas(64) specifier requires aligned allocation, which is not available on macOS when targeting versions before 10.14.
|
@henryiii, should this target v2.13? |
|
No, we can backport. Would it make sense to align as on linux? |
|
Ahh, you manually padded. |
|
@rgommers mentioned that they've run into multiple issues related to aligned allocations, so I think it'd be safer to just stick with manual padding everywhere, even if we don't know of any issues right now. |
|
How hard would it be to also move to PyMutex in 2.13.1? |
Yeah, I missed that this was manually padded, looks fine. I wonder if |
I think it'll be pretty easy, but we should wait until 3.13 beta 3 is released and available in manylinux. |
|
Okay. Versions numbers are cheap, that's fine for a 2.13.2. :) |
|
@henryiii Ideally we'd have a macos-13 Python 3.13t job in the CI (separate PR), corresponding to the scipy CI job that uncovered the problem solved here. Did you try that already? |
This isn't that easy, setup-python doesn't support it, so we'd need cibuildwheel. It probably wouldn't be as hard if #4745 was possible. |
* Use manual padding of instance_map_shard. The alignas(64) specifier requires aligned allocation, which is not available on macOS when targeting versions before 10.14. * Add 'see #5200' * Update include/pybind11/detail/internals.h * Update include/pybind11/detail/internals.h --------- Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Going into manylinux here: pypa/manylinux#1639 |
Description
The alignas(64) specifier requires aligned allocation, which is not available on macOS when targeting versions before 10.14.
See scipy/scipy#21056.
Suggested changelog entry: