mirror of https://github.com/pulumi/pulumi.git
e6fc3893fe
When the `await RPC_MANAGER.rpcs.pop()` explodes, the traceback is for `RPC_MANAGER.rpcs.pop()`, e.g. ``` error: Program failed with an unhandled exception: Traceback (most recent call last): File "/opt/hostedtoolcache/pulumi/3.43.1/x64/pulumi-language-python-exec", line 179, in <module> loop.run_until_complete(coro) File "/opt/hostedtoolcache/Python/3.10.9/x64/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete return future.result() File "[..]/venv/lib/python3.10/site-packages/pulumi/runtime/stack.py", line 126, in run_in_stack await run_pulumi_func(lambda: Stack(func)) File "[..]/venv/lib/python3.10/site-packages/pulumi/runtime/stack.py", line 51, in run_pulumi_func await wait_for_rpcs() File "[..]/venv/lib/python3.10/site-packages/pulumi/runtime/stack.py", line 73, in wait_for_rpcs await RPC_MANAGER.rpcs.pop() RecursionError: maximum recursion depth exceeded ``` This isn't super helpful in debugging these errors. RPC_MANAGER already tracks uncaught excpetions from such RPCs but wait_for_rpcs doesn't account for these until aftewards. This changes wait_for_rpcs to reproduce the original tracebacks when it encounters errors in waiting for RPCs. The included test verifies that the more helpful traceback is produced. Refs #11887 |
||
---|---|---|
.. | ||
pulumi | ||
test | ||
test_with_mocks | ||
setup.py |