Skip to content

Add subinterpreter support#279

Open
scopreon wants to merge 2 commits intobloomberg:mainfrom
scopreon:add_subinterpreter_support
Open

Add subinterpreter support#279
scopreon wants to merge 2 commits intobloomberg:mainfrom
scopreon:add_subinterpreter_support

Conversation

@scopreon
Copy link
Contributor

@scopreon scopreon commented Feb 22, 2026

Issue number of the reported bug or feature request: #59,#280

Describe your changes
This PR adds simple subinterpreter support to pystack. It preserves all original functionality but does it a few more times by traversing the interpreter linked list. It only supports pure python stacks currently.

Added a new component TracebackPrinter which should help with printing in future. Additional configuration for the printer can be added in future.

Few changes in version.h/cpp.

First contribution so maybe missed something.

Testing performed
Added tests for TracebackPrinter. Added additional end-to-end test for subinterpreters support using the new concurrent 3.14 functionality.

Additional context
Example output

root@875d1afe36dd:/workspaces/pystack# pystack remote 86996
Interpreter-3
  Traceback for thread 87005 (Thread-3 (exec)) [] (most recent call last):
      (Python) File "<script>", line 5, in <module>
  
Interpreter-2
  Traceback for thread 87004 (Thread-2 (exec)) [] (most recent call last):
      (Python) File "<script>", line 5, in <module>
  
Interpreter-1
  Traceback for thread 87003 (Thread-1 (exec)) [] (most recent call last):
      (Python) File "<script>", line 5, in <module>
  
Interpreter-0 (main)
  Traceback for thread 87005 (Thread-3 (exec)) [] (most recent call last):
      (Python) File "/usr/lib/python3.14/threading.py", line 1044, in _bootstrap
          self._bootstrap_inner()
      (Python) File "/usr/lib/python3.14/threading.py", line 1082, in _bootstrap_inner
          self._context.run(self.run)
      (Python) File "/usr/lib/python3.14/threading.py", line 1024, in run
          self._target(*self._args, **self._kwargs)
      (Python) File "/usr/lib/python3.14/concurrent/interpreters/__init__.py", line 215, in exec
          excinfo = _interpreters.exec(self._id, code, restrict=True)
  
  Traceback for thread 87004 (Thread-2 (exec)) [] (most recent call last):
      (Python) File "/usr/lib/python3.14/threading.py", line 1044, in _bootstrap
          self._bootstrap_inner()
      (Python) File "/usr/lib/python3.14/threading.py", line 1082, in _bootstrap_inner
          self._context.run(self.run)
      (Python) File "/usr/lib/python3.14/threading.py", line 1024, in run
          self._target(*self._args, **self._kwargs)
      (Python) File "/usr/lib/python3.14/concurrent/interpreters/__init__.py", line 215, in exec
          excinfo = _interpreters.exec(self._id, code, restrict=True)
  
  Traceback for thread 87003 (Thread-1 (exec)) [] (most recent call last):
      (Python) File "/usr/lib/python3.14/threading.py", line 1044, in _bootstrap
          self._bootstrap_inner()
      (Python) File "/usr/lib/python3.14/threading.py", line 1082, in _bootstrap_inner
          self._context.run(self.run)
      (Python) File "/usr/lib/python3.14/threading.py", line 1024, in run
          self._target(*self._args, **self._kwargs)
      (Python) File "/usr/lib/python3.14/concurrent/interpreters/__init__.py", line 215, in exec
          excinfo = _interpreters.exec(self._id, code, restrict=True)
  
  Traceback for thread 86996 (python3.14) [] (most recent call last):
      (Python) File "/workspaces/pystack/test_file_multiple_interps.py", line 28, in <module>
          print("Main interpreter sleeping forever...")

@codecov-commenter
Copy link

codecov-commenter commented Feb 24, 2026

Codecov Report

❌ Patch coverage is 55.78093% with 218 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.23%. Comparing base (dd69426) to head (77a8d89).

Files with missing lines Patch % Lines
tests/integration/test_subinterpreters.py 34.89% 125 Missing ⚠️
src/pystack/_pystack.pyx 41.25% 47 Missing ⚠️
src/pystack/_pystack/pythread.cpp 34.32% 44 Missing ⚠️
src/pystack/_pystack/interpreter.cpp 88.88% 1 Missing ⚠️
src/pystack/_pystack/process.cpp 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #279      +/-   ##
==========================================
- Coverage   83.03%   81.23%   -1.80%     
==========================================
  Files          48       50       +2     
  Lines        6242     6662     +420     
  Branches      480      509      +29     
==========================================
+ Hits         5183     5412     +229     
- Misses       1059     1250     +191     
Flag Coverage Δ
cpp 81.23% <55.78%> (-1.80%) ⬇️
python_and_cython 81.23% <55.78%> (-1.80%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Iterate over all interpreters in the linked list when determining the PID
offset, fixing an issue where pystack only inspected the first interpreter,
which is not guaranteed to be the main interpreter. This ensures the correct TID
is located even when multiple subinterpreters are present.

Add support for subinterpreters in pure Python stack reporting. Threads running
in subinterpreters are now detected and grouped by interpreter ID. Native stack
reporting for subinterpreters is not yet supported.

Signed-off-by: Saul Cooperman <saulcoops@gmail.com>
@scopreon scopreon force-pushed the add_subinterpreter_support branch from 6e47658 to c46223d Compare March 8, 2026 00:20
…chors

When multiple subinterpreters execute on the same OS thread, each
PyThread previously received the full native stack for that TID. That
made native/Python merging fail because every thread in the group saw
the same set of eval frames, so n_eval did not match each thread's
entry-frame count.

This change makes native merging deterministic for same-TID
subinterpreter groups.

The game is played like this:

- Capture a per-thread stack anchor in the native layer:
  - add Thread::StackAnchor() and d_stack_anchor.
  - compute the anchor from the Python frame chain by walking backwards
    to the nearest stack/shim-owned frame (FRAME_OWNED_BY_INTERPRETER /
    FRAME_OWNED_BY_CSTACK on 3.14+, FRAME_OWNED_BY_CSTACK on 3.12/3.13).
- Thread construction now forwards this anchor into PyThread as stack_anchor.
- Switch process/core thread assembly from immediate yielding to collect-then-normalize.
- Group Python threads by tid when native mode is enabled.
- For groups with more than one thread:
  - pick a canonical native stack,
  - sort group members by stack_anchor (stable tie-breaker),
  - partition eval-frame ownership according to each thread's Python entry-frame count,
  - slice native frames accordingly per thread.
- If counts are inconsistent, keep existing behavior for that group and skip slicing.
@pablogsal pablogsal force-pushed the add_subinterpreter_support branch from 55139f0 to 77a8d89 Compare March 8, 2026 22:50
@pablogsal
Copy link
Collaborator

pablogsal commented Mar 8, 2026

After chatting with @godlygeek when he was here in London I have devised a way that we can use to make --native work. I have pushed a commit with the idea. I have only tested this partially but I haven't gone in full
"let's see if this can break" mode yet so take it with a pinch of salt, but looks like it works. The idea is described in the commit.

Note: this still needs refinement

Example:

pystack add_subinterpreter_support  ? ❯ pystack remote 257596  --native
Interpreter-6
  Traceback for thread 257597 (Thread-1 (launc) [] (most recent call last):
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (Python) File "<script>", line 5, in <module>
      (C) File "./Modules/timemodule.c", line 408, in time_sleep.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/timemodule.c", line 2257, in pysleep (inlined) (/usr/lib/libpython3.14.so.1.0)
      (C) File "../sysdeps/unix/sysv/linux/clock_nanosleep.c", line 48, in clock_nanosleep@GLIBC_2.2.5 (/usr/lib/libc.so.6)
      (C) File "/usr/src/debug/glibc/glibc/nptl/cancellation.c", line 49, in __internal_syscall_cancel (/usr/lib/libc.so.6)
      (C) File "../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S", line 56, in __syscall_cancel_arch (/usr/lib/libc.so.6)

Interpreter-5
  Traceback for thread 257598 (Thread-2 (launc) [] (most recent call last):
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (Python) File "<script>", line 5, in <module>
      (C) File "./Modules/timemodule.c", line 408, in time_sleep.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/timemodule.c", line 2257, in pysleep (inlined) (/usr/lib/libpython3.14.so.1.0)
      (C) File "../sysdeps/unix/sysv/linux/clock_nanosleep.c", line 48, in clock_nanosleep@GLIBC_2.2.5 (/usr/lib/libc.so.6)
      (C) File "/usr/src/debug/glibc/glibc/nptl/cancellation.c", line 49, in __internal_syscall_cancel (/usr/lib/libc.so.6)
      (C) File "../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S", line 56, in __syscall_cancel_arch (/usr/lib/libc.so.6)

Interpreter-4
  Traceback for thread 257597 (Thread-1 (launc) [] (most recent call last):
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (Python) File "<script>", line 17, in <module>
      (Python) File "/usr/lib/python3.14/concurrent/interpreters/__init__.py", line 215, in exec
          excinfo = _interpreters.exec(self._id, code, restrict=True)
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)

Interpreter-3
  Traceback for thread 257598 (Thread-2 (launc) [] (most recent call last):
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (Python) File "<script>", line 17, in <module>
      (Python) File "/usr/lib/python3.14/concurrent/interpreters/__init__.py", line 215, in exec
          excinfo = _interpreters.exec(self._id, code, restrict=True)
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)

Interpreter-2
  Traceback for thread 257598 (Thread-2 (launc) [] (most recent call last):
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (Python) File "<script>", line 17, in <module>
      (Python) File "/usr/lib/python3.14/concurrent/interpreters/__init__.py", line 215, in exec
          excinfo = _interpreters.exec(self._id, code, restrict=True)
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)

Interpreter-1
  Traceback for thread 257597 (Thread-1 (launc) [] (most recent call last):
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (Python) File "<script>", line 17, in <module>
      (Python) File "/usr/lib/python3.14/concurrent/interpreters/__init__.py", line 215, in exec
          excinfo = _interpreters.exec(self._id, code, restrict=True)
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)

Interpreter-0 (main)
  Traceback for thread 257598 (Thread-2 (launc) [] (most recent call last):
      (C) File "../sysdeps/unix/sysv/linux/x86_64/clone3.S", line 78, in __clone3 (/usr/lib/libc.so.6)
      (C) File "/usr/src/debug/glibc/glibc/nptl/pthread_create.c", line 454, in start_thread (/usr/lib/libc.so.6)
      (C) File "Python/thread_pthread.h", line 242, in pythread_wrapper (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_threadmodule.c", line 359, in thread_run (/usr/lib/libpython3.14.so.1.0)
      (Python) File "/usr/lib/python3.14/threading.py", line 1044, in _bootstrap
          self._bootstrap_inner()
      (Python) File "/usr/lib/python3.14/threading.py", line 1082, in _bootstrap_inner
          self._context.run(self.run)
      (C) File "Python/context.c", line 722, in context_run.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (Python) File "/usr/lib/python3.14/threading.py", line 1024, in run
          self._target(*self._args, **self._kwargs)
      (Python) File "/tmp/pytest-of-pablogsal/pytest-9/test_subinterpreters_two_threa0/subinterpreters_two_threads_three_each.py", line 72, in launch_chain
          interp1.exec(level1_code)
      (Python) File "/usr/lib/python3.14/concurrent/interpreters/__init__.py", line 215, in exec
          excinfo = _interpreters.exec(self._id, code, restrict=True)
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)

  Traceback for thread 257597 (Thread-1 (launc) [] (most recent call last):
      (C) File "../sysdeps/unix/sysv/linux/x86_64/clone3.S", line 78, in __clone3 (/usr/lib/libc.so.6)
      (C) File "/usr/src/debug/glibc/glibc/nptl/pthread_create.c", line 454, in start_thread (/usr/lib/libc.so.6)
      (C) File "Python/thread_pthread.h", line 242, in pythread_wrapper (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_threadmodule.c", line 359, in thread_run (/usr/lib/libpython3.14.so.1.0)
      (Python) File "/usr/lib/python3.14/threading.py", line 1044, in _bootstrap
          self._bootstrap_inner()
      (Python) File "/usr/lib/python3.14/threading.py", line 1082, in _bootstrap_inner
          self._context.run(self.run)
      (C) File "Python/context.c", line 722, in context_run.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (Python) File "/usr/lib/python3.14/threading.py", line 1024, in run
          self._target(*self._args, **self._kwargs)
      (Python) File "/tmp/pytest-of-pablogsal/pytest-9/test_subinterpreters_two_threa0/subinterpreters_two_threads_three_each.py", line 72, in launch_chain
          interp1.exec(level1_code)
      (Python) File "/usr/lib/python3.14/concurrent/interpreters/__init__.py", line 215, in exec
          excinfo = _interpreters.exec(self._id, code, restrict=True)
      (C) File "Objects/methodobject.c", line 564, in cfunction_call.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/_interpretersmodule.c", line 1145, in interp_exec (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 684, in _run_in_interpreter.cold (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)
      (C) File "./Modules/_interpretersmodule.c", line 626, in _run_script (inlined) (/usr/lib/python3.14/lib-dynload/_interpreters.cpython-314-x86_64-linux-gnu.so)

  Traceback for thread 257596 (python3.14) [] (most recent call last):
      (C) File "???", line 0, in _start (/usr/bin/python3.14)
      (C) File "../csu/libc-start.c", line 360, in __libc_start_main@@GLIBC_2.34 (/usr/lib/libc.so.6)
      (C) File "../sysdeps/nptl/libc_start_call_main.h", line 59, in __libc_start_call_main (/usr/lib/libc.so.6)
      (C) File "Modules/main.c", line 829, in Py_BytesMain (/usr/lib/libpython3.14.so.1.0)
      (C) File "Modules/main.c", line 775, in Py_RunMain (/usr/lib/libpython3.14.so.1.0)
      (C) File "Modules/main.c", line 694, in pymain_run_python (inlined) (/usr/lib/libpython3.14.so.1.0)
      (C) File "Modules/main.c", line 429, in pymain_run_file (inlined) (/usr/lib/libpython3.14.so.1.0)
      (C) File "Modules/main.c", line 410, in pymain_run_file_obj (inlined) (/usr/lib/libpython3.14.so.1.0)
      (C) File "Python/pythonrun.c", line 1293, in pyrun_file.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "Python/pythonrun.c", line 1459, in run_mod.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (Python) File "/tmp/pytest-of-pablogsal/pytest-9/test_subinterpreters_two_threa0/subinterpreters_two_threads_three_each.py", line 81, in <module>
          time.sleep(1)
      (C) File "./Modules/timemodule.c", line 408, in time_sleep.lto_priv.0 (/usr/lib/libpython3.14.so.1.0)
      (C) File "./Modules/timemodule.c", line 2257, in pysleep (inlined) (/usr/lib/libpython3.14.so.1.0)
      (C) File "../sysdeps/unix/sysv/linux/clock_nanosleep.c", line 48, in clock_nanosleep@GLIBC_2.2.5 (/usr/lib/libc.so.6)
      (C) File "/usr/src/debug/glibc/glibc/nptl/cancellation.c", line 49, in __internal_syscall_cancel (/usr/lib/libc.so.6)
      (C) File "../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S", line 56, in __syscall_cancel_arch (/usr/lib/libc.so.6)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants