Open
Description
Describe the issue:
Found then investigating #28710.
Reproduce the code example:
import unittest
from threading import Thread, Barrier
from test.support import threading_helper
import numpy as np
threading_helper.requires_working_threading(module=True)
class ItertoolsThreading(unittest.TestCase):
@threading_helper.reap_threads
def test_result_type(self):
number_of_threads = 6
number_of_iterations = 25
number_of_cycles = 800
barrier = Barrier(number_of_threads)
x = np.array([1., 2., 3., 4.], np.dtype([('f1', [('f1', '<i2')])]))
y = np.array([1, 2,], np.dtype([('f1', [('f1', '<i2')])]))
def work(it):
barrier.wait()
for _ in range(number_of_cycles):
#print(f'{it=} {_}')
x.dtype = np.dtype([('f1', [('f1', '<i2')])]) # single reference
y.dtype = np.dtype([('f1', [('f1', '<i2')])]) # single reference
np.result_type(x, y)
for it in range(number_of_iterations):
print(f'iteration {it}')
worker_threads = []
for ii in range(number_of_threads):
worker_threads.append(
Thread(target=work, args=[ii]))
with threading_helper.start_threads(worker_threads):
pass
barrier.reset()
print('done')
if __name__ == "__main__":
unittest.main()
Error message:
Python and NumPy Versions:
Tested on Linux with a virtual environment created with uv with python 3.13t.
Runtime Environment:
No response
Context for the issue:
No response
Metadata
Metadata
Assignees
Labels
PRs and issues related to support for free-threading CPython (a.k.a. no-GIL, PEP 703)PRs and issues related to support for free-threading CPython (a.k.a. no-GIL, PEP 703)