Issue 28023: python-gdb.py must be updated for the new Python 3.6 compact dict (original) (raw)

Issue28023

Created on 2016-09-08 16:25 by vstinner, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
dict_gdb.patch methane,2016-10-04 11:27 review
dict_gdb2.patch methane,2016-11-21 15:45 review
Pull Requests
URL Status Linked Edit
PR 552 closed dstufft,2017-03-31 16:36
Messages (15)
msg275058 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016-09-08 16:25
The issue #27350 changed the design of Python dictionaries to make them compact. python-gdb.py must be updated for the new structure of Python dict.
msg275064 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-09-08 16:44
New changeset 0bd618fe0639 by Victor Stinner in branch 'default': Implement compact dict https://hg.python.org/cpython/rev/0bd618fe0639
msg278028 - (view) Author: Inada Naoki (methane) * (Python committer) Date: 2016-10-04 11:27
I've fixed dict support of python-gdb.py. But I found py-bt and py-bt-full are broken. They doesn't show builtin method. I think it's because FASTCALL. But I'm not sure. I just skip the test for py-bt in attached patch.
msg278295 - (view) Author: Inada Naoki (methane) * (Python committer) Date: 2016-10-08 12:32
Could someone review this before 3.6b2? Without this patch, python-gdb.py causes many RuntimeError.
msg280739 - (view) Author: Inada Naoki (methane) * (Python committer) Date: 2016-11-14 08:04
@haypo, would you review this patch?
msg281346 - (view) Author: Inada Naoki (methane) * (Python committer) Date: 2016-11-21 10:22
ping
msg281359 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016-11-21 14:19
I reviewed dict_gdb.patch.
msg281453 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016-11-22 09:27
dict_gdb2.patch LGTM. Can you please follow Ned's instructions to get this change merged into 3.6 final? python-gdb.py is an important tool and it's completly broken. The patch cannot make python-gdb.py worse :-D (More seriously, it fixes python-gdb.py.)
msg281460 - (view) Author: Inada Naoki (methane) * (Python committer) Date: 2016-11-22 10:33
https://mail.python.org/pipermail/python-committers/2016-November/004065.html > The 3.6 branch in the cpython repo is now available again but, as noted, *only* for reviewed release critical fixes appropriate for the 3.6.0 final and for final 3.6.0 doc updates! So now I think I can commit this for now.
msg281462 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-11-22 10:44
New changeset 4f6fb9e47f6b by INADA Naoki in branch '3.6': Issue #28023: Fix python-gdb.py didn't support new dict implementation https://hg.python.org/cpython/rev/4f6fb9e47f6b New changeset c51045920410 by INADA Naoki in branch 'default': Issue #28023: Fix python-gdb.py didn't support new dict implementation https://hg.python.org/cpython/rev/c51045920410
msg281464 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016-11-22 11:38
test_gdb failed on a lot of buildbots. Examples: * http://buildbot.python.org/all/builders/PPC64%20Fedora%203.x/builds/2089 * http://buildbot.python.org/all/builders/AMD64%20Debian%20PGO%203.6/builds/330 * http://buildbot.python.org/all/builders/x86%20Gentoo%20Non-Debug%20with%20X%203.6/builds/287 Extract of the Gentoo non-debug: (...) GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1 (...) ====================================================================== FAIL: test_NULL_ob_type (test.test_gdb.PrettyPrintTests) Ensure that a PyObject* with NULL ob_type is handled gracefully ---------------------------------------------------------------------- Traceback (most recent call last): File "/buildbot/buildarea/3.6.ware-gentoo-x86.nondebug/build/Lib/test/test_gdb.py", line 490, in test_NULL_ob_type 'set v->ob_type=0') File "/buildbot/buildarea/3.6.ware-gentoo-x86.nondebug/build/Lib/test/test_gdb.py", line 461, in assertSane cmds_after_breakpoint=cmds_after_breakpoint) File "/buildbot/buildarea/3.6.ware-gentoo-x86.nondebug/build/Lib/test/test_gdb.py", line 240, in get_gdb_repr import_site=import_site) File "/buildbot/buildarea/3.6.ware-gentoo-x86.nondebug/build/Lib/test/test_gdb.py", line 218, in get_stack_trace self.assertEqual(unexpected_errlines, []) AssertionError: Lists differ: ["Python Exception <class 'gdb.error'> Can[663 chars].: "] != [] First list contains 10 additional elements. First extra element 0: "Python Exception <class 'gdb.error'> Cannot convert value to int.: " Diff is 745 characters long. Set self.maxDiff to None to see it.
msg281471 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-11-22 12:11
New changeset 9b974f988c95 by Victor Stinner in branch '3.6': Issue #28023: Fix python-gdb.py on old GDB versions https://hg.python.org/cpython/rev/9b974f988c95
msg281474 - (view) Author: Inada Naoki (methane) * (Python committer) Date: 2016-11-22 12:30
Thanks a lot! I hope I can run test on multiple environment before merge, after we move to Github.
msg281478 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016-11-22 13:18
Ah nice, it seems like test_gdb pass again.
msg281488 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2016-11-22 14:54
Thanks Naoki for the fix ;-) gdb scripts are a little bit weird sometimes, and the API has subtle changes in each minor GDB release :-/
History
Date User Action Args
2022-04-11 14:58:36 admin set github: 72210
2017-05-17 17:34:55 jcea set nosy: + jcea
2017-03-31 16:36:11 dstufft set pull_requests: + <pull%5Frequest868>
2016-11-22 14:54:00 vstinner set messages: +
2016-11-22 14:53:15 vstinner set status: open -> closedresolution: fixed
2016-11-22 13🔞02 vstinner set messages: +
2016-11-22 12:30:26 methane set messages: +
2016-11-22 12:11:40 python-dev set messages: +
2016-11-22 11:38:09 vstinner set status: closed -> openresolution: fixed -> (no value)messages: +
2016-11-22 10:44:24 methane set status: open -> closedresolution: fixedstage: commit review -> resolved
2016-11-22 10:44:01 python-dev set messages: +
2016-11-22 10:33:02 methane set messages: +
2016-11-22 09:27:43 vstinner set messages: +
2016-11-21 15:45:38 methane set files: + dict_gdb2.patch
2016-11-21 14:19:01 vstinner set messages: +
2016-11-21 10:22:06 methane set messages: +
2016-11-14 08:04:12 methane set messages: + versions: + Python 3.7
2016-11-08 03:06:10 methane set priority: high -> release blockernosy: + ned.deilystage: patch review -> commit review
2016-10-08 12:32:23 methane set keywords: + needs reviewmessages: + stage: patch review
2016-10-04 11:27:52 methane set files: + dict_gdb.patchpriority: normal -> highmessages: + assignee: methanecomponents: + Demos and Toolskeywords: + patch
2016-09-08 16:44:48 python-dev set nosy: + python-devmessages: +
2016-09-08 16:25:40 vstinner create