[New-bugs-announce] [issue22765] Fixes for test_gdb (first frame address, entry values)

Bohuslav "Slavek" Kabrda report at bugs.python.org
Thu Oct 30 12:51:46 CET 2014

New submission from Bohuslav "Slavek" Kabrda:

The attached patch fixes two test_gdb problems that can occur under some circumstances:

- With new GDB (I think version >= 7.4.0, but I'm not sure about the precise version), GDB sometimes prints "entry-values" for variables, which can lead to failures like: "AssertionError: 'v at entry=()' != '()'". The cure for that is using "set print entry-values no" in GDB. I think this is also the root cause of issue 17126.

- While building on ppc64 little endian for Fedora, we experienced GDB printing program counter for the first frame, which breaks regular expressions matching in tests, e.g. instead of

#0 in PyObject_Print

the lines can look like

#0 0x00003fffb7dd1798 in PyObject_Print

I've talked to Fedora's GDB maintainer and I've been told that this can happen and it's not a GDB bug - GDB does not guarantee this. Therefore the second part of the attached patch turns printing program counters for *all* frames using "set print address off" to achieve same GDB output everywhere.

components: Tests
files: test_gdb-ppc64le-and-entry-values-fix.patch
keywords: patch
messages: 230265
nosy: bkabrda
priority: normal
severity: normal
status: open
title: Fixes for test_gdb (first frame address, entry values)
versions: Python 2.7, Python 3.5
Added file: http://bugs.python.org/file37073/test_gdb-ppc64le-and-entry-values-fix.patch

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list