[New-bugs-announce] [issue43548] RecursionError depth exceptions break pdb's interactive tracing.

behind thebrain report at bugs.python.org
Thu Mar 18 22:44:55 EDT 2021


New submission from behind thebrain <behindthebrain at zoho.eu>:

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 <report at bugs.python.org>
<https://bugs.python.org/issue43548>
_______________________________________


More information about the New-bugs-announce mailing list