Skip to content

Commit d8073ee

Browse files
authored
[3.11] gh-89419: gdb: fix bug causing AttributeError in py-locals when no frame is available (GH-100611) (#100738)
gh-89419: gdb: fix bug causing AttributeError in py-locals when no frame is available (GH-100611) ``` 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`. (cherry picked from commit 8586949)
1 parent b93bd15 commit d8073ee

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix a bug that caused an :exc:`AttributeError` to be raised in ``python-gdb.py`` when ``py-locals`` is used without a frame.

Tools/gdb/libpython.py

+1
Original file line numberDiff line numberDiff line change
@@ -2126,6 +2126,7 @@ def invoke(self, args, from_tty):
21262126
while True:
21272127
if not pyop_frame:
21282128
print(UNABLE_READ_INFO_PYTHON_FRAME)
2129+
break
21292130

21302131
sys.stdout.write('Locals for %s\n' % (pyop_frame.co_name.proxyval(set())))
21312132

0 commit comments

Comments
 (0)