numpy / numpy/numpy

TST: possible threading-related crash in test_huge_list_error

Open
#29,660 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

00 - Bug 39 - free-threading
Dominant language
Python
Stars
32.8k
Forks
12.8k
Avg merge
1d 7h
Merged PRs (30d)
197

Description

I spun up the conda-forge BLAS testing again now that the 3.14 & 3.14t builds are in (for investigating an unrelated problem with llvm-openmp v21.1 on windows, actually), and noticed that 2 out of 4 linux-64 + 3.14t jobs crashed in test_huge_list_error.

Specifically, the crash occurred for BLAS flavours blis & MKL, while openblas & netlib had no failures. Due to the nature of threading bugs, this could be flaky though, or be dependent on totally different things than the BLAS flavour... In any case, it's the only failure in the whole test suite, which is actually a pretty good sign IMO. :)

 │ =================================== FAILURES ===================================
 │ ________________________ _core/tests/test_shape_base.py ________________________
 │ [gw0] linux -- Python 3.14.0 $SRC_DIR_run_env/bin/python
 │ worker 'gw0' crashed while running '_core/tests/test_shape_base.py::TestConcatenate::test_huge_list_error'
 │ =============================== warnings summary ===============================

The last aspect that made me think "threading" is the name of the test. If the list is indeed huge, then there's a bigger window (relatively speaking) to hit some race conditions, and even more so if error paths are involved.

Note that this test did not fail on any of the other python implementations from 3.10-3.14, including 3.13t. It also doesn't seem to affect osx/win (though not all runs have finished yet).

CC @ngoldbaum

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with _core/tests/test_shape_base.py::TestConcatenate::test_huge_list_error and reproduce the crash on Linux with Python 3.14t across the BLAS variants mentioned. Compare the failing blis and MKL runs with openblas and netlib, then determine whether the failure is threading-related and establish a reliable test outcome.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.