-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Bug Report
perspective-python crash when a client request a filtered view of a quickly changing table.
Steps to Reproduce:
start from the example "examples/python-tornado-streaming/server.py"
change the table to have an index (name+client)
index 705d6910d..3638ec590 100644
--- a/examples/python-tornado-streaming/server.py
+++ b/examples/python-tornado-streaming/server.py
@@ -28,10 +28,13 @@ def data_source(num_rows):
rows = []
modifier = random.random() * random.randint(1, 50)
for i in range(num_rows):
+ name = SECURITIES[random.randint(0, len(SECURITIES) - 1)]
+ client = CLIENTS[random.randint(0, len(CLIENTS) - 1)]
rows.append(
{
- "name": SECURITIES[random.randint(0, len(SECURITIES) - 1)],
- "client": CLIENTS[random.randint(0, len(CLIENTS) - 1)],
+ "name": name,
+ "client": client,
+ "key": f"{name}_{client}",
"open": (random.random() * 75 + random.randint(0, 9)) * modifier,
"high": (random.random() * 105 + random.randint(1, 3)) * modifier,
"low": (random.random() * 85 + random.randint(1, 3)) * modifier,
@@ -74,8 +77,9 @@ def update_target(perspective_server):
"close": "float",
"lastUpdate": "datetime",
"date": "date",
+ "key": "string",
},
- limit=250_000,
+ index="key",
name="data_source_one",
)run the server
Start a browser http://localhost:8080 and set a filter that make the number of line dynamic like :
[
"close",
">",
2000
]
],
after a couple of seconds the process crashes
segfault at 0 ip 00007f5398b950f7 sp 00007f535affbcd0 error 4 in perspective.abi3.so[7f5398997000+c2d000]
Expected Result:
Expecting the table to display when the filter match some rows
Additional Context:
OS : Linux Red Hat Enterprise Linux release 8.10 (Ootpa)
Python 3.12.11
tornado==6.4.2
Perspective-python==4.0.1
"@perspective-dev/client": "4.0.1",
"@perspective-dev/viewer": "4.0.1",
"@perspective-dev/viewer-d3fc": "4.0.1",
"@perspective-dev/viewer-datagrid": "4.0.1",
WebClient Chome Version 141.0.7390.107 (Official Build) (64-bit)
Actual Result:
Signal: 11 (SEGV)
Timestamp: Thu 2025-12-04 15:11:37 CET
Command Line: .venv/bin/python3 ./server.py
Executable: /usr/bin/python3.12
Control Group: /
Slice: -.slice
Storage: /var/lib/systemd/coredump/core.python3.671348206.357ea3398def452daf7b8ddf6a6a2124.414730.1764857497000000.lz4
Stack trace of thread 414883:
#0 0x00007fc5726491b7 n/a (perspective.abi3.so)
#1 0x00007fc57256c7ef n/a (perspective.abi3.so)
#2 0x00007fc57259d264 n/a (perspective.abi3.so)
#3 0x00007fc5725a775f n/a (perspective.abi3.so)
#4 0x00007fc572565d09 n/a (perspective.abi3.so)
#5 0x00007fc572456227 n/a (perspective.abi3.so)
#6 0x00007fc572497435 n/a (perspective.abi3.so)
#7 0x00007fc5724d10ee n/a (perspective.abi3.so)
#8 0x00007fc57245cd4d n/a (perspective.abi3.so)
#9 0x00007fc579384d62 cfunction_call (libpython3.12.so.1.0)
#10 0x00007fc57939eac2 _PyObject_Call (libpython3.12.so.1.0)
#11 0x00007fc57933cb65 _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#12 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#13 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#14 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#15 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#16 0x00007fc578f071ca start_thread (libpthread.so.0)
#17 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414882:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414741:
#0 0x00007fc578f0d371 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fc571c33870 _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE (libstdc++.so.6)
#2 0x00007fc572f7201e n/a (perspective.abi3.so)
#3 0x00007fc571c39b23 execute_native_thread_routine (libstdc++.so.6)
#4 0x00007fc578f071ca start_thread (libpthread.so.0)
#5 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414730:
#0 0x00007fc5784dd487 epoll_wait (libc.so.6)
#1 0x00007fc57659739e select_epoll_poll (select.cpython-312-x86_64-linux-gnu.so)
#2 0x00007fc57933b732 _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#3 0x00007fc5793af20c PyEval_EvalCode (libpython3.12.so.1.0)
#4 0x00007fc579484171 run_eval_code_obj (libpython3.12.so.1.0)
#5 0x00007fc5794c248b run_mod (libpython3.12.so.1.0)
#6 0x00007fc5794cd7f0 pyrun_file (libpython3.12.so.1.0)
#7 0x00007fc5794cd9d2 _PyRun_SimpleFileObject (libpython3.12.so.1.0)
#8 0x00007fc5794cdaa4 _PyRun_AnyFileObject (libpython3.12.so.1.0)
#9 0x00007fc5794cde73 Py_RunMain (libpython3.12.so.1.0)
#10 0x00007fc5794cf589 Py_BytesMain (libpython3.12.so.1.0)
#11 0x00007fc5783d87e5 __libc_start_main (libc.so.6)
#12 0x000055b3e1d3c74e _start (python3.12)
Stack trace of thread 414885:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414879:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414737:
#0 0x00007fc578f0d371 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fc571c33870 _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE (libstdc++.so.6)
#2 0x00007fc572f7201e n/a (perspective.abi3.so)
#3 0x00007fc571c39b23 execute_native_thread_routine (libstdc++.so.6)
#4 0x00007fc578f071ca start_thread (libpthread.so.0)
#5 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414736:
#0 0x00007fc578f0d371 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fc571c33870 _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE (libstdc++.so.6)
#2 0x00007fc572f7201e n/a (perspective.abi3.so)
#3 0x00007fc571c39b23 execute_native_thread_routine (libstdc++.so.6)
#4 0x00007fc578f071ca start_thread (libpthread.so.0)
#5 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414888:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414733:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414734:
#0 0x00007fc578f0d371 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fc571c33870 _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE (libstdc++.so.6)
#2 0x00007fc572f7201e n/a (perspective.abi3.so)
#3 0x00007fc571c39b23 execute_native_thread_routine (libstdc++.so.6)
#4 0x00007fc578f071ca start_thread (libpthread.so.0)
#5 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414738:
#0 0x00007fc578f0d371 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fc571c33870 _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE (libstdc++.so.6)
#2 0x00007fc572f7201e n/a (perspective.abi3.so)
#3 0x00007fc571c39b23 execute_native_thread_routine (libstdc++.so.6)
#4 0x00007fc578f071ca start_thread (libpthread.so.0)
#5 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414881:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414735:
#0 0x00007fc578f0d371 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fc571c33870 _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE (libstdc++.so.6)
#2 0x00007fc572f7201e n/a (perspective.abi3.so)
#3 0x00007fc571c39b23 execute_native_thread_routine (libstdc++.so.6)
#4 0x00007fc578f071ca start_thread (libpthread.so.0)
#5 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414732:
#0 0x00007fc5784a0f23 clock_nanosleep@@GLIBC_2.17 (libc.so.6)
#1 0x00007fc579473f87 time_sleep (libpython3.12.so.1.0)
#2 0x00007fc579338f18 _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#3 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#4 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#5 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#6 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#7 0x00007fc578f071ca start_thread (libpthread.so.0)
#8 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414889:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414739:
#0 0x00007fc578f0d371 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fc571c33870 _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE (libstdc++.so.6)
#2 0x00007fc572f7201e n/a (perspective.abi3.so)
#3 0x00007fc571c39b23 execute_native_thread_routine (libstdc++.so.6)
#4 0x00007fc578f071ca start_thread (libpthread.so.0)
#5 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414880:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414884:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414887:
#0 0x00007fc578f0c52f __pthread_rwlock_wrlock (libpthread.so.0)
#1 0x00007fc5729cac85 n/a (perspective.abi3.so)
#2 0x00007fc5729f1294 n/a (perspective.abi3.so)
#3 0x00007fc5729c8c94 n/a (perspective.abi3.so)
#4 0x00007fc572574283 n/a (perspective.abi3.so)
#5 0x00007fc572598e12 n/a (perspective.abi3.so)
#6 0x00007fc572599f5b n/a (perspective.abi3.so)
#7 0x00007fc572565e13 n/a (perspective.abi3.so)
#8 0x00007fc572455ae9 n/a (perspective.abi3.so)
#9 0x00007fc572496ba7 n/a (perspective.abi3.so)
#10 0x00007fc57245cd96 n/a (perspective.abi3.so)
#11 0x00007fc57933af3d _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#12 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#13 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#14 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#15 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#16 0x00007fc578f071ca start_thread (libpthread.so.0)
#17 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414740:
#0 0x00007fc578f0d371 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1 0x00007fc571c33870 _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE (libstdc++.so.6)
#2 0x00007fc572f7201e n/a (perspective.abi3.so)
#3 0x00007fc571c39b23 execute_native_thread_routine (libstdc++.so.6)
#4 0x00007fc578f071ca start_thread (libpthread.so.0)
#5 0x00007fc5783d78d3 __clone (libc.so.6)
Stack trace of thread 414886:
#0 0x00007fc578f0fa46 do_futex_wait.constprop.1 (libpthread.so.0)
#1 0x00007fc578f0fb38 __new_sem_wait_slow.constprop.0 (libpthread.so.0)
#2 0x00007fc5793524bf PyThread_acquire_lock_timed (libpython3.12.so.1.0)
#3 0x00007fc5749eeb44 _queue_SimpleQueue_get_impl (_queue.cpython-312-x86_64-linux-gnu.so)
#4 0x00007fc5749eed5c _queue_SimpleQueue_get (_queue.cpython-312-x86_64-linux-gnu.so)
#5 0x00007fc579439de1 method_vectorcall_FASTCALL_KEYWORDS_METHOD (libpython3.12.so.1.0)
#6 0x00007fc5793a3ccf PyObject_Vectorcall (libpython3.12.so.1.0)
#7 0x00007fc57933894a _PyEval_EvalFrameDefault (libpython3.12.so.1.0)
#8 0x00007fc579436937 method_vectorcall (libpython3.12.so.1.0)
#9 0x00007fc57939ea64 _PyObject_Call (libpython3.12.so.1.0)
#10 0x00007fc57948e9f3 thread_run (libpython3.12.so.1.0)
#11 0x00007fc57944b874 pythread_wrapper (libpython3.12.so.1.0)
#12 0x00007fc578f071ca start_thread (libpthread.so.0)
#13 0x00007fc5783d78d3 __clone (libc.so.6)