Open
Description
Bug report
Bug description:
In a really specific scenario, the terminal can go crazy and becomes unresponsive:
bug.mp4
Steps to reproduce:
- Create an
issue.py
file, with a breakpoint set (echo 'breakpoint()' > issue.py
). - Run
issue.py
in interactive mode:python -i issue.py
- Press C to continue when hitting the breakpoint.
- Start typing something, e.g.
help(
- Input Ctrl + D, as if you wanted to exit the terminal. Nothing happens (as it should).
- Input Ctrl + C, as if you wanted to clear the line.
If no breakpoint was hit before, this works as expected:
>>> help( # hit Ctrl + D then Ctrl + C
KeyboardInterrupt
Note trying to reproduce on Python 3.12, the following happens:
--Return--
> /home/victorien/ws/pydantic/issue.py(1)<module>()->None
-> breakpoint()
(Pdb) c
>>> help( # hit Ctrl + D then Ctrl + C
Program interrupted. (Use 'cont' to resume).
--Return--
> /home/victorien/.local/share/uv/python/cpython-3.12.7-linux-x86_64-gnu/lib/python3.12/pdb.py(271)sigint_handler()->None
-> self.set_trace(frame)
Traceback (most recent call last):
File "/home/victorien/.local/share/uv/python/cpython-3.12.7-linux-x86_64-gnu/lib/python3.12/pdb.py", line 271, in sigint_handler
self.set_trace(frame)
File "/home/victorien/.local/share/uv/python/cpython-3.12.7-linux-x86_64-gnu/lib/python3.12/bdb.py", line 94, in trace_dispatch
return self.dispatch_return(frame, arg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/victorien/.local/share/uv/python/cpython-3.12.7-linux-x86_64-gnu/lib/python3.12/bdb.py", line 153, in dispatch_return
self.user_return(frame, arg)
File "/home/victorien/.local/share/uv/python/cpython-3.12.7-linux-x86_64-gnu/lib/python3.12/pdb.py", line 362, in user_return
self.interaction(frame, None)
File "/home/victorien/.local/share/uv/python/cpython-3.12.7-linux-x86_64-gnu/lib/python3.12/pdb.py", line 428, in interaction
self._cmdloop()
File "/home/victorien/.local/share/uv/python/cpython-3.12.7-linux-x86_64-gnu/lib/python3.12/pdb.py", line 390, in _cmdloop
self.cmdloop()
File "/home/victorien/.local/share/uv/python/cpython-3.12.7-linux-x86_64-gnu/lib/python3.12/cmd.py", line 126, in cmdloop
line = input(self.prompt)
^^^^^^^^^^^^^^^^^^
RuntimeError: can't re-enter readline
>>>
CPython versions tested on:
3.13
Operating systems tested on:
Linux
Metadata
Metadata
Assignees
Labels
Related to the interactive shellRelated to the interactive shellAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error