New submission from behind thebrain :
If pdb encounters most exception types, it handles them as would be expected.
However, if pdb encounters a RecursionError: maximum recursion depth exceeded
while calling a Python object, then it will continue to execute the code
accurately, but the debugger itself will no longer interactively wait for user
input, but instead, just speed through the rest of execution. The code below
reproduces the error on python 3.7, 3.8, and 3.9.
```python3
import sys
import inspect
sys.setrecursionlimit(50)
def except_works() -> None:
raise Exception
try:
except_works()
except Exception as e:
print("Exception was:", e)
def funcy(depth: int) -> None:
print(f"Stack depth is:{len(inspect.stack())}")
if depth == 0:
return
funcy(depth - 1)
try:
funcy(60)
except Exception as e:
print("Exception was:", e)
print("This executes without the debugger navigating to it.")
```
--
components: Interpreter Core
files: runawaystepping.py
messages: 389051
nosy: behindthebrain
priority: normal
severity: normal
status: open
title: RecursionError depth exceptions break pdb's interactive tracing.
versions: Python 3.8
Added file: https://bugs.python.org/file49891/runawaystepping.py
___
Python tracker
<https://bugs.python.org/issue43548>
___
___
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com