Bug 1846390 - Python 3.9.2: test_gdb fails on armv7hl
Summary: Python 3.9.2: test_gdb fails on armv7hl
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: python3.9
Version: 33
Hardware: Unspecified
OS: Unspecified
low
unspecified
Target Milestone: ---
Assignee: Python Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARMTracker
TreeView+ depends on / blocked
 
Reported: 2020-06-11 13:34 UTC by Miro Hrončok
Modified: 2021-09-15 09:12 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-09-15 09:12:22 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Packages installed in the buildroot when we first noticed the problem (11.32 KB, text/plain)
2020-06-11 14:30 UTC, Miro Hrončok
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Python 40746 0 None None None 2020-06-11 13:54:33 UTC

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.


Note You need to log in before you can comment on or make changes to this bug.