Tropy 1.13 crashes during image import

Since version 1.13, I’m unable to import more then a few images before Tropy crashes. The problem seems to be unrelated to a specific image - I have tested it on several sets of photos. I didn’t encounter this problem on 1.12. Here is the log:

{“level”:30,“time”:1682685618738,“type”:“browser”,“name”:“main”,“args”:[],“opts”:{“env”:“production”,“autoUpdates”:true,“contextIsolation”:true,“webgl”:false,“debug”:false,“trace”:false,“data”:“/home/[xxx]/.config/tropy”,“cache”:“/home/[xxx]/.cache/tropy”,“logs”:“/home/[xxx]/.config/tropy/log”},“version”:“1.13.0”,“msg”:“main.init 1.13.0 Linux 5.19.0-40-generic (x64)”}
{“level”:30,“time”:1682685618776,“type”:“browser”,“name”:“main”,“msg”:“plugins scanned: 2”}
{“level”:30,“time”:1682685618777,“type”:“browser”,“name”:“main”,“msg”:“app state restored”}
{“level”:30,“time”:1682685618779,“type”:“browser”,“name”:“main”,“file”:“/home/[xxx]/Documents/ReMoveDocs.tpy”,“msg”:“open new project window”}
{“level”:30,“time”:1682685619147,“type”:“renderer”,“name”:“project”,“dpx”:1,“opts”:{“app”:“/home/[xxx]/bin/tropy1.13/resources/app.asar”,“env”:“production”,“theme”:“light”,“aqua”:false,“contrast”:false,“dark”:false,“scrollbars”:true,“vibrancy”:false,“motion”:true,“file”:“/home/[xxx]/Documents/ReMoveDocs.tpy”,“data”:“/home/[xxx]/.config/tropy”,“debug”:true,“dev”:false,“cache”:“/home/[xxx]/.cache/tropy”,“plugins”:“/home/[xxx]/.config/tropy/plugins”,“fontSize”:“13px”,“frameless”:false,“level”:“info”,“locale”:“en”,“log”:“/home/[xxx]/.config/tropy/log/tropy.log”,“uuid”:“9a5a65e0-9455-11ed-93d9-652b84968e9e”,“update”:{},“version”:“1.13.0”,“webgl”:true,“zoom”:1,“maximizable”:true,“minimizable”:true},“msg”:“project.init”}
{“level”:30,“time”:1682685619200,“type”:“renderer”,“name”:“project”,“msg”:“plugins scanned: 2”}
{“level”:30,“time”:1682685619206,“type”:“renderer”,“name”:“project”,“msg”:“plugins loaded: 2”}
{“level”:30,“time”:1682685619567,“type”:“renderer”,“name”:“project”,“msg”:“restoring projectFiles@tropy”}
{“level”:30,“time”:1682685619573,“type”:“browser”,“name”:“main”,“msg”:“ready after 919ms”}
{“level”:30,“time”:1682685619569,“type”:“renderer”,“name”:“project”,“msg”:“restoring recent@tropy”}
{“level”:30,“time”:1682685619569,“type”:“renderer”,“name”:“project”,“msg”:“restoring settings@tropy”}
{“level”:30,“time”:1682685619569,“type”:“renderer”,“name”:“project”,“msg”:“restoring ui@tropy”}
{“level”:30,“time”:1682685619572,“type”:“renderer”,“name”:“project”,“mode”:“w+”,“msg”:“open db /home/[xxx]/.config/tropy/ontology.db”}
{“level”:30,“time”:1682685619589,“type”:“renderer”,“name”:“project”,“msg”:“project ready 727ms [dom:299ms win:73ms req:330ms]”}
{“level”:30,“time”:1682685619820,“type”:“renderer”,“name”:“project”,“msg”:“Esper.instance created using webgl renderer”}
{“level”:30,“time”:1682685619839,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Documents/ReMoveDocs.tpy”}
{“level”:30,“time”:1682685620048,“type”:“renderer”,“name”:“project”,“msg”:“db query took 124ms”,“query”:“VACUUM”,“ms”:124}
{“level”:30,“time”:1682685620111,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@d29ad3f1-499b-42e3-a41f-00187d6b5a2b”}
{“level”:30,“time”:1682685620115,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@d29ad3f1-499b-42e3-a41f-00187d6b5a2b”}
{“level”:30,“time”:1682685620116,“type”:“renderer”,“name”:“project”,“msg”:“restoring nav@d29ad3f1-499b-42e3-a41f-00187d6b5a2b”}
{“level”:30,“time”:1682685620116,“type”:“renderer”,“name”:“project”,“msg”:“restoring notepad@d29ad3f1-499b-42e3-a41f-00187d6b5a2b”}
{“level”:30,“time”:1682685620116,“type”:“renderer”,“name”:“project”,“msg”:“restoring esper@d29ad3f1-499b-42e3-a41f-00187d6b5a2b”}
{“level”:30,“time”:1682685620116,“type”:“renderer”,“name”:“project”,“msg”:“restoring imports@d29ad3f1-499b-42e3-a41f-00187d6b5a2b”}
{“level”:30,“time”:1682685620117,“type”:“renderer”,“name”:“project”,“msg”:“restoring sidebar@d29ad3f1-499b-42e3-a41f-00187d6b5a2b”}
{“level”:30,“time”:1682685620117,“type”:“renderer”,“name”:“project”,“msg”:“restoring panel@d29ad3f1-499b-42e3-a41f-00187d6b5a2b”}
{“level”:30,“time”:1682685620123,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Documents/ReMoveDocs.tpy”}
{“level”:30,“time”:1682685620124,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Documents/ReMoveDocs.tpy”}
{“level”:40,“time”:1682685620622,“type”:“renderer”,“name”:“project”,“ms”:495,“list”:true,“query”:“”,“tags”:false,“trash”:null,“msg”:“SLOW: *search query "" took 495ms”}
{“level”:30,“time”:1682685620756,“type”:“renderer”,“name”:“project”,“msg”:“db query took 126ms”,“query”:“\n SELECT id, property, text, datatype AS type\n FROM subjects\n JOIN metadata USING (id)\n JOIN metadata_values USING (value_id) ORDER BY id, metadata.created ASC”,“ms”:126}
{“level”:40,“time”:1682686061132,“type”:“browser”,“name”:“main”,“msg”:“project[1] render-process crashed: crashed”}

Thanks for reporting!

I think there’s an issue with the static libvips build that ships with Tropy. Which distribution are you on? And do you have libvips installed system-wide? You can check by running vips --version in a terminal.

Thank you! I’m on Linux Mint 21.1 and don’t have libvips installed (but
can try to do so - there is v 8.12.1 in the repository).

Michal

Hello,

I’m a new Tropy user, which seems a really great tool, thank you for working on such a project! However here too, it’s crashing each time I import a few pictures (jpg). Importing a file doesn’t work, it crashes after a few pictures. I also tried to import about 20 pictures with the drag and drop, but it still doesn’t work. Even importing 10 by 10, it ends up crashing.
I tried with different pictures. I also tried changing one of my file’s name cause i’ve got a “è” in one of my file’s name, but it didn’t change anything.

I didn’t have libvips installed either, so I downloaded it. Now I’ve “vips-8.12.1-Wed Feb 2 14:43:28 UTC 2022”. But still the same issue.

I was wondering if my path to my tropy project was too long, so I create a test project with a shorter path. But I’ve got the same issue. I’m also on Linux, but Ubuntu 22.04.2.

Here is my last log :

{“level”:30,“time”:1683219972059,“type”:“browser”,“name”:“main”,“args”:[],“opts”:{“env”:“production”,“autoUpdates”:true,“contextIsolation”:true,“webgl”:false,“debug”:false,“trace”:false,“data”:“/home/[xxx]/.config/tropy”,“cache”:“/home/[xxx]/.cache/tropy”,“logs”:“/home/[xxx]/.config/tropy/log”},“version”:“1.13.0”,“msg”:“main.init 1.13.0 Linux 5.19.0-41-generic (x64)”}
{“level”:30,“time”:1683219972102,“type”:“browser”,“name”:“main”,“msg”:“plugins scanned: 0”}
{“level”:30,“time”:1683219972103,“type”:“browser”,“name”:“main”,“msg”:“app state restored”}
{“level”:30,“time”:1683219972106,“type”:“browser”,“name”:“main”,“file”:“/home/[xxx]/Bureau/Doctorat/Thèse/test.tropy”,“msg”:“open new project window”}
{“level”:30,“time”:1683219972303,“type”:“renderer”,“name”:“project”,“dpx”:1,“opts”:{“app”:“/home/[xxx]/.tropy/resources/app.asar”,“env”:“production”,“theme”:“dark”,“aqua”:false,“contrast”:false,“dark”:true,“scrollbars”:true,“vibrancy”:false,“motion”:true,“file”:“/home/[xxx]/Bureau/Doctorat/Thèse/test.tropy”,“data”:“/home/[xxx]/.config/tropy”,“debug”:false,“dev”:false,“cache”:“/home/[xxx]/.cache/tropy”,“plugins”:“/home/[xxx]/.config/tropy/plugins”,“fontSize”:“13px”,“frameless”:false,“level”:“info”,“locale”:“fr”,“log”:“/home/[xxx]/.config/tropy/log/tropy.log”,“uuid”:“b184d560-d49d-11ed-8e65-f7051fc8bc5a”,“update”:{},“version”:“1.13.0”,“webgl”:true,“zoom”:1,“maximizable”:true,“minimizable”:true},“msg”:“project.init”}
{“level”:30,“time”:1683219972326,“type”:“renderer”,“name”:“project”,“msg”:“plugins scanned: 0”}
{“level”:30,“time”:1683219972326,“type”:“renderer”,“name”:“project”,“msg”:“plugins loaded: 0”}
{“level”:30,“time”:1683219972561,“type”:“renderer”,“name”:“project”,“msg”:“restoring projectFiles@tropy”}
{“level”:30,“time”:1683219972572,“type”:“browser”,“name”:“main”,“msg”:“ready after 866ms”}
{“level”:30,“time”:1683219972563,“type”:“renderer”,“name”:“project”,“msg”:“restoring recent@tropy”}
{“level”:30,“time”:1683219972563,“type”:“renderer”,“name”:“project”,“msg”:“restoring settings@tropy”}
{“level”:30,“time”:1683219972563,“type”:“renderer”,“name”:“project”,“msg”:“restoring ui@tropy”}
{“level”:30,“time”:1683219972565,“type”:“renderer”,“name”:“project”,“mode”:“w+”,“msg”:“open db /home/[xxx]/.config/tropy/ontology.db”}
{“level”:30,“time”:1683219972753,“type”:“renderer”,“name”:“project”,“msg”:“Esper.instance created using webgl renderer”}
{“level”:30,“time”:1683219972775,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Bureau/Doctorat/Thèse/test.tropy/project.tpy”}
{“level”:30,“time”:1683219972842,“type”:“renderer”,“name”:“project”,“msg”:“project ready 698ms [dom:165ms win:30ms req:220ms]”}
{“level”:30,“time”:1683219972846,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683219972848,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683219972848,“type”:“renderer”,“name”:“project”,“msg”:“restoring nav@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683219972848,“type”:“renderer”,“name”:“project”,“msg”:“restoring notepad@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683219972848,“type”:“renderer”,“name”:“project”,“msg”:“restoring esper@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683219972848,“type”:“renderer”,“name”:“project”,“msg”:“restoring imports@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683219972848,“type”:“renderer”,“name”:“project”,“msg”:“restoring sidebar@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683219972848,“type”:“renderer”,“name”:“project”,“msg”:“restoring panel@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683219972853,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Bureau/Doctorat/Thèse/test.tropy/project.tpy”}
{“level”:30,“time”:1683219972854,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Bureau/Doctorat/Thèse/test.tropy/project.tpy”}
{“level”:40,“time”:1683220045165,“type”:“browser”,“name”:“main”,“msg”:“project[1] render-process crashed: crashed”}

Thank you,
Audrey

Thanks for reporting! Just to clarify, does the process crash consistently on every import even if you import a single photo only? Or does it crash consistently only if you import multiple photos together?

To explain this further, there seems to be a memory-related issue in the statically-linked libvips binary which is included with Tropy on some Linux distros (it’s most likely related to this library in conjunction with system libraries which are dynamically linked by Tropy) which we’ve seen when multiple photos are processed concurrently. So far we’ve had this only for relatively large sets of photos (e.g., importing 70, 100, or even 1000+ photos). If this crashes for you consistently with as few as 10 or even with one photo it’s probably a different, more urgent issue. It would suggest that the libvips binary just crashes for you every time it’s loaded.

The bigger picture here is that for Linux it would be preferable to not bundle libvips (and the dependent image libraries) at all and instead provide a much slimmer Tropy bundle which uses the distro’s system libraries instead.

Thanks for the explanations!

It crashes mainly when I import multiple photos, even 10 pictures, one by one is ok if I don’t do it too many times in a row.

I tried ten by ten, and it succeeded to download the ten first pictures, and crashed while uploading the ten next pictures.

I tried to drag and drop one by one a bit longer, just to see. It first crashed around the 15th picture I dragged and dropped, one by one still. I was waiting the one before was uploaded in Tropy before dropping another one. So Tropy succeed to import one by one, but just can’t do one by one for too long. I did it multiple times with different pictures, and it ends up crashing each time after at least around 10 pictures uploaded one by one in a row.

Here’s a log for one by one :
{“level”:30,“time”:1683370883842,“type”:“browser”,“name”:“main”,“args”:[],“opts”:{“env”:“production”,“autoUpdates”:true,“contextIsolation”:true,“webgl”:false,“debug”:false,“trace”:false,“data”:“/home/[xxx]/.config/tropy”,“cache”:“/home/[xxx]/.cache/tropy”,“logs”:“/home/[xxx]/.config/tropy/log”},“version”:“1.13.0”,“msg”:“main.init 1.13.0 Linux 5.19.0-41-generic (x64)”}
{“level”:30,“time”:1683370883923,“type”:“browser”,“name”:“main”,“msg”:“plugins scanned: 0”}
{“level”:30,“time”:1683370883924,“type”:“browser”,“name”:“main”,“msg”:“app state restored”}
{“level”:30,“time”:1683370883928,“type”:“browser”,“name”:“main”,“file”:“/home/[xxx]/Bureau/Doctorat/Thèse/test.tropy”,“msg”:“open new project window”}
{“level”:30,“time”:1683370884294,“type”:“renderer”,“name”:“project”,“dpx”:1,“opts”:{“app”:“/home/[xxx]/.tropy/resources/app.asar”,“env”:“production”,“theme”:“dark”,“aqua”:false,“contrast”:false,“dark”:true,“scrollbars”:true,“vibrancy”:false,“motion”:true,“file”:“/home/[xxx]/Bureau/Doctorat/Thèse/test.tropy”,“data”:“/home/[xxx]/.config/tropy”,“debug”:false,“dev”:false,“cache”:“/home/[xxx]/.cache/tropy”,“plugins”:“/home/[xxx]/.config/tropy/plugins”,“fontSize”:“13px”,“frameless”:false,“level”:“info”,“locale”:“fr”,“log”:“/home/[xxx]/.config/tropy/log/tropy.log”,“uuid”:“b184d560-d49d-11ed-8e65-f7051fc8bc5a”,“update”:{},“version”:“1.13.0”,“webgl”:true,“zoom”:1,“maximizable”:true,“minimizable”:true},“msg”:“project.init”}
{“level”:30,“time”:1683370884332,“type”:“renderer”,“name”:“project”,“msg”:“plugins scanned: 0”}
{“level”:30,“time”:1683370884332,“type”:“renderer”,“name”:“project”,“msg”:“plugins loaded: 0”}
{“level”:30,“time”:1683370884763,“type”:“renderer”,“name”:“project”,“msg”:“restoring projectFiles@tropy”}
{“level”:30,“time”:1683370884772,“type”:“browser”,“name”:“main”,“msg”:“ready after 847ms”}
{“level”:30,“time”:1683370884765,“type”:“renderer”,“name”:“project”,“msg”:“restoring recent@tropy”}
{“level”:30,“time”:1683370884765,“type”:“renderer”,“name”:“project”,“msg”:“restoring settings@tropy”}
{“level”:30,“time”:1683370884765,“type”:“renderer”,“name”:“project”,“msg”:“restoring ui@tropy”}
{“level”:30,“time”:1683370884769,“type”:“renderer”,“name”:“project”,“mode”:“w+”,“msg”:“open db /home/[xxx]/.config/tropy/ontology.db”}
{“level”:30,“time”:1683370884798,“type”:“renderer”,“name”:“project”,“msg”:“project ready 801ms [dom:306ms win:66ms req:390ms]”}
{“level”:30,“time”:1683370885061,“type”:“renderer”,“name”:“project”,“msg”:“Esper.instance created using webgl renderer”}
{“level”:30,“time”:1683370885100,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Bureau/Doctorat/Thèse/test.tropy/project.tpy”}
{“level”:40,“time”:1683370885105,“type”:“renderer”,“name”:“project”,“query”:“SELECT number FROM migrations ORDER BY number DESC LIMIT 1”,“ms”:288,“msg”:“SLOW: db query took 288ms”}
{“level”:30,“time”:1683370885223,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370885244,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370885245,“type”:“renderer”,“name”:“project”,“msg”:“restoring nav@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370885245,“type”:“renderer”,“name”:“project”,“msg”:“restoring notepad@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370885245,“type”:“renderer”,“name”:“project”,“msg”:“restoring esper@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370885245,“type”:“renderer”,“name”:“project”,“msg”:“restoring imports@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370885245,“type”:“renderer”,“name”:“project”,“msg”:“restoring sidebar@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370885245,“type”:“renderer”,“name”:“project”,“msg”:“restoring panel@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370885253,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Bureau/Doctorat/Thèse/test.tropy/project.tpy”}
{“level”:30,“time”:1683370885254,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Bureau/Doctorat/Thèse/test.tropy/project.tpy”}
{“level”:40,“time”:1683370946481,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: item.import#88”}
{“level”:40,“time”:1683370999120,“type”:“browser”,“name”:“main”,“msg”:“project[1] render-process crashed: crashed”}

10 by 10 :

{“level”:30,“time”:1683370048784,“type”:“browser”,“name”:“main”,“args”:[],“opts”:{“env”:“production”,“autoUpdates”:true,“contextIsolation”:true,“webgl”:false,“debug”:false,“trace”:false,“data”:“/home/[xxx]/.config/tropy”,“cache”:“/home/[xxx]/.cache/tropy”,“logs”:“/home/[xxx]/.config/tropy/log”},“version”:“1.13.0”,“msg”:“main.init 1.13.0 Linux 5.19.0-41-generic (x64)”}
{“level”:30,“time”:1683370048831,“type”:“browser”,“name”:“main”,“msg”:“plugins scanned: 0”}
{“level”:30,“time”:1683370048832,“type”:“browser”,“name”:“main”,“msg”:“app state restored”}
{“level”:30,“time”:1683370048835,“type”:“browser”,“name”:“main”,“file”:“/home/[xxx]/Bureau/Doctorat/Thèse/test.tropy”,“msg”:“open new project window”}
{“level”:30,“time”:1683370049178,“type”:“renderer”,“name”:“project”,“dpx”:1,“opts”:{“app”:“/home/[xxx]/.tropy/resources/app.asar”,“env”:“production”,“theme”:“dark”,“aqua”:false,“contrast”:false,“dark”:true,“scrollbars”:true,“vibrancy”:false,“motion”:true,“file”:“/home/[xxx]/Bureau/Doctorat/Thèse/test.tropy”,“data”:“/home/[xxx]/.config/tropy”,“debug”:false,“dev”:false,“cache”:“/home/[xxx]/.cache/tropy”,“plugins”:“/home/[xxx]/.config/tropy/plugins”,“fontSize”:“13px”,“frameless”:false,“level”:“info”,“locale”:“fr”,“log”:“/home/[xxx]/.config/tropy/log/tropy.log”,“uuid”:“b184d560-d49d-11ed-8e65-f7051fc8bc5a”,“update”:{},“version”:“1.13.0”,“webgl”:true,“zoom”:1,“maximizable”:true,“minimizable”:true},“msg”:“project.init”}
{“level”:30,“time”:1683370049214,“type”:“renderer”,“name”:“project”,“msg”:“plugins scanned: 0”}
{“level”:30,“time”:1683370049214,“type”:“renderer”,“name”:“project”,“msg”:“plugins loaded: 0”}
{“level”:30,“time”:1683370049646,“type”:“renderer”,“name”:“project”,“msg”:“restoring projectFiles@tropy”}
{“level”:30,“time”:1683370049647,“type”:“renderer”,“name”:“project”,“msg”:“restoring recent@tropy”}
{“level”:30,“time”:1683370049648,“type”:“renderer”,“name”:“project”,“msg”:“restoring settings@tropy”}
{“level”:30,“time”:1683370049648,“type”:“renderer”,“name”:“project”,“msg”:“restoring ui@tropy”}
{“level”:30,“time”:1683370049652,“type”:“renderer”,“name”:“project”,“mode”:“w+”,“msg”:“open db /home/[xxx]/.config/tropy/ontology.db”}
{“level”:30,“time”:1683370049655,“type”:“browser”,“name”:“main”,“msg”:“ready after 794ms”}
{“level”:30,“time”:1683370049937,“type”:“renderer”,“name”:“project”,“msg”:“Esper.instance created using webgl renderer”}
{“level”:30,“time”:1683370049969,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Bureau/Doctorat/Thèse/test.tropy/project.tpy”}
{“level”:40,“time”:1683370049973,“type”:“renderer”,“name”:“project”,“query”:“SELECT number FROM migrations ORDER BY number DESC LIMIT 1”,“ms”:278,“msg”:“SLOW: db query took 278ms”}
{“level”:30,“time”:1683370050049,“type”:“renderer”,“name”:“project”,“msg”:“project ready 1163ms [dom:300ms win:57ms req:399ms]”}
{“level”:30,“time”:1683370050102,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370050107,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370050108,“type”:“renderer”,“name”:“project”,“msg”:“restoring nav@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370050108,“type”:“renderer”,“name”:“project”,“msg”:“restoring notepad@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370050108,“type”:“renderer”,“name”:“project”,“msg”:“restoring esper@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370050108,“type”:“renderer”,“name”:“project”,“msg”:“restoring imports@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370050109,“type”:“renderer”,“name”:“project”,“msg”:“restoring sidebar@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370050109,“type”:“renderer”,“name”:“project”,“msg”:“restoring panel@7414a8ff-6d28-46be-a5f3-99ce57a8b99c”}
{“level”:30,“time”:1683370050119,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Bureau/Doctorat/Thèse/test.tropy/project.tpy”}
{“level”:30,“time”:1683370050120,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db /home/[xxx]/Bureau/Doctorat/Thèse/test.tropy/project.tpy”}
{“level”:40,“time”:1683370072056,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: item.import#32”}
{“level”:40,“time”:1683370086689,“type”:“browser”,“name”:“main”,“msg”:“project[1] render-process crashed: crashed”}

I’m afraid that Tropy crashes consistently after importing about ten images (although the number slightly varies). Is there any fix or workaround (apart from staying on 1.12)?

We’re still working on this. In 1.14 we made some changes to free up memory earlier when importing multiple images but we’ve had a report already that it did not fix the issue on Linux Mint.

Any update on this? Should I open an issue on Github?

I currently switch between 1.12 for import and 1.14 for annotation (because of the working composite input method), but this isn’t a very sustainable approach.

Thank you.

Some updates, but no solution yet. We updated the libvips builds for the 1.15 beta but so far this doesn’t solve the issue on some Linux distros (including Mint). We’re planning to debug this further with the upcoming beta releases – if you’d be willing to help testing I’d get in touch in 2-3 weeks when the next beta is ready?

Thank you - I really appreciate this! Happy to test the beta when ready.

Hi, we released the first beta for 1.15 today. I hope will finally be able to locate and fix this issue in the beta phase. Because I can’t reproduce the crash on any of my own Linux systems any help testing this is much appreciated.

If you’d like to try the beta you can download it from the release page. You can install the beta along side the stable release – one should not interfere with the other.

For example, I’d download the 1.15 beta and unpack it in a temporary location. There is no need to follow any of the system integration steps, you can just go to unpacked folder and start the beta using the tropy-beta executable there.

The beta includes a new libvips build which might solve our issue (though I doubt it). If you can still reproduce the crash, could you experiment a little bit to see how many items you need to import in parallel in order to trigger it? I assume importing a single file works; so I’d try with two, five, ten and so forth. Once you know that you can reproduce the crash, it would be most helpful to start the beta like this (from the installation folder):

$ TROPY_DEBUG=true ./tropy-beta

And then import a number of photos to cause the crash (i.e., if you know the crash happens with 10 photos, just import any 10 photos). After the crash, please copy and upload the tropy.log file here. By default, the file should be at ~/.config/tropy-beta/log/tropy.log.

This beta should also address the issue with the CPU usage on idle. It would be great if you could confirm if that works for you. Thanks!

Thank you for this! Unfortunately, the import still fails after about ten images. I attach the log here.

I’ll test the CPU usage later on.

Again, thanks for working on this issue!

Michal

Thanks!

I have a few follow-up questions: are those progressive or baseline JPEGs? (Using the file command on the image should include either of the two). Could you try one more time to see if there is a dramatic change if you import very small images instead, for example if you just make a copies of a blank 10x10 px image or something like that – does the crash also happen if you import 10 of those or does it take more than that?

Do you have jemalloc installed? If so could you try if it makes a difference if you start the beta like this:

LD_PRELOAD=`jemalloc-config --libdir`/libjemalloc.so.`jemalloc-config --revision` ./tropy-beta

Also, does it change anything if you start with this environment variable:

UV_THREADPOOL_SIZE=1 ./tropy-beta

Thank you - these are baseline JPEGs. I made some very small images (roughly 20x15px) and could import 18 of them before the crash. Afterwards, I made some even smaller images (roughly 10x8px) and imported 17.

The two methods of starting the beta make no difference, I’m afraid.

Let me know if I can try anything else.

Michal

We’ve released beta.2 which includes some changes and additional reporting. With this one, there should be no overlap processing images during import. This means importing a set of images should be almost the same as importing the images individually – it would be good to know if this works around the issue. It would be great if you could try and reproduce the crash with this version (again, please start with the TROPY_DEBUG=true ./tropy-beta (or ./tropy-beta --verbose) and post the log file when the crash happens.

If the crash is still reproducible like this, i.e., with the set of 10 images, could you try importing the same 10 images one by one to see if you can force the crash this way?

Thanks again!

1 Like

Thanks for this! No good news here, unfortunately. The crash happens as before: here is the
log.

It also crashed when I imported the same set of photos individually, after about a dozen. Attached is the log.

Best wishes,

Michal
.

Alright, we’re close to finishing a flatpak package for Tropy. This way we should be able to address this with a different libvips build.

Thank you, I really appreciate this! Happy to test the flatpak package.

Michal

If you have flatpak installed you could help beta test our first test builds:

flatpak install --user https://dl.flathub.org/build-repo/54140/org.tropy.Tropy.flatpakref

I have not done a lot of testing; performance seems not ideal yet and I wouldn’t be surprised if we notice various permission issues, but you should be able to test this build already to see if the crash on import is solved there.