Just tested the new vesion for around 30 minutes…
No crash whatsoever on Windows 10 (CPU I7, 8 gb Ram)
RAW file NEF (Nikon D700).
My deepest congratulations because your software is packed with interesting features!
The zoom (in -out; 1:1 etc ) and pan (toolbars) works fine.
I have tried quite a lot the basic adjustements and their tools look quite responsive on my computer.
2 little bugs:
the icon which looks like a thunder lacks a tooltip (its is placed under the curves tool and the uniform fill, to be more precise)
the soft proofing setup lacks a way to close its window. When you click on the X button, on the right, nothing occurs (the window remains open). To close it you must press ESC on your keyboard
I’ll take a look tomorrow, its getting a bit late now.
Are you logging the value of tile->ref_count when the assertion fails in pf_tile_unref() in the new version? It might be interesting to know if it is 0 or <0. From a brief scan of the code in tilecache_pf.c, it looks like pf_tile_ref() and pf_tile_unref() are called when the tile pool mutex is locked, but there are other places that zero the ref_count where this mutex is not locked.
I will do it, but this won’t be the same use case as before, since I won’t be executing an appimage, right? Or it doesn’t matter?
Anyway, today it crashed when I
1 - Opened this raw (IMG_1093.CR2) from this thread;
2 - Added a Basic layer;
3 - Increased exposure by 8 EV;
4 - Exported as tiff 32-bit rec2020.
It crashed while exporting. It left behind the tif file, but a malformed one.
I can confirm I only have 4GB RAM and cheaply replaced parts.
I can also confirm that my earlier usage isn’t reproducible: 1 because I haven’t tried again and 2 because the log didn’t record the moments before the crash or instability.
Overall, I like the new direction, since PF won’t be stalling with every minute change in the settings, which has been extremely off-putting.
I removed the offending compiler flag… could you pull the latest version and recompile?
The AppImage and the user-compiled code should behave in the same way, at least if the issue is in the thread logic and not due to some memory corruption…
Ok, I have temporarily removed all treatment of warnings as errors, so that the compiler will be less strict. Meanwhile I will try to fix the warnings…
Hold on… I am building the code on Ubuntu 18.04 myself, will get back to you once I have fixed those issues… it makes no sense to waste your time sorting out compilation problems! It will hopefully not take too long…
I have added some more logging messages. I need to understand if the ref_count=0 is simply due to an extra unref, or if it is due to a wrong tile disposal…
Thanks for checking and for the encouraging words! I think that right now there is probably even too much, so I am trying to simplify the tools… but first I need to get what exists to run rock solid.
(same method as before, open .NEF file, add shadows/highlights, zoom to 1:1 and scroll around with the track-pad until it crashes. I’m changing direction a lot so it doesn’t have time to complete the window refresh)
@paulmiller@gadolf the crashes are all similar, which is quite good. Next thing I would like to ask you to check is if the reference counting mismatch is due to thread synchronization problems, or just some naive programming mistake…
You can turn off multi-threading by setting the following environment variable:
EDIT: I tried executing phf without valgrind and that’s what I got:
gustavo@N4050:~/PhotoFlow/build/Relwithdebinfo/bin(new-caching)$ ./photoflow
./photoflow: error while loading shared libraries: libvips.so.42: cannot open shared object file: No such file or directory