New submission from ppperry <maprea...@olum.org>:
class FakeContainer: def __getitem__(self, key) raise KeyError(key) pdb.run("pass",{},FakeContainer()) Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> pdb.run("pass",{},FakeContainer()) File "C:\Program Files\Python37\lib\pdb.py", line 1590, in run Pdb().run(statement, globals, locals) File "C:\Program Files\Python37\lib\bdb.py", line 585, in run exec(cmd, globals, locals) File "<string>", line 1, in <module> File "<string>", line 1, in <module> File "C:\Program Files\Python37\lib\bdb.py", line 88, in trace_dispatch return self.dispatch_line(frame) File "C:\Program Files\Python37\lib\bdb.py", line 112, in dispatch_line self.user_line(frame) File "C:\Program Files\Python37\lib\pdb.py", line 261, in user_line self.interaction(frame, None) File "C:\Program Files\Python37\lib\pdb.py", line 351, in interaction self.print_stack_entry(self.stack[self.curindex]) File "C:\Program Files\Python37\lib\pdb.py", line 1453, in print_stack_entry self.format_stack_entry(frame_lineno, prompt_prefix)) File "C:\Program Files\Python37\lib\bdb.py", line 549, in format_stack_entry if '__args__' in frame.f_locals: File "<pyshell#3>", line 3, in __getitem__ raise KeyError KeyError: 0 Obviously, the debugger shouldn't crash in this case (running code outside of the debugger works as expected, producing a NameError on variable reads and a TypeError whenever a name is assigned). ---------- components: Library (Lib) messages: 326186 nosy: ppperry priority: normal severity: normal status: open title: Pdb crashes when code is executed in a mapping that does not define `__contains__` versions: Python 3.7, Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue34782> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com