[issue43548] RecursionError depth exceptions break pdb's interactive tracing.

2021-03-18 Thread behind thebrain


Change by behind thebrain :


--
type:  -> crash

___
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



[issue43548] RecursionError depth exceptions break pdb's interactive tracing.

2021-03-18 Thread behind thebrain


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