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.65k stars 338 forks source link

(Bug): Natron stuck in memory when closing with a project open (unique to me?) #795

Open decryptedchaos opened 2 years ago

decryptedchaos commented 2 years ago

Make sure to follow our issue report guidelines

Natron version

Natron 2.4.3

Operating system

Windows 11

System specs

RAM: 16GB CPU: Ryzen 7 2700X GPU: Nvidia GeForce 1080 Ti SC

Did you install Natron using the official installer?

Custom installation path

No response

What were you trying to do?

Simply trying to close natron with a project open

What did you expect to happen? What happened instead?

Natron should close while a project is open.

But it's not for me, i suspect this is going to be hard to reproduce this appears to be something specific to my install?

I have to believe someone would have noticed it getting stuck in memory before now, but that's what's its doing.

As for the project requested above, I will do so if the devs push the issue, but its such a basic project 200 frame sequence two merge nodes for overlay images, a bit of color grading and blurring that's it.

Step-by-step reproduction instructions

  1. Open natron with a project
  2. Close natron
  3. wait 10 seconds
  4. natron window gone but stuck in task manager not responding

Additional details

https://user-images.githubusercontent.com/1302391/171087678-081cdc32-ebf6-4d3c-a0fa-a441bd393567.mp4

rodlie commented 2 years ago

Known issue, hard to debug.

decryptedchaos commented 2 years ago

Known issue, hard to debug.

Is there a way to get the debug symbols / get it to attach to the vs studio debugger without building from sources?

I'm not really a programmer but I would take a stab at tracing it

rodlie commented 2 years ago

We do not have debug symbols on releases anymore, so you will need to build from source (using MSYS2).

I could do a Windows snapshot build without stripping the binaries if wanted.

decryptedchaos commented 2 years ago

Well, it could be helpful, maybe. But then on second thought I'm not 100% if that will give me breakpoints in the debugger or not

decryptedchaos commented 2 years ago

sigh I tried to build source, but Natron has one of those annoying dev env's I spent 5 hours trying to configure it and... maybe i'll try again tomorrow

rodlie commented 2 years ago

https://discuss.pixls.us/t/how-to-build-and-develop-natron-on-windows-x64-8-1-10/20513

Just ask if you have any issues (You can skip the Qt Creator stuff if you want, but the MSYS2 instructions are important).

decryptedchaos commented 2 years ago

I mean i'm pretty sure i have it configured properly but its failing to make


22:12:33: Running steps for project Project...
22:12:33: Starting: "C:\msys64-20180531\mingw64\bin\qmake.exe" C:\Users\nixgo\Code\Natron\Project.pro -r
Reading C:/Users/nixgo/Code/Natron/HostSupport/HostSupport.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/HostSupport]
Reading C:/Users/nixgo/Code/Natron/libs/gflags/gflags.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/libs/gflags]
Reading C:/Users/nixgo/Code/Natron/libs/glog/glog.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/libs/glog]
Reading C:/Users/nixgo/Code/Natron/libs/ceres/ceres.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/libs/ceres]
Reading C:/Users/nixgo/Code/Natron/libs/libmv/libmv.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/libs/libmv]
Reading C:/Users/nixgo/Code/Natron/libs/openMVG/openMVG.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/libs/openMVG]
Reading C:/Users/nixgo/Code/Natron/libs/qhttpserver/qhttpserver.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/libs/qhttpserver]
 Reading C:/Users/nixgo/Code/Natron/libs/qhttpserver/src/src.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/libs/qhttpserver/src]
Reading C:/Users/nixgo/Code/Natron/libs/hoedown/hoedown.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/libs/hoedown]
Reading C:/Users/nixgo/Code/Natron/libs/libtess/libtess.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/libs/libtess]
Reading C:/Users/nixgo/Code/Natron/Engine/Engine.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/Engine]
Reading C:/Users/nixgo/Code/Natron/Renderer/Renderer.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/Renderer]
Reading C:/Users/nixgo/Code/Natron/Gui/Gui.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/Gui]
Reading C:/Users/nixgo/Code/Natron/Tests/Tests.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/Tests]
Reading C:/Users/nixgo/Code/Natron/PythonBin/PythonBin.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/PythonBin]
Reading C:/Users/nixgo/Code/Natron/App/App.pro [C:/Users/nixgo/Code/build-Project-Natron-Debug/App]
Project MESSAGE: You did not select a config option for the build. Defaulting to Devel. You can choose among (snapshot | alpha | beta | RC | stable | custombuild). For custombuild you need to define the environment variable BUILD_USER_NAME. Also you can give a revision number to the version of Natron with the environment variable BUILD_NUMBER (e.g: RC1, RC2 etc...)
Project MESSAGE: Compiling in DEBUG mode.
WARNING: Failure to find: debug\Natron_res.o
WARNING: Failure to find: release\Natron_res.o
WARNING: target.path is not defined: install target not created

WARNING: target.path is not defined: install target not created

WARNING: target.path is not defined: install target not created

WARNING: target.path is not defined: install target not created

WARNING: Failure to find: debug\Natron_res.o
WARNING: Failure to find: release\Natron_res.o
WARNING: target.path is not defined: install target not created

WARNING: target.path is not defined: install target not created

22:12:51: The process "C:\msys64-20180531\mingw64\bin\qmake.exe" exited normally.
22:12:51: Starting: "C:\msys64-20180531\usr\bin\make.exe" -j4
cd HostSupport\ && /usr/bin/make -f Makefile 
cd libs\gflags\ && /usr/bin/make -f Makefile 
cd libs\qhttpserver\ && /usr/bin/make -f Makefile 
/bin/sh: line 0: cd: HostSupport : No such file or directory
make: *** [Makefile:53: sub-HostSupport-make_default] Error 1
make: *** Waiting for unfinished jobs....
/bin/sh: line 0: cd: libsgflags : No such file or directory
make: *** [Makefile:75: sub-libs-gflags-make_default] Error 1
/bin/sh: line 0: cd: libsqhttpserver : No such file or directory
make: *** [Makefile:187: sub-libs-qhttpserver-make_default] Error 1
22:12:51: The process "C:\msys64-20180531\usr\bin\make.exe" exited with code 2.
Error while building/deploying project Project (kit: Natron)
When executing step "Make"
22:12:51: Elapsed time: 00:18.

UPDATE: Stand-by apparently make needs to be executed from msys using qt creator causes the error

decryptedchaos commented 2 years ago

Well, it produced a 600MB Natron.exe but its not linking the librarys, i'll have to troubleshoot tomorrow.

nte1 nte2 nte3 nte4

decryptedchaos commented 2 years ago

So, i sorta got it to build with the CI-Snapshot script, but only in release mode, which striped out the debug symbols.

Trying to build in debug mode would fail at test.exe (and not create the files)

But, here's the kicker, the snapshot release doesn't have the original issue, so I'm at a loss, for if its worth it to keep fighting the debug build for an issue that doesn't appear to be there in the snapshot build

Relevant info: I used the RB-2.4 branch to build against

rodlie commented 2 years ago

But, here's the kicker, the snapshot release doesn't have the original issue, so I'm at a loss, for if its worth it to keep fighting the debug build for an issue that doesn't appear to be there in the snapshot build

There are no related changes in RB-2.4 compared to 2.4.3 release.

But, you are probably using a different version of OIIO (OpenImageIO) compared to 2.4.3-release?

decryptedchaos commented 2 years ago

But, you are probably using a different version of OIIO (OpenImageIO) compared to 2.4.3-release?

I'm going to assume it's built against the master (latest) I can't be sure, the script does most of the work.

rodlie commented 2 years ago

You are using https://sourceforge.net/projects/natron/files/MINGW-packages/mingw64/mingw-w64-x86_64-openimageio-2.2.18.0-2-any.pkg.tar.xz/download ? (if you installed the MSYS2 packages through our MSYS2 repo).

2.4.3-release uses OIIO 2.3.11. I forgot to sync the MINGW-packages repo after release.

You can check your OIIO version in any read node, see "OpenImageIO Info..." button at the bottom in the (read) node properties.

There has been issues with OIIO in the past, versions before 2.1.x had freeze issues, some versions in 2.2.x also had it, and it seems 2.3.x also has issues.

EDIT: Currently upgrading OIIO to latest version and will do a snapshot build when done.

decryptedchaos commented 2 years ago

Confirmed, my snapshot built with OIIO 2.2.18

---------------------------
Read1
---------------------------
OpenImageIO version (compiled with / running with): 2.2.18/2.2.18
<>Dependent libraries:
gif_lib 5.2.1<br>
libheif 1.6.1<br>
jpeg-turbo 2.0.6/jp80
OpenJpeg 2.3.1
null 1.0<br>
OpenEXR 2.5.7
libpng 1.6.34
libraw 0.18.13-Release
LIBTIFF Version 4.0.10
Webp 1.2.0
All supported formats and extensions: bmp: bmp, dib; cineon: cin; dds: dds; dpx: dpx; fits: fits; gif: gif; heif: heic, heif, heics; hdr: hdr, rgbe; ico: ico; iff: iff, z; jpeg: jpg, jpe, jpeg, jif, jfif, jfi; jpeg2000: jp2, j2k, j2c; null: null, nul; openexr: exr, sxr, mxr; png: png; pnm: ppm, pgm, pbm, pnm, pfm; psd: psd, pdd, psb; raw: bay, bmq, cr2, crw, cs1, dc2, dcr, dng, erf, fff, k25, kdc, mdc, mos, mrw, nef, orf, pef, pxn, raf, raw, rdc, sr2, srf, x3f, arw, 3fr, cine, ia, kc2, mef, nrw, qtk, rw2, sti, rwl, srw, drf, dsc, ptx, cap, iiq, rwz, cr3; rla: rla; sgi: sgi, rgb, rgba, bw, int, inta; socket: socket; softimage: pic; tiff: tif, tiff, tx, env, sm, vsm; targa: tga, tpic; term:
---------------------------
OK   
---------------------------
rodlie commented 2 years ago

RB-2.4 snapshot build with OIIO 2.3.16.0: https://sourceforge.net/projects/natron/files/Windows/64/snapshots/Natron-RB-2.4-202206021813-1018b37-Windows-x86_64.zip/download

decryptedchaos commented 2 years ago

Well..

First I tried adding a read node, and selecting an EXR sequence and got this.

nb-no-exr

Then I tried opening the Natron spaceship demo. and got this.

nb-snapbroken

This caused by upgrading OIIO ?

rodlie commented 2 years ago

I'm sorry, I used an old version of the build script that didn't include a DLL.

Just download https://sourceforge.net/projects/natron/files/Windows/64/snapshots/libOpenImageIO_Util.dll/download and put it in the bin folder. You must probably also clear the plugin cache (start Natron, clear plugin cache and restart Natron).

decryptedchaos commented 2 years ago

I tested the same procedure 5 times on each version to make sure they were working the same. My findings are

The scene is my original scene loops at 140 frames to reduce cache and keep the test consistent.

OIIO 2.2.18

OIIO 2.3.16.0

rodlie commented 2 years ago

Thanks for testing, so it seems 2.3.16 is a good version.

decryptedchaos commented 2 years ago

Thanks for testing, so it seems 2.3.16 is a good version.

I may have found some issues with the build, unsure how related they are still testing should i post them here or new issue?

rodlie commented 2 years ago

sure, we can always make a new issue if needed.