Long time After Effects user here. Trying out Natron for the first time this week and having a blast learning nodes. I designed an animated lower third and tried to render out a PNG sequence, but for some reason the render would get hung on frame 12 (the first keyframe in my timeline). After saving my project, and restarting Natron, the render came out fine. Just for future reference, if I’m experiencing any similar weirdness like this down the road, is there a way I can view logged errors or gather some info that might help developers track down what’s going on? Sorry for the vague question, but I just want to feel better equipped next time I have a question, I’ll be able to bring enough info about the issue to help everyone in the community.
This is called a deadlock, and these things happen and are very difficult to debug. Crash reporting is out of service, as I don’t have the resource to handle all crashes, but in the old times you had a “crash” button in the preferences that could help.
What you can do if your project systematically fails is to package a smaller version of the project, maybe reduce the size of the assets or remove protected material, and post an issue on GitHub: Issues · NatronGitHub/Natron · GitHub
Now for the workarounds:
- Avoid using H.264 (eg AVCHD) or H.265 (HEVC) video as your inputs. ProRes is OK but slow. DNxHR is OK. Individual frames is best (dpx, exr, tiff, png, jpeg, whatever). The video reader is here for convenience, but it may have difficulties decoding some videos.
- Do not write to video either. Prefer individual frames, then compress using handbrake or ffmpeg. This is the standard compositing workflow.
- Uncheck the “Overwrite” checkbox in the writer when re-rendering a project (avoids re-rendering already rendered frames)
- If you have a large project, or a project with heavy processing, use the DiskCache node at places that make sense (after heavy processing, or before you use the result of processing as inputs to Roto or RotoPaint).
You will quickly notice trhat 1. and 2. will give a big performance boost and will most probably solve your issues, so once you’ve learned how to decompress/compress any video, this will be your standard workflow. Just buy extra disk space, and you’re good to do serious compositing.
I added a “Troubleshooting” section to the Natron documentation, please read carefully: http://natron.readthedocs.io/en/rb-2.3/guide/getstarted-troubleshooting.html
Awesome. Thanks for the feedback!
@actualmattjones which OS are you running Natron under?
@actualmattjones you can get more info about the deadlock using GDB by attaching to the hung process and seeing where it’s hung. Assuming Natron’s executable is called
natron and it’s currently hanging, then this will attach GDB to its process:
gdb -p "$(pidof natron)"
bt to get a backtrace and paste that here. The backtrace from a “release” type build could have some useful info, but one from a “debug” type build would have a lot more useful info, so get a debug build (or compile your own) if possible.
This page gives more info, it’s for RawTherapee but the general concept applies to any program:
Good deal. Thanks for the help!