Skip to content

Commit 440fba5

Browse files
committed
bpo-45256: gdb: fix printing AttributeError in py-locals when no frame is available
``` Unable to read information on python frame Python Exception <class 'AttributeError'>: 'NoneType' object has no attribute 'co_name' ``` Regression in commit b4903af. While refactoring the code into a while loop, the previous early return when no frame exists went missing. We have just printed a message that we cannot get information about this, so the frame will be None, and we cannot attempt to use it. Discovered on python 3.11, in python 3.12a2 this should error out with `.is_shim()` instead of `co_name`.
1 parent 2df82db commit 440fba5

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix confusing AttributeError in python-gdb.py when py-locals is used without a frame.

Tools/gdb/libpython.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2108,6 +2108,7 @@ def invoke(self, args, from_tty):
21082108
while True:
21092109
if not pyop_frame:
21102110
print(UNABLE_READ_INFO_PYTHON_FRAME)
2111+
break
21112112
if pyop_frame.is_shim():
21122113
break
21132114

0 commit comments

Comments
 (0)