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 |
||
---|---|---|
.. | ||
automation | ||
data/lazy_import_test | ||
langhost | ||
provider | ||
runtime | ||
__init__.py | ||
conftest.py | ||
helpers.py | ||
test_broken_dynamic_provider.py | ||
test_monitor_termination.py | ||
test_next_serialize.py | ||
test_output.py | ||
test_resource.py | ||
test_runtime_to_json.py | ||
test_stack_registers_outputs.py | ||
test_translate_output_properties.py | ||
test_types_input_type.py | ||
test_types_input_type_types.py | ||
test_types_output_type.py | ||
test_types_resource_types.py | ||
test_urn.py | ||
test_utils.py |