Skip to content

Deadlock in 3.15.0rc2 free threading in type_set_abstractmethods #156910

Description

@hawkinsp

Bug report

Bug description:

Reproducer:

import abc
import dataclasses
import itertools
import threading

counter = itertools.count(1)


class Base(abc.ABC):

  @abc.abstractmethod
  def run(self):
    pass


def worker():
  for _ in range(1000):
    step = next(counter)
    if step % 10 == 0:
      print(f"Step {step}", flush=True)

    @dataclasses.dataclass(frozen=True)
    class Sub(Base):
      x: int = 1


threads = [threading.Thread(target=worker) for _ in range(32)]
for t in threads:
  t.start()
for t in threads:
  t.join()

print("Done")

Behavior:

Step 10
Step 20
Step 30
... hangs forever here for me ...

What AI thinks:

In free-threaded CPython, type_set_abstractmethods() in Objects/typeobject.c calls types_stop_world() while holding TYPE_LOCK, but does not call type_lock_prevent_release().
If types_stop_world() blocks on stw->mutex, the thread parks and drops TYPE_LOCK. A second thread running type_setattro()

→ apply_type_slot_updates() can then acquire TYPE_LOCK, call type_lock_prevent_release(), and block on stw->mutex while holding TYPE_LOCK. When the first thread acquires stw->mutex and unparks, it attempts to reacquire TYPE_LOCK to resume its critical section, resulting in a deadlock between the two threads over TYPE_LOCK and stw->mutex.

Thread stacks:


Thread 25 (Thread 0x7f89a15ff6c0 (LWP 2593526) "Thread-1 (worke"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f89a15fe258, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f89a15fe258, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f89a15fe258, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f89a15fe258, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f89a15fe258, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d769ca in type_ready_publish[cold] ()
#11 0x0000000001a5afce in type_new ()
#12 0x0000000001a21466 in tp_new_wrapper ()
#13 0x0000000001a229c5 in _TAIL_CALL_CALL_EX_NON_PY_GENERAL ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a4892d in slot_tp_new ()
#16 0x0000000001a0c548 in type_call ()
#17 0x0000000001a6758a in _PyObject_MakeTpCall ()
#18 0x0000000001a49b7a in builtin___build_class__ ()
#19 0x0000000001a270c6 in _TAIL_CALL_CALL_BUILTIN_FAST_WITH_KEYWORDS ()
#20 0x0000000001a13086 in _PyFunction_Vectorcall ()
#21 0x0000000001a12a8c in method_vectorcall.llvm ()
#22 0x0000000001b4fa9c in context_run ()
#23 0x0000000001a249fc in _TAIL_CALL_CALL ()
#24 0x0000000001a13086 in _PyFunction_Vectorcall ()
#25 0x0000000001a12a8c in method_vectorcall.llvm ()
#26 0x0000000001c103c7 in thread_run ()
#27 0x0000000001c10334 in pythread_wrapper.llvm ()
#28 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#29 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 24 (Thread 0x7f89a0dfe6c0 (LWP 2593527) "Thread-2 (worke"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f89a0dfd298, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f89a0dfd298, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f89a0dfd298, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f89a0dfd298, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f89a0dfd298, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001e2a195 in type_get_bases[cold] ()
#11 0x0000000001a17e61 in _Py_type_getattro_impl ()
#12 0x0000000001a951f6 in _abc__abc_init ()
#13 0x0000000001a02e2c in _TAIL_CALL_CALL_BUILTIN_O ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a4892d in slot_tp_new ()
#16 0x0000000001a0c548 in type_call ()
#17 0x0000000001a6758a in _PyObject_MakeTpCall ()
#18 0x0000000001a49b7a in builtin___build_class__ ()
#19 0x0000000001a270c6 in _TAIL_CALL_CALL_BUILTIN_FAST_WITH_KEYWORDS ()
#20 0x0000000001a13086 in _PyFunction_Vectorcall ()
#21 0x0000000001a12a8c in method_vectorcall.llvm ()
#22 0x0000000001b4fa9c in context_run ()
#23 0x0000000001a249fc in _TAIL_CALL_CALL ()
#24 0x0000000001a13086 in _PyFunction_Vectorcall ()
#25 0x0000000001a12a8c in method_vectorcall.llvm ()
#26 0x0000000001c103c7 in thread_run ()
#27 0x0000000001c10334 in pythread_wrapper.llvm ()
#28 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#29 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 23 (Thread 0x7f899bfff6c0 (LWP 2593528) "Thread-3 (worke"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f899bffe668, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f899bffe668, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f899bffe668, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f899bffe668, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f899bffe668, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001e2a195 in type_get_bases[cold] ()
#11 0x0000000001a48d42 in _Py_type_getattro_stackref ()
#12 0x0000000001a16dbf in _TAIL_CALL_LOAD_ATTR ()
#13 0x0000000001a13086 in _PyFunction_Vectorcall ()
#14 0x0000000001a12a8c in method_vectorcall.llvm ()
#15 0x0000000001b4fa9c in context_run ()
#16 0x0000000001a249fc in _TAIL_CALL_CALL ()
#17 0x0000000001a13086 in _PyFunction_Vectorcall ()
#18 0x0000000001a12a8c in method_vectorcall.llvm ()
#19 0x0000000001c103c7 in thread_run ()
#20 0x0000000001c10334 in pythread_wrapper.llvm ()
#21 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#22 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 22 (Thread 0x7f899b7fe6c0 (LWP 2593529) "Thread-4 (worke"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f899b7fd318, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f899b7fd318, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f899b7fd318, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f899b7fd318, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f899b7fd318, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001e1a514 in stop_the_world.llvm[cold] ()
#11 0x0000000001aca8db in type_setattro ()
#12 0x0000000001a39a7b in PyObject_SetAttr ()
#13 0x0000000001a399bd in builtin_setattr ()
#14 0x0000000001a05ae4 in _TAIL_CALL_CALL_BUILTIN_FAST ()
#15 0x0000000001a13086 in _PyFunction_Vectorcall ()
#16 0x0000000001a12a8c in method_vectorcall.llvm ()
#17 0x0000000001b4fa9c in context_run ()
#18 0x0000000001a249fc in _TAIL_CALL_CALL ()
#19 0x0000000001a13086 in _PyFunction_Vectorcall ()
#20 0x0000000001a12a8c in method_vectorcall.llvm ()
#21 0x0000000001c103c7 in thread_run ()
#22 0x0000000001c10334 in pythread_wrapper.llvm ()
#23 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#24 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 21 (Thread 0x7f899affd6c0 (LWP 2593530) "Thread-5 (worke"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f899affc5b8, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f899affc5b8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f899affc5b8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f899affc5b8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f899affc5b8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d8bdbb in _Py_type_getattro_impl.cold ()
#11 0x0000000001a19717 in PyObject_GetOptionalAttr ()
#12 0x0000000001a05936 in builtin_getattr ()
#13 0x0000000001a05ae4 in _TAIL_CALL_CALL_BUILTIN_FAST ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a12a8c in method_vectorcall.llvm ()
#16 0x0000000001b4fa9c in context_run ()
#17 0x0000000001a249fc in _TAIL_CALL_CALL ()
#18 0x0000000001a13086 in _PyFunction_Vectorcall ()
#19 0x0000000001a12a8c in method_vectorcall.llvm ()
#20 0x0000000001c103c7 in thread_run ()
#21 0x0000000001c10334 in pythread_wrapper.llvm ()
#22 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#23 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 20 (Thread 0x7f899a7fc6c0 (LWP 2593531) "Thread-6 (worke"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f899a7fb5b8, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f899a7fb5b8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f899a7fb5b8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f899a7fb5b8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f899a7fb5b8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d8bdbb in _Py_type_getattro_impl.cold ()
#11 0x0000000001a19717 in PyObject_GetOptionalAttr ()
#12 0x0000000001a05936 in builtin_getattr ()
#13 0x0000000001a05ae4 in _TAIL_CALL_CALL_BUILTIN_FAST ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a12a8c in method_vectorcall.llvm ()
#16 0x0000000001b4fa9c in context_run ()
#17 0x0000000001a249fc in _TAIL_CALL_CALL ()
#18 0x0000000001a13086 in _PyFunction_Vectorcall ()
#19 0x0000000001a12a8c in method_vectorcall.llvm ()
#20 0x0000000001c103c7 in thread_run ()
#21 0x0000000001c10334 in pythread_wrapper.llvm ()
#22 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#23 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 19 (Thread 0x7f8999ffb6c0 (LWP 2593532) "Thread-7 (worke"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8999ff9db8, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8999ff9db8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8999ff9db8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8999ff9db8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8999ff9db8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d4a632 in _PyThreadState_Attach.warm ()
#11 0x0000000001b0047b in _PyParkingLot_Park ()
#12 0x0000000001a51028 in _PyMutex_LockTimed ()
#13 0x0000000001e1a514 in stop_the_world.llvm[cold] ()
#14 0x0000000001acb2c5 in type_set_abstractmethods ()
#15 0x0000000001aca675 in type_setattro ()
#16 0x0000000001a39a7b in PyObject_SetAttr ()
#17 0x0000000001a953d3 in _abc__abc_init ()
#18 0x0000000001a02e2c in _TAIL_CALL_CALL_BUILTIN_O ()
#19 0x0000000001a13086 in _PyFunction_Vectorcall ()
#20 0x0000000001a4892d in slot_tp_new ()
#21 0x0000000001a0c548 in type_call ()
#22 0x0000000001a6758a in _PyObject_MakeTpCall ()
#23 0x0000000001a49b7a in builtin___build_class__ ()
#24 0x0000000001a270c6 in _TAIL_CALL_CALL_BUILTIN_FAST_WITH_KEYWORDS ()
#25 0x0000000001a13086 in _PyFunction_Vectorcall ()
#26 0x0000000001a12a8c in method_vectorcall.llvm ()
#27 0x0000000001b4fa9c in context_run ()
#28 0x0000000001a249fc in _TAIL_CALL_CALL ()
#29 0x0000000001a13086 in _PyFunction_Vectorcall ()
#30 0x0000000001a12a8c in method_vectorcall.llvm ()
#31 0x0000000001c103c7 in thread_run ()
#32 0x0000000001c10334 in pythread_wrapper.llvm ()
#33 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#34 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 18 (Thread 0x7f89997fa6c0 (LWP 2593533) "Thread-8 (worke"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f89997f9608, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f89997f9608, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f89997f9608, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f89997f9608, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f89997f9608, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001b1a48a in _PyCriticalSection_BeginSlow ()
#11 0x0000000001e15299 in _PyType_LookupRefAndVersion.cold ()
#12 0x0000000001ac4297 in analyze_descriptor_load ()
#13 0x0000000001ac3890 in _Py_Specialize_LoadAttr ()
#14 0x0000000001a173e9 in _TAIL_CALL_LOAD_ATTR ()
#15 0x0000000001a13086 in _PyFunction_Vectorcall ()
#16 0x0000000001a12a8c in method_vectorcall.llvm ()
#17 0x0000000001b4fa9c in context_run ()
#18 0x0000000001a249fc in _TAIL_CALL_CALL ()
#19 0x0000000001a13086 in _PyFunction_Vectorcall ()
#20 0x0000000001a12a8c in method_vectorcall.llvm ()
#21 0x0000000001c103c7 in thread_run ()
#22 0x0000000001c10334 in pythread_wrapper.llvm ()
#23 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#24 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 17 (Thread 0x7f8998ff96c0 (LWP 2593534) "Thread-9 (worke"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8998ff7f08, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8998ff7f08, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8998ff7f08, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8998ff7f08, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8998ff7f08, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001e1a514 in stop_the_world.llvm[cold] ()
#11 0x0000000001acb2c5 in type_set_abstractmethods ()
#12 0x0000000001aca675 in type_setattro ()
#13 0x0000000001a39a7b in PyObject_SetAttr ()
#14 0x0000000001a953d3 in _abc__abc_init ()
#15 0x0000000001a02e2c in _TAIL_CALL_CALL_BUILTIN_O ()
#16 0x0000000001a13086 in _PyFunction_Vectorcall ()
#17 0x0000000001a4892d in slot_tp_new ()
#18 0x0000000001a0c548 in type_call ()
#19 0x0000000001a6758a in _PyObject_MakeTpCall ()
#20 0x0000000001a49b7a in builtin___build_class__ ()
#21 0x0000000001a270c6 in _TAIL_CALL_CALL_BUILTIN_FAST_WITH_KEYWORDS ()
#22 0x0000000001a13086 in _PyFunction_Vectorcall ()
#23 0x0000000001a12a8c in method_vectorcall.llvm ()
#24 0x0000000001b4fa9c in context_run ()
#25 0x0000000001a249fc in _TAIL_CALL_CALL ()
#26 0x0000000001a13086 in _PyFunction_Vectorcall ()
#27 0x0000000001a12a8c in method_vectorcall.llvm ()
#28 0x0000000001c103c7 in thread_run ()
#29 0x0000000001c10334 in pythread_wrapper.llvm ()
#30 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#31 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 16 (Thread 0x7f8977fff6c0 (LWP 2593535) "Thread-10 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8977ffdf58, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8977ffdf58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8977ffdf58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8977ffdf58, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8977ffdf58, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001e1a2c0 in type_set_abstractmethods[cold] ()
#11 0x0000000001aca675 in type_setattro ()
#12 0x0000000001a39a7b in PyObject_SetAttr ()
#13 0x0000000001a953d3 in _abc__abc_init ()
#14 0x0000000001a02e2c in _TAIL_CALL_CALL_BUILTIN_O ()
#15 0x0000000001a13086 in _PyFunction_Vectorcall ()
#16 0x0000000001a4892d in slot_tp_new ()
#17 0x0000000001a0c548 in type_call ()
#18 0x0000000001a6758a in _PyObject_MakeTpCall ()
#19 0x0000000001a49b7a in builtin___build_class__ ()
#20 0x0000000001a270c6 in _TAIL_CALL_CALL_BUILTIN_FAST_WITH_KEYWORDS ()
#21 0x0000000001a13086 in _PyFunction_Vectorcall ()
#22 0x0000000001a12a8c in method_vectorcall.llvm ()
#23 0x0000000001b4fa9c in context_run ()
#24 0x0000000001a249fc in _TAIL_CALL_CALL ()
#25 0x0000000001a13086 in _PyFunction_Vectorcall ()
#26 0x0000000001a12a8c in method_vectorcall.llvm ()
#27 0x0000000001c103c7 in thread_run ()
#28 0x0000000001c10334 in pythread_wrapper.llvm ()
#29 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#30 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 15 (Thread 0x7f89777fe6c0 (LWP 2593536) "Thread-11 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f89777fd588, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f89777fd588, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f89777fd588, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f89777fd588, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f89777fd588, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d8bdbb in _Py_type_getattro_impl.cold ()
#11 0x0000000001a19717 in PyObject_GetOptionalAttr ()
#12 0x0000000001a05936 in builtin_getattr ()
#13 0x0000000001a249fc in _TAIL_CALL_CALL ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a12a8c in method_vectorcall.llvm ()
#16 0x0000000001b4fa9c in context_run ()
#17 0x0000000001a249fc in _TAIL_CALL_CALL ()
#18 0x0000000001a13086 in _PyFunction_Vectorcall ()
#19 0x0000000001a12a8c in method_vectorcall.llvm ()
#20 0x0000000001c103c7 in thread_run ()
#21 0x0000000001c10334 in pythread_wrapper.llvm ()
#22 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#23 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 14 (Thread 0x7f8976ffd6c0 (LWP 2593537) "Thread-12 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8976ffc668, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8976ffc668, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8976ffc668, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8976ffc668, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8976ffc668, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001e2a195 in type_get_bases[cold] ()
#11 0x0000000001a48d42 in _Py_type_getattro_stackref ()
#12 0x0000000001a16dbf in _TAIL_CALL_LOAD_ATTR ()
#13 0x0000000001a13086 in _PyFunction_Vectorcall ()
#14 0x0000000001a12a8c in method_vectorcall.llvm ()
#15 0x0000000001b4fa9c in context_run ()
#16 0x0000000001a249fc in _TAIL_CALL_CALL ()
#17 0x0000000001a13086 in _PyFunction_Vectorcall ()
#18 0x0000000001a12a8c in method_vectorcall.llvm ()
#19 0x0000000001c103c7 in thread_run ()
#20 0x0000000001c10334 in pythread_wrapper.llvm ()
#21 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#22 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 13 (Thread 0x7f89767fc6c0 (LWP 2593538) "Thread-13 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f89767fb338, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f89767fb338, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f89767fb338, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f89767fb338, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f89767fb338, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001c51c0a in _PyCriticalSection2_BeginSlow ()
#11 0x0000000001e19776 in type_setattro[cold] ()
#12 0x0000000001a39a7b in PyObject_SetAttr ()
#13 0x0000000001a399bd in builtin_setattr ()
#14 0x0000000001a05ae4 in _TAIL_CALL_CALL_BUILTIN_FAST ()
#15 0x0000000001a13086 in _PyFunction_Vectorcall ()
#16 0x0000000001a12a8c in method_vectorcall.llvm ()
#17 0x0000000001b4fa9c in context_run ()
#18 0x0000000001a249fc in _TAIL_CALL_CALL ()
#19 0x0000000001a13086 in _PyFunction_Vectorcall ()
#20 0x0000000001a12a8c in method_vectorcall.llvm ()
#21 0x0000000001c103c7 in thread_run ()
#22 0x0000000001c10334 in pythread_wrapper.llvm ()
#23 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#24 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 12 (Thread 0x7f8975ffb6c0 (LWP 2593539) "Thread-14 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8975ffa338, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8975ffa338, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8975ffa338, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8975ffa338, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8975ffa338, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001c51c0a in _PyCriticalSection2_BeginSlow ()
#11 0x0000000001e19776 in type_setattro[cold] ()
#12 0x0000000001a39a7b in PyObject_SetAttr ()
#13 0x0000000001a399bd in builtin_setattr ()
#14 0x0000000001a05ae4 in _TAIL_CALL_CALL_BUILTIN_FAST ()
#15 0x0000000001a13086 in _PyFunction_Vectorcall ()
#16 0x0000000001a12a8c in method_vectorcall.llvm ()
#17 0x0000000001b4fa9c in context_run ()
#18 0x0000000001a249fc in _TAIL_CALL_CALL ()
#19 0x0000000001a13086 in _PyFunction_Vectorcall ()
#20 0x0000000001a12a8c in method_vectorcall.llvm ()
#21 0x0000000001c103c7 in thread_run ()
#22 0x0000000001c10334 in pythread_wrapper.llvm ()
#23 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#24 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 11 (Thread 0x7f89757fa6c0 (LWP 2593540) "Thread-15 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f89757f96c8, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f89757f96c8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f89757f96c8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f89757f96c8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f89757f96c8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001e1a514 in stop_the_world.llvm[cold] ()
#11 0x0000000001acb52e in func_set_qualname ()
#12 0x0000000001a39eda in PyObject_GenericSetAttr ()
#13 0x0000000001a39c2d in _TAIL_CALL_STORE_ATTR ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a12a8c in method_vectorcall.llvm ()
#16 0x0000000001b4fa9c in context_run ()
#17 0x0000000001a249fc in _TAIL_CALL_CALL ()
#18 0x0000000001a13086 in _PyFunction_Vectorcall ()
#19 0x0000000001a12a8c in method_vectorcall.llvm ()
#20 0x0000000001c103c7 in thread_run ()
#21 0x0000000001c10334 in pythread_wrapper.llvm ()
#22 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#23 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 10 (Thread 0x7f8974ff96c0 (LWP 2593541) "Thread-16 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8974ff8598, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8974ff8598, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8974ff8598, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8974ff8598, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8974ff8598, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d8bdbb in _Py_type_getattro_impl.cold ()
#11 0x0000000001a19717 in PyObject_GetOptionalAttr ()
#12 0x0000000001a1932a in builtin_hasattr ()
#13 0x0000000001a249fc in _TAIL_CALL_CALL ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a12a8c in method_vectorcall.llvm ()
#16 0x0000000001b4fa9c in context_run ()
#17 0x0000000001a249fc in _TAIL_CALL_CALL ()
#18 0x0000000001a13086 in _PyFunction_Vectorcall ()
#19 0x0000000001a12a8c in method_vectorcall.llvm ()
#20 0x0000000001c103c7 in thread_run ()
#21 0x0000000001c10334 in pythread_wrapper.llvm ()
#22 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#23 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 9 (Thread 0x7f8957fff6c0 (LWP 2593542) "Thread-17 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8957ffe598, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8957ffe598, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8957ffe598, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8957ffe598, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8957ffe598, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d8bdbb in _Py_type_getattro_impl.cold ()
#11 0x0000000001a19717 in PyObject_GetOptionalAttr ()
#12 0x0000000001a1932a in builtin_hasattr ()
#13 0x0000000001a249fc in _TAIL_CALL_CALL ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a12a8c in method_vectorcall.llvm ()
#16 0x0000000001b4fa9c in context_run ()
#17 0x0000000001a249fc in _TAIL_CALL_CALL ()
#18 0x0000000001a13086 in _PyFunction_Vectorcall ()
#19 0x0000000001a12a8c in method_vectorcall.llvm ()
#20 0x0000000001c103c7 in thread_run ()
#21 0x0000000001c10334 in pythread_wrapper.llvm ()
#22 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#23 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 8 (Thread 0x7f89577fe6c0 (LWP 2593543) "Thread-18 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f89577fd588, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f89577fd588, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f89577fd588, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f89577fd588, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f89577fd588, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d8bdbb in _Py_type_getattro_impl.cold ()
#11 0x0000000001a19717 in PyObject_GetOptionalAttr ()
#12 0x0000000001a05936 in builtin_getattr ()
#13 0x0000000001a249fc in _TAIL_CALL_CALL ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a12a8c in method_vectorcall.llvm ()
#16 0x0000000001b4fa9c in context_run ()
#17 0x0000000001a249fc in _TAIL_CALL_CALL ()
#18 0x0000000001a13086 in _PyFunction_Vectorcall ()
#19 0x0000000001a12a8c in method_vectorcall.llvm ()
#20 0x0000000001c103c7 in thread_run ()
#21 0x0000000001c10334 in pythread_wrapper.llvm ()
#22 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#23 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 7 (Thread 0x7f8956ffd6c0 (LWP 2593544) "Thread-19 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8956ffc308, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8956ffc308, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8956ffc308, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8956ffc308, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8956ffc308, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001c51c0a in _PyCriticalSection2_BeginSlow ()
#11 0x0000000001e19776 in type_setattro[cold] ()
#12 0x0000000001a39a7b in PyObject_SetAttr ()
#13 0x0000000001a399bd in builtin_setattr ()
#14 0x0000000001a249fc in _TAIL_CALL_CALL ()
#15 0x0000000001a13086 in _PyFunction_Vectorcall ()
#16 0x0000000001a12a8c in method_vectorcall.llvm ()
#17 0x0000000001b4fa9c in context_run ()
#18 0x0000000001a249fc in _TAIL_CALL_CALL ()
#19 0x0000000001a13086 in _PyFunction_Vectorcall ()
#20 0x0000000001a12a8c in method_vectorcall.llvm ()
#21 0x0000000001c103c7 in thread_run ()
#22 0x0000000001c10334 in pythread_wrapper.llvm ()
#23 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#24 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 6 (Thread 0x7f89567fc6c0 (LWP 2593545) "Thread-20 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f89567fb588, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f89567fb588, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f89567fb588, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f89567fb588, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f89567fb588, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d8bdbb in _Py_type_getattro_impl.cold ()
#11 0x0000000001a19717 in PyObject_GetOptionalAttr ()
#12 0x0000000001a05936 in builtin_getattr ()
#13 0x0000000001a249fc in _TAIL_CALL_CALL ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a12a8c in method_vectorcall.llvm ()
#16 0x0000000001b4fa9c in context_run ()
#17 0x0000000001a249fc in _TAIL_CALL_CALL ()
#18 0x0000000001a13086 in _PyFunction_Vectorcall ()
#19 0x0000000001a12a8c in method_vectorcall.llvm ()
#20 0x0000000001c103c7 in thread_run ()
#21 0x0000000001c10334 in pythread_wrapper.llvm ()
#22 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#23 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 5 (Thread 0x7f8955ffb6c0 (LWP 2593546) "Thread-21 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8955ffa138, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8955ffa138, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8955ffa138, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8955ffa138, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8955ffa138, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d8bdbb in _Py_type_getattro_impl.cold ()
#11 0x0000000001a19717 in PyObject_GetOptionalAttr ()
#12 0x0000000001a952b3 in _abc__abc_init ()
#13 0x0000000001a249fc in _TAIL_CALL_CALL ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a4892d in slot_tp_new ()
#16 0x0000000001a0c548 in type_call ()
#17 0x0000000001a6758a in _PyObject_MakeTpCall ()
#18 0x0000000001a49b7a in builtin___build_class__ ()
#19 0x0000000001a249fc in _TAIL_CALL_CALL ()
#20 0x0000000001a13086 in _PyFunction_Vectorcall ()
#21 0x0000000001a12a8c in method_vectorcall.llvm ()
#22 0x0000000001b4fa9c in context_run ()
#23 0x0000000001a249fc in _TAIL_CALL_CALL ()
#24 0x0000000001a13086 in _PyFunction_Vectorcall ()
#25 0x0000000001a12a8c in method_vectorcall.llvm ()
#26 0x0000000001c103c7 in thread_run ()
#27 0x0000000001c10334 in pythread_wrapper.llvm ()
#28 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#29 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 4 (Thread 0x7f89557fa6c0 (LWP 2593547) "Thread-22 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f89557f9248, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f89557f9248, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f89557f9248, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f89557f9248, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f89557f9248, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d769ca in type_ready_publish[cold] ()
#11 0x0000000001a5afce in type_new ()
#12 0x0000000001a21466 in tp_new_wrapper ()
#13 0x0000000001a82b14 in _TAIL_CALL_CALL_FUNCTION_EX ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a4892d in slot_tp_new ()
#16 0x0000000001a0c548 in type_call ()
#17 0x0000000001a6758a in _PyObject_MakeTpCall ()
#18 0x0000000001a49b7a in builtin___build_class__ ()
#19 0x0000000001a249fc in _TAIL_CALL_CALL ()
#20 0x0000000001a13086 in _PyFunction_Vectorcall ()
#21 0x0000000001a12a8c in method_vectorcall.llvm ()
#22 0x0000000001b4fa9c in context_run ()
#23 0x0000000001a249fc in _TAIL_CALL_CALL ()
#24 0x0000000001a13086 in _PyFunction_Vectorcall ()
#25 0x0000000001a12a8c in method_vectorcall.llvm ()
#26 0x0000000001c103c7 in thread_run ()
#27 0x0000000001c10334 in pythread_wrapper.llvm ()
#28 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#29 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 3 (Thread 0x7f8954ff96c0 (LWP 2593548) "Thread-23 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8954ff8248, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8954ff8248, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8954ff8248, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8954ff8248, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8954ff8248, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001d769ca in type_ready_publish[cold] ()
#11 0x0000000001a5afce in type_new ()
#12 0x0000000001a21466 in tp_new_wrapper ()
#13 0x0000000001a82b14 in _TAIL_CALL_CALL_FUNCTION_EX ()
#14 0x0000000001a13086 in _PyFunction_Vectorcall ()
#15 0x0000000001a4892d in slot_tp_new ()
#16 0x0000000001a0c548 in type_call ()
#17 0x0000000001a6758a in _PyObject_MakeTpCall ()
#18 0x0000000001a49b7a in builtin___build_class__ ()
#19 0x0000000001a249fc in _TAIL_CALL_CALL ()
#20 0x0000000001a13086 in _PyFunction_Vectorcall ()
#21 0x0000000001a12a8c in method_vectorcall.llvm ()
#22 0x0000000001b4fa9c in context_run ()
#23 0x0000000001a249fc in _TAIL_CALL_CALL ()
#24 0x0000000001a13086 in _PyFunction_Vectorcall ()
#25 0x0000000001a12a8c in method_vectorcall.llvm ()
#26 0x0000000001c103c7 in thread_run ()
#27 0x0000000001c10334 in pythread_wrapper.llvm ()
#28 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#29 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 2 (Thread 0x7f8937fff6c0 (LWP 2593549) "Thread-24 (work"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7f8937ffeaa8, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7f8937ffeaa8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7f8937ffeaa8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7f8937ffeaa8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7f8937ffeaa8, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001e290cc in _PyType_Validate.cold ()
#11 0x0000000001aeb7c1 in _Py_Specialize_ToBool ()
#12 0x0000000001a0899b in _TAIL_CALL_TO_BOOL ()
#13 0x0000000001a13086 in _PyFunction_Vectorcall ()
#14 0x0000000001a12a8c in method_vectorcall.llvm ()
#15 0x0000000001c103c7 in thread_run ()
#16 0x0000000001c10334 in pythread_wrapper.llvm ()
#17 0x00007f89a1aa0918 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:454
#18 0x00007f89a1b1efd8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 1 (Thread 0x7f89a1a08780 (LWP 2593525) "python"):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007f89a1a9d534 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=a3@entry=0, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at ./nptl/cancellation.c:49
#2  0x00007f89a1a9d7ec in __futex_abstimed_wait_common64 (private=<optimized out>, futex_word=0x7fffee499b58, expected=0, op=<optimized out>, abstime=0x0, cancel=true) at ./nptl/futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x7fffee499b58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#4  0x00007f89a1a9d84b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7fffee499b58, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
#5  0x00007f89a1aa88ff in do_futex_wait (sem=sem@entry=0x7fffee499b58, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
#6  0x00007f89a1aa8988 in __new_sem_wait_slow64 (sem=0x7fffee499b58, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
#7  0x0000000001b00537 in _PySemaphore_Wait ()
#8  0x0000000001b0045c in _PyParkingLot_Park ()
#9  0x0000000001a51028 in _PyMutex_LockTimed ()
#10 0x0000000001a50d02 in _thread_lock_acquire ()
#11 0x0000000001a89eab in _TAIL_CALL_CALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS ()
#12 0x0000000001a4a218 in _PyEval_Vector ()
#13 0x0000000001a49ed5 in PyEval_EvalCode ()
#14 0x0000000001ae12e2 in run_mod ()
#15 0x0000000001c94074 in _PyRun_File ()
#16 0x0000000001c93d27 in _PyRun_SimpleFile ()
#17 0x0000000001c93c0a in _PyRun_AnyFile ()
#18 0x0000000001c13e49 in pymain_run_file_obj ()
#19 0x0000000001c13d71 in pymain_run_file ()
#20 0x0000000001c149fd in Py_RunMain ()
#21 0x0000000001bb7f46 in pymain_main.llvm ()
#22 0x0000000001bb7d6c in main ()

Seen in the wild in JAX's CI: https://github.com/jax-ml/jax/actions/runs/33753988539/job/100643881814

CPython versions tested on:

3.15

Operating systems tested on:

Linux

Linked PRs

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions