python / python/cpython

test_dtrace fails on aarch64 Fedora Stable 3.15: "libpython3.15d.so.1.0: cannot open shared object file"

Open
#156,703 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

tests type-bug
Dominant language
Python
Stars
77.2k
Forks
35.9k
PR merge metrics
PR metrics pending

Description

aarch64 Fedora Stable 3.15: https://buildbot.python.org/#/builders/2035/builds/367

Python configured with --with-pydebug --enable-shared --with-dtrace:

../configure --prefix '$(PWD)/target' --with-pydebug --with-platlibdir=lib64 --enable-ipv6 --enable-shared --with-computed-gotos=yes --with-dbmliborder=gdbm:ndbm:bdb --enable-loadable-sqlite-extensions --with-ssl-default-suites=openssl --without-static-libpython --with-lto --with-valgrind --with-system-libmpdec --with-system-expat --with-dtrace

See also the fix https://github.com/python/cpython/pull/155803.

FAIL: test_gc (test.test_dtrace.SystemTapOptimizedTests.test_gc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/lib/buildbot/worker/cstratak-fedora-stable-aarch64/3.15.cstratak-fedora-stable-aarch64/build/Lib/test/test_dtrace.py", line 470, in test_gc
    self.run_case("gc")
    ~~~~~~~~~~~~~^^^^^^
  File "/var/lib/buildbot/worker/cstratak-fedora-stable-aarch64/3.15.cstratak-fedora-stable-aarch64/build/Lib/test/test_dtrace.py", line 436, in run_case
    actual_output, expected_output = self.backend.run_case(
                                     ~~~~~~~~~~~~~~~~~~~~~^
        name, optimize_python=self.optimize_python)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/lib/buildbot/worker/cstratak-fedora-stable-aarch64/3.15.cstratak-fedora-stable-aarch64/build/Lib/test/test_dtrace.py", line 138, in run_case
    actual_output = normalize_trace_output(self.trace_python(
                                           ~~~~~~~~~~~~~~~~~^
        script_file=abspath(name + self.EXTENSION),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        python_file=abspath(name + ".py"),
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        optimize_python=optimize_python))
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/lib/buildbot/worker/cstratak-fedora-stable-aarch64/3.15.cstratak-fedora-stable-aarch64/build/Lib/test/test_dtrace.py", line 180, in trace_python
    return self.trace(script_file, subcommand, timeout=60,
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                      check_returncode=True)
                      ^^^^^^^^^^^^^^^^^^^^^^
  File "/var/lib/buildbot/worker/cstratak-fedora-stable-aarch64/3.15.cstratak-fedora-stable-aarch64/build/Lib/test/test_dtrace.py", line 241, in trace
    return super().trace(
           ~~~~~~~~~~~~~^
        generated_script_file,
        ^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
        check_returncode=check_returncode,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/lib/buildbot/worker/cstratak-fedora-stable-aarch64/3.15.cstratak-fedora-stable-aarch64/build/Lib/test/test_dtrace.py", line 169, in trace
    raise AssertionError(
    ...<2 lines>...
    )
AssertionError: Command "stap -g /tmp/test_python_8yc7_r_1/tmpv006srtf.stp -c '/var/lib/buildbot/worker/cstratak-fedora-stable-aarch64/3.15.cstratak-fedora-stable-aarch64/build/build_oot/python -O -O /var/lib/buildbot/worker/cstratak-fedora-stable-aarch64/3.15.cstratak-fedora-stable-aarch64/build/Lib/test/dtracedata/gc.py'" failed with exit code 1:
output='/var/lib/buildbot/worker/cstratak-fedora-stable-aarch64/3.15.cstratak-fedora-stable-aarch64/build/build_oot/python: error while loading shared libraries: libpython3.15d.so.1.0: cannot open shared object file: No such file or directory\n
WARNING: Child process exited with status 127\n
WARNING: /usr/bin/staprun exited with status: 1\n
Pass 5: run failed.  [man error::pass5]\n
'\n
Linked PRs
  • gh-156424
  • gh-156755

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Lib/test/test_dtrace.py, especially SystemTapOptimizedTests.test_gc and its run_case/trace helpers. Reproduce the aarch64 Fedora Stable configuration and review linked PRs gh-156424 and gh-156755; done means the test no longer fails because the built Python cannot locate libpython3.15d.so.1.0.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.