Skip to content

Commit 2ea0fd8

Browse files
committed
gh-104736: Fix test_gdb tests on ppc64le with clang
Skip test_gdb tests on ppc64le if "bt" command returns on these patterns: * "Backtrace stopped: frame did not save the PC" * " ?? ()" gdb logs these messages when it fails to retrieve the backtrace when Python is built with "clang -Og" on Linux ppc64le, especially with LLVM clang 16. For example, on Fedora 38.
1 parent 388d91c commit 2ea0fd8

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

Lib/test/test_gdb.py

+8
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,14 @@ def get_stack_trace(self, source=None, script=None,
246246
# gh-91960: On Python built with "clang -Og", gdb gets
247247
# "frame=<optimized out>" for _PyEval_EvalFrameDefault() parameter
248248
'(unable to read python frame information)',
249+
# gh-104736: On Python built with "clang -Og" on ppc64le,
250+
# "py-bt" displays a truncated or not traceback, but "where"
251+
# logs this error message:
252+
'Backtrace stopped: frame did not save the PC',
253+
# gh-104736: When "bt" command displays something like:
254+
# "#1 0x0000000000000000 in ?? ()", the traceback is likely
255+
# truncated or wrong.
256+
' ?? ()',
249257
):
250258
if pattern in out:
251259
raise unittest.SkipTest(f"{pattern!r} found in gdb output")

0 commit comments

Comments
 (0)