GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — CI tests are failing (xvfb issue?) · Issue #756 · python-control/python-control

CI tests are failing (xvfb issue?) #756

New issue
Copy link
New issue
Copy link
Closed
#759
#757
Closed
CI tests are failing (xvfb issue?)#756
#759
#757
Copy link

Description

@murrayrm
murrayrm
opened on Aug 4, 2022
Issue body actions

Conda-based CI tests are failing, as seen in PR #755. This this is new behavior. I checked on my local branch and this appears to be happening on the main branch => appears that the issue is outside of this repository. One possibility is an issue with slycot.

Activity

  1. murrayrm
    changed the title [-]CI tests are failing (Slycot issue?)[/-] [+]CI tests are failing (coveralls issue?)[/+] on Aug 4, 2022
  2. murrayrm commented on Aug 4, 2022

    @murrayrm
    murrayrm
    on Aug 4, 2022
    MemberAuthor
    More actions

    Doing a bit of digging. It doesn't look like slycot is the issue, since Python 3.7 without Slycot without cvxopt also crashes. The error messages seem to point to coverage (?). I'm try to isolate things here.

  3. murrayrm
    changed the title [-]CI tests are failing (coveralls issue?)[/-] [+]CI tests are failing (coverage issue?)[/+] on Aug 4, 2022
  4. bnavigator commented on Aug 4, 2022

    @bnavigator
    bnavigator
    on Aug 4, 2022
    Contributor
    More actions

    I don't think that it is coverage.

    Looks Qt related which is the default backend for Matplotlib. My first guess is that this is a conda-forge packaging bug on the MPL or Qt side.

    More things to try:

    • pytest-xvfb
    • set MPLBACKEND
    • try QT_QPA_PLATFORM=offscreen
  5. murrayrm
    changed the title [-]CI tests are failing (coverage issue?)[/-] [+]CI tests are failing (xvfb issue?)[/+] on Aug 4, 2022
  6. murrayrm commented on Aug 4, 2022

    @murrayrm
    murrayrm
    on Aug 4, 2022
    MemberAuthor
    More actions

    Using pytest-xvfb fixes the original crash (which was happening in config_test.py), but introduces a new test failure:

    def test_root_locus_zoom(self):
    [102](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:103)
            """Check the zooming functionality of the Root locus plot"""
    [103](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:104)
            system = TransferFunction([1000], [1, 25, 100, 0])
    [104](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:105)
            plt.figure()
    [105](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:106)
            root_locus(system)
    [106](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:107)
            fig = plt.gcf()
    [107](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:108)
            ax_rlocus = fig.axes[0]
    [108](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:109)
        
    [109](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:110)
            event = type('test', (object,), {'xdata': 14.7607954359,
    [110](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:111)
                                             'ydata': -35.6171379864,
    [111](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:112)
                                             'inaxes': ax_rlocus.axes})()
    [112](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:113)
            ax_rlocus.set_xlim((-10.813628105112421, 14.760795435937652))
    [113](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:114)
            ax_rlocus.set_ylim((-35.61713798641108, 33.879716621220311))
    [114](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:115)
    >       plt.get_current_fig_manager().toolbar.mode = 'zoom rect'
    [115](https://github.com/murrayrm/python-control/runs/7679958935?check_suite_focus=true#step:5:116)
    E       AttributeError: 'NoneType' object has no attribute 'mode'
    

    There is a note saying that we were using xvfb-run to get the right MPL back end, so that is probably related somehow.

  7. murrayrm commented on Aug 4, 2022

    @murrayrm
    murrayrm
    on Aug 4, 2022
    MemberAuthor
    More actions

    One thing that is odd is that the other test suites pass and they are using xvfb-run. In particular, control-slycot-src.yml seems fine and it runs the full test suite...

  8. bnavigator commented on Aug 4, 2022

    @bnavigator
    bnavigator
    on Aug 4, 2022
    Contributor
    More actions

    There is a note saying that we were using xvfb-run to get the right MPL back end, so that is probably related somehow.

    Yes, it is related. The plain Agg backend does not have the toolbar for the figure manager. We have seen this before: #504 (comment)

    So this looks more and more like a qt backend issue in the MPL or Qt packages in conda-forge.

    Are you able to determine package version differences in the control-slycot-src vs. the python-package-conda runs?

  9. murrayrm commented on Aug 5, 2022

    @murrayrm
    murrayrm
    on Aug 5, 2022
    MemberAuthor
    More actions

    It looks like the error occurs when the installation uses a specialized conda environment (versus just installing things in the conda base environment). There are quite a few differences in the various packages that are installed in each case.

  10. murrayrm
    closed this as completedin #757on Aug 6, 2022
  11. bnavigator commented on Aug 6, 2022

    @bnavigator
    bnavigator
    on Aug 6, 2022
    Contributor
    More actions

    Now that the conda error is resolved, there is a new X11 error on the main branch. Something in the GHA runners must have changed between the check run for #755 and after the merge of it.

  12. bnavigator
    reopened this on Aug 6, 2022
  13. bnavigator commented on Aug 6, 2022

    @bnavigator
    bnavigator
    on Aug 6, 2022
    Contributor
    More actions

    The failures with the invalid DISPLAY variable are totally random. We might just have been lucky in the builds for #755 and #757.

    https://github.com/bnavigator/python-control/commits/update-CI

  14. bnavigator
    linked a pull request that will close this issueBuild system and test suite update #759on Aug 20, 2022
  15. murrayrm
    closed this as completedin #759on Aug 20, 2022
  16. bnavigator commented on Nov 20, 2022

    @bnavigator
    bnavigator
    on Nov 20, 2022
    Contributor
    More actions

    For the record: the random DISPLAY failure is back. (Maybe due to #796)

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.