gh-133467: Fix typeobject tp_base race in free threading (gh-140549)

This commit is contained in:
Edward Xu 2025-11-06 05:20:40 +08:00 committed by GitHub
parent 986bb0a1a2
commit b83f379a97
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 30 additions and 4 deletions

View file

@ -141,6 +141,25 @@ def reader():
self.run_one(writer, reader)
def test_bases_change(self):
class BaseA:
pass
class Derived(BaseA):
pass
def writer():
for _ in range(1000):
class BaseB:
pass
Derived.__bases__ = (BaseB,)
def reader():
for _ in range(1000):
Derived.__base__
self.run_one(writer, reader)
def run_one(self, writer_func, reader_func):
barrier = threading.Barrier(NTHREADS)