BUG: skip legacy dtype multithreaded test on 32 bit runners #28424
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #28421.
Fixes #28412.
For reasons I don't fully understand,
test_legacy_usertype_cast_init_thread_safety
sometimes crashes 32 bit CI runners due to OOM errors. This test spawns a lot of threads but other tests spawn more. The crashes happen when Python exhausts the 4 GB of address space available to the runner, so I think it might depend on factors like the precise memory allocation pattern of the test as well as maybe memory fragmentation in the memory space available to the runner.Rather than trying to track this down more, I just skip the test on 32 bit runners. This crash has only ever been observed there.
While I was at it I did a cleanup (most of the diff) to replace one-off uses of
np.dtype(np.intp).itemsize == 8
with a newIS_64BIT
constant.