-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rpyc not working on py-3.12.1 #550
Comments
RPyC 5.3.1 seem to work with the currently defined unittests on master for Python 3.12.1, but there are known issues I'm working on the develop branch. Would you be able more details to help reproduce your issue such as provide an example client/server or a failing unittest? |
I think that I was doing something wrong. Do to architecture change I was trying to chain service with rpc client to another rpc service thus creating this type of recursion. |
Hello, main app will instantiate all sub-apps via multiprocessing. rpc threaded server is one of does apps. client in this case is part of another vertical stack FASTAPI (mix of sync and async behaviors) and number of metaclass structures representing one or the other software patterns. All of this is tied up with our code so everything works up to invocation of exposed method on rpc threaded server. rpc get's stuck on the protocol side, recursion error pops out and we fail. Now I tested it with py-3.11 and py-3.10.8. Both of these interpreters do a perfect job and no issues were detected.
some of the traceback... 2024-02-07 16:58:37,739 - INFO - 1680823 - server.py:200 server:_serve_client - welcome ('10.197.136.73', 53908) 2024-02-07 16:59:09,841 - DEBUG - 1680823 - protocol.py:366 protocol:_dispatch_request - Exception caught Traceback (most recent call last): File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/protocol.py", line 358, in _dispatch_request
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/protocol.py", line 324, in _unbox
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/protocol.py", line 324, in
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/protocol.py", line 333, in _unbox
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/protocol.py", line 353, in _netref_factory
File "/data1/kacans2/.pycharm_helpers/pydev/_pydevd_bundle/pydevd_pep_669_tracing.py", line 498, in call
File "/data1/kacans2/.pycharm_helpers/pydev/_pydevd_bundle/pydevd_pep_669_tracing.py", line 41, in frame
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/netref.py", line 133, in getattribute
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/netref.py", line 291, in get
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/netref.py", line 153, in getattr
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/netref.py", line 63, in syncreq
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/protocol.py", line 715, in sync_request
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/protocol.py", line 742, in async_request
File "/cube/api/py-3.12.1/lib/python3.12/site-packages/rpyc/core/protocol.py", line 724, in _async_request
Regards, |
Hello, |
So client will connect fine to server side (both running with same enterpeter (3.12.1), both bootstrap just fine...
when using exposed method and passing callback method and dictionary
protocol.py in _dispatch_request will throw errors starting with:
args = self._unbox(args)
finally getting:
RecursionError: maximum recursion depth exceeded ...
Does anyone has idea when will rpyc will support latest python ...
The text was updated successfully, but these errors were encountered: