Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1846390

Summary: Python 3.9.2: test_gdb fails on armv7hl
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python3.9Assignee: Python Maintainers <python-maint>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: low    
Version: 33CC: cstratak, mhroncok, pviktori, python-sig, torsava, vstinner
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-09-15 09:12:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 245418    
Attachments:
Description Flags
Packages installed in the buildroot when we first noticed the problem none

Description Miro Hrončok 2020-06-11 13:34:05 UTC
======================================================================
FAIL: test_bt (test.test_gdb.PyBtTests)
Verify that the "py-bt" command works
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 775, in test_bt
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\nTraceback (most recent call first):\n  <built-in method id of module object at remote 0xb6667330>\n' did not match '^.*\nTraceback \\(most recent call first\\):\n  <built-in method id of module object .*>\n  File ".*gdb_sample.py", line 10, in baz\n    id\\(42\\)\n  File ".*gdb_sample.py", line 7, in bar\n    baz\\(a, b, c\\)\n  File ".*gdb_sample.py", line 4, in foo\n    bar\\(a, b, c\\)\n  File ".*gdb_sample.py", line 12, in <module>\n    foo\\(1, 2, 3\\)\n'
======================================================================
FAIL: test_bt_full (test.test_gdb.PyBtTests)
Verify that the "py-bt-full" command works
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 795, in test_bt_full
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n#1 <built-in method id of module object at remote 0xb6667330>\n#5 []\n' did not match '^.*\n#[0-9]+ Frame 0x-?[0-9a-f]+, for file .*gdb_sample.py, line 7, in bar \\(a=1, b=2, c=3\\)\n    baz\\(a, b, c\\)\n#[0-9]+ Frame 0x-?[0-9a-f]+, for file .*gdb_sample.py, line 4, in foo \\(a=1, b=2, c=3\\)\n    bar\\(a, b, c\\)\n#[0-9]+ Frame 0x-?[0-9a-f]+, for file .*gdb_sample.py, line 12, in <module> \\(\\)\n    foo\\(1, 2, 3\\)\n'
======================================================================
FAIL: test_threads (test.test_gdb.PyBtTests)
Verify that "py-bt" indicates threads that are waiting for the GIL
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 830, in test_threads
    self.assertIn('Waiting for the GIL', gdb_output)
AssertionError: 'Waiting for the GIL' not found in 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n[New Thread 0xb65453e0 (LWP 23346)]\n[New Thread 0xb5bff3e0 (LWP 23347)]\n[New Thread 0xb51ff3e0 (LWP 23348)]\n[New Thread 0xb47ff3e0 (LWP 23349)]\n\nThread 1 "python" hit Breakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n\nThread 5 (Thread 0xb47ff3e0 (LWP 23349)):\nUnable to locate python frame\n\nThread 4 (Thread 0xb51ff3e0 (LWP 23348)):\nUnable to locate python frame\n\nThread 3 (Thread 0xb5bff3e0 (LWP 23347)):\nUnable to locate python frame\n\nThread 2 (Thread 0xb65453e0 (LWP 23346)):\nUnable to locate python frame\n\nThread 1 (Thread 0xb6ff0010 (LWP 23343)):\n'
======================================================================
FAIL: test_basic_command (test.test_gdb.PyListTests)
Verify that the "py-list" command works
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 692, in test_basic_command
    self.assertListing('   5    \n'
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 685, in assertListing
    self.assertEndsWith(actual, expected)
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 288, in assertEndsWith
    self.assertTrue(actual.endswith(exp_end),
AssertionError: False is not true : 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n' did not end with '   5    \n   6    def bar(a, b, c):\n   7        baz(a, b, c)\n   8    \n   9    def baz(*args):\n >10        id(42)\n  11    \n  12    foo(1, 2, 3)\n'
======================================================================
FAIL: test_one_abs_arg (test.test_gdb.PyListTests)
Verify the "py-list" command with one absolute argument
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 707, in test_one_abs_arg
    self.assertListing('   9    def baz(*args):\n'
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 685, in assertListing
    self.assertEndsWith(actual, expected)
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 288, in assertEndsWith
    self.assertTrue(actual.endswith(exp_end),
AssertionError: False is not true : 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n' did not end with '   9    def baz(*args):\n >10        id(42)\n  11    \n  12    foo(1, 2, 3)\n'
======================================================================
FAIL: test_two_abs_args (test.test_gdb.PyListTests)
Verify the "py-list" command with two absolute arguments
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 718, in test_two_abs_args
    self.assertListing('   1    # Sample script for use by test_gdb.py\n'
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 685, in assertListing
    self.assertEndsWith(actual, expected)
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 288, in assertEndsWith
    self.assertTrue(actual.endswith(exp_end),
AssertionError: False is not true : 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n' did not end with '   1    # Sample script for use by test_gdb.py\n   2    \n   3    def foo(a, b, c):\n'
======================================================================
FAIL: test_basic_command (test.test_gdb.PyLocalsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 991, in test_basic_command
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n#5 []\n' did not match '.*\\nargs = \\(1, 2, 3\\)\\n.*'
======================================================================
FAIL: test_locals_after_up (test.test_gdb.PyLocalsTests)
test test_gdb failed
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 1000, in test_locals_after_up
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n#5 []\n' did not match '.*\\na = 1\\nb = 2\\nc = 3\\n.*'
======================================================================
FAIL: test_basic_command (test.test_gdb.PyPrintTests)
Verify that the "py-print" command works
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 957, in test_basic_command
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n#5 []\n' did not match ".*\\nlocal 'args' = \\(1, 2, 3\\)\\n.*"
======================================================================
FAIL: test_print_after_up (test.test_gdb.PyPrintTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 966, in test_print_after_up
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n#5 []\n' did not match ".*\\nlocal 'c' = 3\\nlocal 'b' = 2\\nlocal 'a' = 1\\n.*"
======================================================================
FAIL: test_printing_builtin (test.test_gdb.PyPrintTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 982, in test_printing_builtin
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n#5 []\n' did not match ".*\\nbuiltin 'len' = <built-in method len of module object at remote 0x-?[0-9a-f]+>\\n.*"
======================================================================
FAIL: test_printing_global (test.test_gdb.PyPrintTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 974, in test_printing_global
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n#5 []\n' did not match ".*\\nglobal '__name__' = '__main__'\\n.*"
======================================================================
FAIL: test_pyup_command (test.test_gdb.StackNavigationTests)
Verify that the "py-up" command works
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 731, in test_pyup_command
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n#5 []\n' did not match '^.*\n#[0-9]+ Frame 0x-?[0-9a-f]+, for file .*gdb_sample.py, line 7, in bar \\(a=1, b=2, c=3\\)\n    baz\\(a, b, c\\)\n$'
======================================================================
FAIL: test_up_then_down (test.test_gdb.StackNavigationTests)
Verify "py-up" followed by "py-down"
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 760, in test_up_then_down
    self.assertMultilineMatches(bt,
  File "/builddir/build/BUILD/Python-3.9.0b3/Lib/test/test_gdb.py", line 294, in assertMultilineMatches
    self.fail(msg='%r did not match %r' % (actual, pattern))
AssertionError: 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n\nBreakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.0b3/Python/bltinmodule.c:1173\n1173\t{\n#5 []\n#5 []\n' did not match '^.*\n#[0-9]+ Frame 0x-?[0-9a-f]+, for file .*gdb_sample.py, line 7, in bar \\(a=1, b=2, c=3\\)\n    baz\\(a, b, c\\)\n#[0-9]+ Frame 0x-?[0-9a-f]+, for file .*gdb_sample.py, line 10, in baz \\(args=\\(1, 2, 3\\)\\)\n    id\\(42\\)\n$'
----------------------------------------------------------------------
Ran 46 tests in 279.721s
FAILED (failures=14)
1 test failed again:
    test_gdb
== Tests result: FAILURE then FAILURE ==


I'll skip the test for now.

Comment 1 Miro Hrončok 2020-06-11 13:41:09 UTC
Workaround: https://src.fedoraproject.org/rpms/python3.9/pull-request/13

Comment 2 Miro Hrončok 2020-06-11 13:54:33 UTC
Possibly related upstream issue: https://bugs.python.org/issue40746

Comment 3 Miro Hrončok 2020-06-11 14:30:19 UTC
Created attachment 1696811 [details]
Packages installed in the buildroot when we first noticed the problem

Comment 4 Petr Viktorin (pviktori) 2020-06-24 13:13:57 UTC
Let's build debug with -O0.

Comment 5 Petr Viktorin (pviktori) 2020-07-08 12:23:42 UTC

*** This bug has been marked as a duplicate of bug 1818857 ***

Comment 6 Miro Hrončok 2021-02-20 19:49:48 UTC
This still happens on Fedora 33 even with -O0 :/

======================================================================
FAIL: test_threads (test.test_gdb.PyBtTests)
Verify that "py-bt" indicates threads that are waiting for the GIL
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.9.2/Lib/test/test_gdb.py", line 831, in test_threads
    self.assertIn('Waiting for the GIL', gdb_output)
AssertionError: 'Waiting for the GIL' not found in 'Breakpoint 1 (builtin_id) pending.\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library "/lib/libthread_db.so.1".\n[New Thread 0xb64563e0 (LWP 21763)]\n[New Thread 0xb5aff3e0 (LWP 21764)]\n[New Thread 0xb50ff3e0 (LWP 21765)]\n[New Thread 0xb46ff3e0 (LWP 21766)]\n\nThread 1 "python" hit Breakpoint 1, builtin_id (self=, v=42) at /builddir/build/BUILD/Python-3.9.2/Python/bltinmodule.c:1174\n1174\t    PyObject *id = PyLong_FromVoidPtr(v);\n\nThread 5 (Thread 0xb46ff3e0 (LWP 21766) "python"):\nUnable to locate python frame\n\nThread 4 (Thread 0xb50ff3e0 (LWP 21765) "python"):\nUnable to locate python frame\n\nThread 3 (Thread 0xb5aff3e0 (LWP 21764) "python"):\nUnable to locate python frame\n\nThread 2 (Thread 0xb64563e0 (LWP 21763) "python"):\nUnable to locate python frame\n\nThread 1 (Thread 0xb6ff1010 (LWP 21760) "python"):\nTraceback (most recent call first):\n  <built-in method id of module object at remote 0xb6578360>\n  File "<string>", line 18, in <module>\n'
----------------------------------------------------------------------

Comment 7 Victor Stinner 2021-02-22 19:57:35 UTC
I reported https://bugs.python.org/issue40746 on Python upstream, I'm not sure if it's the same issue or not.

Comment 8 Petr Viktorin (pviktori) 2021-09-15 09:12:22 UTC
Fedora 33 will go EOL soon; we won't get around to fixing this issue. It is tracked upstream, though.