Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

defining back ffmpeg as an external feature (which are not doctested by default) #33219

Closed
vbraun opened this issue Jan 22, 2022 · 14 comments
Closed

Comments

@vbraun
Copy link
Member

vbraun commented Jan 22, 2022

On the kucalc buildbot (debian 9 x86_64):

[...]
sage: sig_on_count() # check sig_on/off pairings (virtual doctest) ## line 700 ##
0
sage: a = animate([sin(x + float(k)) for k in srange(0,2*pi,0.7)],
               xmin=0, xmax=2*pi, figsize=[2,1]) ## line 787 ##
sage: a.show()       # optional -- ImageMagick ## line 789 ##
sage: a.show(iterations=3)    # optional -- ImageMagick ## line 794 ##
sage: a.show(delay=50)        # optional -- ImageMagick ## line 798 ##
sage: a.show(format="ogg")         # optional -- ffmpeg ## line 802 ##
sage: a.show(format="webm")        # optional -- ffmpeg ## line 803 ##
sage: a.show(format="mp4")         # optional -- ffmpeg ## line 804 ##
------------------------------------------------------------------------
/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.9/lib/python3.9/site-packages/cysignals/signals.cpython-39-x86_64-linux-gnu.so(+0x6c28)[0x7fdba3db8c28]
/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.9/lib/python3.9/site-packages/cysignals/signals.cpython-39-x86_64-linux-gnu.so(+0x6e08)[0x7fdba3db8e08]
/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.9/lib/python3.9/site-packages/cysignals/signals.cpython-39-x86_64-linux-gnu.so(+0x91fa)[0x7fdba3dbb1fa]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fdbabeed390]
/lib/x86_64-linux-gnu/libpthread.so.0(waitpid+0x6b)[0x7fdbabeecf7b]
/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.9/lib/libpython3.9.so.1.0(+0x1ccd19)[0x7fdbac2c5d19]
/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.9/lib/libpython3.9.so.1.0(+0xe57e1)[0x7fdbac1de7e1]
/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.9/lib/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x8ffe)[0x7fdbac16a9ee]
/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.9/lib/libpython3.9.so.1.0(+0x67a88)[0x7fdbac160a88]
[...]
**********************************************************************
----------------------------------------------------------------------
sage -t --long --random-seed=0 src/sage/plot/animate.py  # Timed out
----------------------------------------------------------------------

CC: @mkoeppe @seblabbe @orlitzky

Component: packages: optional

Author: Sébastien Labbé

Branch/Commit: 6aaf5e2

Reviewer: Matthias Koeppe

Issue created by migration from https://trac.sagemath.org/ticket/33219

@vbraun vbraun added this to the sage-9.6 milestone Jan 22, 2022
@orlitzky
Copy link
Contributor

Dependencies: #33045

@orlitzky
Copy link
Contributor

comment:1

We know. The timeout is a separate issue (#33045). Please try Sébastien's branch there.

Feature checks at runtime won't easily be able to detect a process that hangs. It's Yet Another fundamental problem with runtime checks.

@orlitzky orlitzky removed this from the sage-9.6 milestone Jan 22, 2022
@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 22, 2022

comment:2

If trying to use this feature can hang, then we should probably declare this feature as unsafe again by adding it back to external_features, https://github.com/sagemath/sage-prod/blob/develop/src/sage/doctest/external.py#L336

@seblabbe
Copy link
Contributor

Commit: a276d0b

@seblabbe
Copy link
Contributor

Changed dependencies from #33045 to none

@seblabbe
Copy link
Contributor

Author: Sébastien Labbé

@seblabbe
Copy link
Contributor

comment:3

Since #32174, we are automatically testing "safe" external features including ffmpeg. It turns out that those doctests are broken (hang, doctests time out) on machines I don't have access to including the buildbots on which Volker tests tickets.

I have been testing those optional tests and others on my machine for some time now and reporting on sage-release, but indeed, not on a big variety of machines. Therefore, those optional doctests are not guarrenty to work on all machines.

There are two solutions to this:

The current branch implements the former. Needs review!

#33045 can be dealt with later once we find a way to test that it fixes the issue on a buildbot.


New commits:

a276d0b33219: defining back ffmpeg as an external feature

@seblabbe
Copy link
Contributor

Branch: u/slabbe/33219

@seblabbe seblabbe added this to the sage-9.5 milestone Jan 25, 2022
@seblabbe seblabbe changed the title ffmpeg/imagemagick feature checks still broken defining back ffmpeg as an external feature (which are not doctested by default) Jan 25, 2022
@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 25, 2022

Reviewer: Matthias Koeppe

@vbraun
Copy link
Member Author

vbraun commented Jan 27, 2022

comment:6
sage -t --long --warn-long 50.8 --random-seed=123 src/sage/doctest/external.py
**********************************************************************
File "src/sage/doctest/external.py", line 381, in sage.doctest.external.AvailableSoftware
Failed example:
    external_software
Expected:
    ['cplex',
     'gurobi',
     'internet',
     'latex',
     'latex_package_tkz_graph',
     'lualatex',
     'macaulay2',
     'magma',
     'maple',
     'mathematica',
     'matlab',
     'octave',
     'pdflatex',
     'scilab',
     'xelatex']
Got:
    ['cplex',
     'ffmpeg',
     'gurobi',
     'internet',
     'latex',
     'latex_package_tkz_graph',
     'lualatex',
     'macaulay2',
     'magma',
     'maple',
     'mathematica',
     'matlab',
     'octave',
     'pdflatex',
     'scilab',
     'xelatex']
**********************************************************************
1 item had failures:
   1 of   3 in sage.doctest.external.AvailableSoftware
    [39 tests, 1 failure, 0.02 s]
----------------------------------------------------------------------
sage -t --long --warn-long 50.8 --random-seed=123 src/sage/doctest/external.py  # 1 doctest failed
----------------------------------------------------------------------

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 27, 2022

Changed branch from u/slabbe/33219 to u/mkoeppe/33219

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 27, 2022

Changed commit from a276d0b to 6aaf5e2

@mkoeppe
Copy link
Contributor

mkoeppe commented Jan 27, 2022

New commits:

6aaf5e2src/sage/doctest/external.py: Update doctest output

@vbraun
Copy link
Member Author

vbraun commented Jan 29, 2022

Changed branch from u/mkoeppe/33219 to 6aaf5e2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants