SIGN IN SIGN UP

[3.13] gh-123022: Fix crash with `Py_Initialize` in background thread (GH-123052) (#123114)

Check that the current default heap is initialized in
`_mi_os_get_aligned_hint` and `mi_os_claim_huge_pages`.

The mimalloc function `_mi_os_get_aligned_hint` assumes that there is an
initialized default heap. This is true for our main thread, but not for
background threads. The problematic code path is usually called during
initialization (i.e., `Py_Initialize`), but it may also be called if the
program allocates large amounts of memory in total.

The crash only affected the free-threaded build.
(cherry picked from commit d061ffea7b408861d0a9d311e92c363da284971d)

Co-authored-by: Sam Gross <colesbury@gmail.com>
M
Miss Islington (bot) committed
ff58c3cb48a68949b2058f3642c9088b7d498e36
Parent: 6001dea
Committed by GitHub <noreply@github.com> on 8/17/2024, 8:38:02 PM