Middlware Pipeline RecursionError: maximum recursion depth exceeded #846
Labels
Status: No Recent Activity
status:waiting-for-author-feedback
Issue that we've responded but needs author feedback to close
type:bug
A broken experience
Describe the bug
We are attempting to read a users
people
endpoint. And the SDK seems to work for about ~30 minutes then we start gettingRecursionError
exceptions. We call the graph sdk like:Expected behavior
Not to receive
RecursionError: maximum recursion depth exceeded
errorsHow to reproduce
Unfortunately I have not been able to reproduce this locally and only see it happening in our deployed application after the app has been running for sometime.
SDK Version
1.5.2
Latest version known to work for scenario above?
No response
Known Workarounds
Restarting our app.
Debug output
Click to expand log
``` people = await msgraph_client.me.people.get(request_configuration=request_config)2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/msgraph/generated/users/item/people/people_request_builder.py", line 66, in get
2024-08-06T14:44:31.553Z
return await self.request_adapter.send_async(request_info, PersonCollectionResponse, error_mapping)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/httpx_request_adapter.py", line 178, in send_async
2024-08-06T14:44:31.553Z
response = await self.get_http_response_message(request_info, parent_span)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/httpx_request_adapter.py", line 530, in get_http_response_message
2024-08-06T14:44:31.553Z
resp = await self._http_client.send(request)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/sentry_sdk/integrations/httpx.py", line 143, in send
2024-08-06T14:44:31.553Z
rv = await real_send(self, request, **kwargs)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/ddtrace/contrib/httpx/patch.py", line 137, in _wrapped_async_send
2024-08-06T14:44:31.553Z
resp = await wrapped(*args, **kwargs)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/httpx/_client.py", line 1661, in send
2024-08-06T14:44:31.553Z
response = await self._send_handling_auth(
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/httpx/_client.py", line 1689, in _send_handling_auth
2024-08-06T14:44:31.553Z
response = await self._send_handling_redirects(
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/httpx/_client.py", line 1726, in _send_handling_redirects
2024-08-06T14:44:31.553Z
response = await self._send_single_request(request)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/httpx/_client.py", line 1763, in _send_single_request
2024-08-06T14:44:31.553Z
response = await transport.handle_async_request(request)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/msgraph_core/middleware/async_graph_transport.py", line 21, in handle_async_request
2024-08-06T14:44:31.553Z
response = await self.pipeline.send(request)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/middleware.py", line 38, in send
2024-08-06T14:44:31.553Z
return await self._first_middleware.send(request, self._transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/redirect_handler.py", line 77, in send
2024-08-06T14:44:31.553Z
response = await super().send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/middleware.py", line 65, in send
2024-08-06T14:44:31.553Z
return await self.next.send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/retry_handler.py", line 84, in send
2024-08-06T14:44:31.553Z
response = await super().send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/middleware.py", line 65, in send
2024-08-06T14:44:31.553Z
return await self.next.send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/parameters_name_decoding_handler.py", line 62, in send
2024-08-06T14:44:31.553Z
response = await super().send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/middleware.py", line 65, in send
2024-08-06T14:44:31.553Z
return await self.next.send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/url_replace_handler.py", line 44, in send
2024-08-06T14:44:31.553Z
response = await super().send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/middleware.py", line 65, in send
2024-08-06T14:44:31.553Z
return await self.next.send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/user_agent_handler.py", line 30, in send
2024-08-06T14:44:31.553Z
return await super().send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/middleware.py", line 65, in send
2024-08-06T14:44:31.553Z
return await self.next.send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/headers_inspection_handler.py", line 54, in send
2024-08-06T14:44:31.553Z
response = await super().send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/middleware.py", line 65, in send
2024-08-06T14:44:31.553Z
return await self.next.send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/msgraph_core/middleware/telemetry.py", line 48, in send
2024-08-06T14:44:31.553Z
response = await super().send(request, transport)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/kiota_http/middleware/middleware.py", line 62, in send
2024-08-06T14:44:31.553Z
response = await transport.handle_async_request(request)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/msgraph_core/middleware/async_graph_transport.py", line 24, in handle_async_request
2024-08-06T14:44:31.553Z
response = await self.transport.handle_async_request(request)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/msgraph_core/middleware/async_graph_transport.py", line 24, in handle_async_request
2024-08-06T14:44:31.553Z
response = await self.transport.handle_async_request(request)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
File "/venv/lib/python3.12/site-packages/msgraph_core/middleware/async_graph_transport.py", line 24, in handle_async_request
2024-08-06T14:44:31.553Z
response = await self.transport.handle_async_request(request)
2024-08-06T14:44:31.553Z
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-08-06T14:44:31.553Z
[Previous line repeated 964 more times]
2024-08-06T14:44:31.553Z
RecursionError: maximum recursion depth exceeded
The text was updated successfully, but these errors were encountered: