FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[Bug]: test_figure_leak_20490 repeatedly failing on CI · Issue #27635 · matplotlib/matplotlib · GitHub

Repository navigation

[Bug]: test_figure_leak_20490 repeatedly failing on CI #27635

Closed

Description

Bug summary

lib/matplotlib/tests/test_backends_interactive.py::test_figure_leak_20490[time_mem0-MPLBACKEND=wxagg-BACKEND_DEPS=wx] has been failing for a while on CI now, just on the Tests / Python 3.10 on ubuntu-20.04 (pull_request) job. See e.g. this run for an example failure.

The trace is

 ______ test_figure_leak_20490[time_mem0-MPLBACKEND=wxagg-BACKEND_DEPS=wx] ______
[gw1] linux -- Python 3.10.13 /opt/hostedtoolcache/Python/3.10.13/x64/bin/python

env = {'BACKEND_DEPS': 'wx', 'MPLBACKEND': 'wxagg'}, time_mem = (0.0, 2000000)
request = <FixtureRequest for <Function test_figure_leak_20490[time_mem0-MPLBACKEND=wxagg-BACKEND_DEPS=wx]>>

    @pytest.mark.skipif(sys.platform == "win32",
                        reason="appveyor tests fail; gh-22988 suggests reworking")
    @pytest.mark.parametrize("env", _get_testable_interactive_backends())
    @pytest.mark.parametrize("time_mem", [(0.0, 2_000_000), (0.1, 30_000_000)])
    def test_figure_leak_20490(env, time_mem, request):
        pytest.importorskip("psutil", reason="psutil needed to run this test")
    
        # We haven't yet directly identified the leaks so test with a memory growth
        # threshold.
        pause_time, acceptable_memory_leakage = time_mem
        if env["MPLBACKEND"] == "wx":
            pytest.skip("wx backend is deprecated; tests failed on appveyor")
    
        if env["MPLBACKEND"] == "macosx":
            request.node.add_marker(pytest.mark.xfail(reason="macosx backend is leaky"))
    
        if env["MPLBACKEND"] == "tkagg" and sys.platform == "darwin":
            acceptable_memory_leakage += 11_000_000
    
        result = _run_helper(
            _test_figure_leak, str(pause_time),
            timeout=_test_timeout, extra_env=env)
    
        growth = int(result.stdout)
>       assert growth <= acceptable_memory_leakage
E       AssertionError

lib/matplotlib/tests/test_backends_interactive.py:687: AssertionError

Code for reproduction

n/a

Actual outcome

Failing test

Expected outcome

Passing test

Additional information

No response

Operating system

No response

Matplotlib Version

Current main

Matplotlib Backend

No response

Python version

No response

Jupyter version

No response

Installation

git checkout

Activity

  1. ksunden commented on Jan 11, 2024

    Member

    This test has been somewhat flaky/bandaged over for a while, but something recently has seemed to shift probabilities for wx... Not sure what that would be, though as wcPython has not seen a release recently as far as I can tell.

    I will cross link to the other times this test has been touched that I can find easily here:

    #20490
    #23384
    #23094
    #24711
    #24397
    #26680

    We already fudge the numbers in some cases/ignore/xfail the test in others.

  2. ksunden commented on Jan 11, 2024

    Member

    I am also stochastically seeing this test fail locally (with wxagg) but with a slightly different presentation:

    subprocess.CalledProcessError: Command '['/home/kyle/venvs/pyenv/versions/3.11.4/envs/edge/bin/python3.11', '-c', "import importlib.util;_spec = importlib.util.spec_from_file_location('matplotlib.tests.test_backends_interactive', '/home/kyle/src/scipy/matplotlib/lib/matplotlib/tests/test_backends_interactive.py');_module = importlib.util.module_from_spec(_spec);_spec.loader.exec_module(_module);_module._test_figure_leak()", '0.0']' 
    died with <Signals.SIGTRAP: 5>.

    I'm not sure what is sending SIGTRAP, though I guess it could be memory related somewhere...

  3. added this to the v3.9.0 milestone on Feb 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL