-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Make manim crash when ffmpeg crashes #546
Conversation
Building the docs fails for me locally too 😕 I think manim is trying to do something with partial movie files even when it's been instructed to only save the last frame, meaning there are no partial movie files to process in the first place. |
This looks all good, but can you do this for the other |
Looks good to me as well. |
@kolibril13 No! Remember: the documentation slightly changes file names in order to make them unique; if you remove this one example, I am rather sure another one will fail. Please revert your commit again. I fear that we need to find a tailored solution for the documentation, or we will need to fix the underlying issue first... |
Ok, I will read this example, now |
Because the files in |
Ok, I am only hoping for an easy fix :) |
You can check out one of the last successful builds (https://readthedocs.org/projects/manimce/builds/12105792/) and search for "invalid data found" in the last log field. The error occurs 30 times. |
Aha! I think I may have inadvertently uncovered the very bug that sent me down this path in the first place. Imma fix the docs and report back. |
All checks green now. This was super hard to debug, mainly because of the mess of the config system and scene file writer. The tests pass on CI, but not locally, which is weird. Locally, I'm seeing problems with tests/test_pango.py, so think I may just have screwed up my setup. Can anyone please checkout this branch and run the tests locally? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes LGTM, the pipeline passes and the examples I checked sporadically in the rendered documentation also seem okay.
Thanks for your efforts!
This reverts commit 8b9dba2.
Ok this broke the --disable_caching flag (thanks @eulertour for realizing and reverting). In order to keep working on this, I want to implement tests first. |
Motivation
Sometimes, if FFMPEG crashes, manim happily keeps chugging along without reporting anything. It even prints a message as if everything was ok. In the picture below, FFMPEG complains that it didn't find a necessary file, but manim reports that the file is ready to view. In fact, manim didn't render anything at all!
Importantly, this allows some tests to pass even if FFMPEG has NOT rendered anything!
Explanation for Changes
Instead of calling FFMPEG and just waiting for it to finish, use
subprocess.check_call
, which will raise an exception unless the subprocess terminates successfully.Testing Status
Tests pass locally.
Acknowledgement