NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.54k stars 332 forks source link

(Bug): Natron crashes when attempting to render a project #855

Open jin-eld opened 1 year ago

jin-eld commented 1 year ago

Make sure to follow our issue report guidelines

Natron version

Natron version 2.5 at commit 53ee17e34438005425230468916ff223cfd8a403 on branch tags/v2.5.0

Operating system

Fedora 37

System specs

RAM: 16GB CPU: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz NVIDIA GeForce GT555M

Did you install Natron using the official installer?

Custom installation path

/home/jin/Work/Projects/Natron/Natron-2.5.0

What were you trying to do?

Natron crashes when trying to render the project.

I have a simple setup which reads an mp4 video, repositions and crops it: image

I tried with and without DiskCache (I read that DiskCache might help, but rendering still crashes).

I am trying to render the project as jpg frames, the video is 900 frames long at a resolution of 720x1280 and I have 104GB of DiskSpace available, which I think should really be enough.

Pre-Caching does complete without issues, however hitting "Render" on the Writer node causes a crash.

My input was an mp4 and I remembered that there were some issues with that, so I converted it to a sequence of png images, but the result was the same - crash on render.

I created a simplified mini project which allows to reproduce the issue and I am attaching the .zip containing the mp4 and the ntp file. natron_bug.zip

What did you expect to happen? What happened instead?

$ ./Natron
Natron Version 2.5
(C) 2018-2022 The Natron developers
(C) 2013-2018 INRIA and Alexandre Gauthier-Foichat
>>>Use the --help or -h option to print usage.<<<
Info: init.py script not loaded (this is not an error)
Info: initGui.py script not loaded (this is not an error)
Loading project: /home/jin/Work/Projects/Natron/natron_bug/crash_on_render.ntp
Caught segmentation fault (SIGSEGV) from thread Parallel render thread (0x7f186c0025e0)(0x7f186c0025d0), faulty address is 0x7f18f0046ae8 from 0
Backtrace:
[Frame 1]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/../../Libraries/libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_33pvt10contiguizeEPKvilllPviiiNS_8TypeDescE+0x9d8) [0x7f18f0046ae8]
[Frame 2]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/../../Libraries/libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_33pvt10contiguizeEPKvilllPviiiNS_8TypeDescE+0x9d8) [0x7f18f0046ae8]
[Frame 3]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/../../Libraries/libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_311ImageOutput19to_native_rectangleEiiiiiiNS_8TypeDescEPKvlllRSt6vectorIhSaIhEEjiii+0x747) [0x7f18f0062cd7]
[Frame 4]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/../../Libraries/libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_311ImageOutput18to_native_scanlineENS_8TypeDescEPKvlRSt6vectorIhSaIhEEjii+0x59) [0x7f18f0062fe9]
[Frame 5]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/../../Libraries/libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_39JpgOutput14write_scanlineEiiNS_8TypeDescEPKvl+0xbd) [0x7f18f019117d]
[Frame 6]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/../../Libraries/libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_311ImageOutput15write_scanlinesEiiiNS_8TypeDescEPKvll+0x158) [0x7f18f00612a8]
[Frame 7]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/../../Libraries/libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_311ImageOutput11write_imageENS_8TypeDescEPKvlllPFbPvfES4_+0x2e4) [0x7f18f0061604]
[Frame 8]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/IO.ofx(+0x159bd4) [0x7f18f2d59bd4]
[Frame 9]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/IO.ofx(+0x164762) [0x7f18f2d64762]
[Frame 10]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/IO.ofx(+0x9b569) [0x7f18f2c9b569]
[Frame 11]: /home/jin/Work/Projects/Natron/Natron-2.5.0/Plugins/OFX/Natron/IO.ofx.bundle/Contents/Linux-x86-64/IO.ofx(+0x1bf4bf) [0x7f18f2dbf4bf]
[Frame 12]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/Natron() [0xf84905]
[Frame 13]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/Natron() [0xc32748]
[Frame 14]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/Natron() [0xf8fe2d]
[Frame 15]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/Natron() [0xc139ce]
Caught segmentation fault (SIGSEGV) from thread Main(0x1ac8b70), faulty address is 0x7f19bafa1d33 from 0
Backtrace:
[Frame 1]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(_ZN4QPenC1Ev+0x23) [0x7f19bafa1d33]
[Frame 2]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(_ZN4QPenC1Ev+0x23) [0x7f19bafa1d33]
[Frame 3]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(_ZN23QGraphicsSimpleTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget+0xa6) [0x7f19bb37f766]
[Frame 4]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(+0x7b233c) [0x7f19bb3b233c]
[Frame 5]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(+0x7b3045) [0x7f19bb3b3045]
[Frame 6]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(+0x7b241a) [0x7f19bb3b241a]
[Frame 7]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(+0x7b3045) [0x7f19bb3b3045]
[Frame 8]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(+0x7b241a) [0x7f19bb3b241a]
[Frame 9]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(+0x7b3045) [0x7f19bb3b3045]
[Frame 10]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(+0x7b241a) [0x7f19bb3b241a]
[Frame 11]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(+0x7b3045) [0x7f19bb3b3045]
[Frame 12]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(+0x7b367a) [0x7f19bb3b367a]
[Frame 13]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(_ZN13QGraphicsView10paintEventEP11QPaintEvent+0x4bd) [0x7f19bb3ce4ed]
[Frame 14]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/Natron() [0x7d7df3]
[Frame 15]: /home/jin/Work/Projects/Natron/Natron-2.5.0/bin/../lib/libQtGui.so.4(_ZN7QWidget5eventEP6QEvent+0x19e) [0x7f19bae8ebce]
Segmentation fault (core dumped)

Step-by-step reproduction instructions

  1. start natron
  2. open attached projects
  3. select disk cache node and click "pre-cache" in the node menu
  4. select writer node and click "render" in the node menu
  5. segfault

Additional details

As already mentioned, I tried it with the mp4 input as well as with a png sequence. I also tried both distributions of Natron: Natron-2.5.0-Linux-x86_64.tgz and Natron-2.5.0-Linux-x86_64-no-installer.tar.xz

It also does crash when attempting to render without the DiskCache plugin (I only used DiskCache, because some post suggested that it may help).

The problem does not seem to be present with Natron version 2.3.15 at commit 513a2491008c152417ae913f8d1ab83e432aa7e3 on branch tags/v2.3.15, which I had installed from some time back, there rendering works without crashing.

Also downloaded Natron version 2.4.4 at commit 4bb259484a26faf08c32c31bf7a60bc1324726ac on branch tags/v2.4.4 now and it renders as well, so seems to be some sort of regression in 2.5

I got somewhat lost and it seems my above two statements are not quite correct, so it seems rendering as .jpg will crash 2.4.4, while rendering as .png will not.