You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am having trouble getting Yappi to work with Python 3.13t Free Threading. Attempting to isolate the issue, the smallest example was using unittest.patch. However I am able to see it with other libraries, notably a c binary accessed via ctypes. The issue occurs whether the GI is disabled or not.
Code
#!/usr/bin/env python3.13t
import yappi
import unittest
from unittest.mock import patch
import sys
print(sys.version)
class TestReadFile(unittest.TestCase):
def setUp(self):
yappi.start()
@patch('builtins.open')
def test_read_file(self, mock_file):
pass
if __name__ == '__main__':
unittest.main()
Command
./test_yappi.py
PYTHON_GIL=1 ./test_yappi.py
Output
# ./test_yappi.py
3.13.0 experimental free-threading build (main, Oct 8 2024, 08:51:27) [GCC 9.4.0]
E
======================================================================
ERROR: test_read_file (__main__.TestReadFile.test_read_file)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.13/unittest/mock.py", line 686, in __getattr__
elif self._mock_methods is not None:
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/unittest/mock.py", line 685, in __getattr__
raise AttributeError(name)
AttributeError: _mock_methods
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/unittest/mock.py", line 1420, in patched
with self.decoration_helper(patched,
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
args,
^^^^^
keywargs) as (newargs, newkeywargs):
^^^^^^^^^
File "/usr/lib/python3.13/contextlib.py", line 141, in __enter__
return next(self.gen)
File "/usr/lib/python3.13/unittest/mock.py", line 1402, in decoration_helper
arg = exit_stack.enter_context(patching)
File "/usr/lib/python3.13/contextlib.py", line 530, in enter_context
result = _enter(cm)
File "/usr/lib/python3.13/unittest/mock.py", line 1549, in __enter__
new = Klass(**_kwargs)
File "/usr/lib/python3.13/unittest/mock.py", line 2156, in __init__
def __init__(self, /, *args, **kw):
SystemError: <sys.legacy_event_handler object at 0x48614a4a950> returned a result with an exception set
----------------------------------------------------------------------
Ran 1 test in 0.005s
FAILED (errors=1)
Dockerfile
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN add-apt-repository -y ppa:deadsnakes/ppa
RUN apt-get install -y \
python3.13-nogil \
libpython3.13-nogil \
libpython3.13-dev
The text was updated successfully, but these errors were encountered:
I am having trouble getting Yappi to work with Python 3.13t Free Threading. Attempting to isolate the issue, the smallest example was using
unittest.patch
. However I am able to see it with other libraries, notably a c binary accessed via ctypes. The issue occurs whether the GI is disabled or not.Code
Command
Output
Dockerfile
The text was updated successfully, but these errors were encountered: