Repository navigation
CI tests are failing (xvfb issue?) #756
Description
Activity
- changed the title
[-]CI tests are failing (Slycot issue?)[/-][+]CI tests are failing (coveralls issue?)[/+]on Aug 4, 2022 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.
- changed the title
[-]CI tests are failing (coveralls issue?)[/-][+]CI tests are failing (coverage issue?)[/+]on Aug 4, 2022 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
- changed the title
[-]CI tests are failing (coverage issue?)[/-][+]CI tests are failing (xvfb issue?)[/+]on Aug 4, 2022 Using
pytest-xvfbfixes the original crash (which was happening inconfig_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-runto get the right MPL back end, so that is probably related somehow.One thing that is odd is that the other test suites pass and they are using
xvfb-run. In particular,control-slycot-src.ymlseems fine and it runs the full test suite...There is a note saying that we were using
xvfb-runto 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?
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.
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.
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
- linked a pull request that will close this issueBuild system and test suite update #759
on Aug 20, 2022 For the record: the random DISPLAY failure is back. (Maybe due to #796)
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.