Bug 472849 - Cannot load previously created project - crash on rebuilding proxies
Summary: Cannot load previously created project - crash on rebuilding proxies
Status: RESOLVED FIXED
Alias: None
Product: kdenlive
Classification: Applications
Component: User Interface & Miscellaneous (other bugs)
Version First Reported In: 23.07.80
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-31 16:12 UTC by Slawek Mikula
Modified: 2024-01-16 20:46 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
crash logs (19.80 KB, application/zip)
2023-07-31 16:12 UTC, Slawek Mikula
Details
Log from the 23.08.04 version loading this project (not all log but the last lines) (7.46 KB, text/plain)
2024-01-07 21:07 UTC, Slawek Mikula
Details
Project which crashes the Kdenlive (1.02 MB, application/xml)
2024-01-08 16:14 UTC, Slawek Mikula
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Slawek Mikula 2023-07-31 16:12:30 UTC
Created attachment 160654 [details]
crash logs

I've created moderately complicated project and successfully rendered it. Thanks !
But after that I cannot load project for future modifications. The application crash when it starts to rebuild indexes/proxies. 
In the attachment i've placed logs from the latest beta version (console log) and gdb list when running 23.04.3.

Steps to reproduce:
- start application
- load project
- project loaded
- app displays the progress dialog and I see that I have 179 tasks remaining
- during this tasks application crashes

I can share the project files when needed privately (to dev) because of the project content.
Comment 1 emohr 2024-01-06 11:25:49 UTC
Please try with the current Kdenlive AppImage version 23.08.4 to see if there are any packaging issues https://kdenlive.org/en/download/
Comment 2 Slawek Mikula 2024-01-07 21:06:08 UTC
It still crashes. 23.08.04 (deb version and AppImage). I've cleared the qml cache. Next i've loaded other project (simpler). It created ca. 280 tasks and reduced it to 58 (proxing?) then gradually execute them and everything was OK.

Next i've loaded the problematic project. I saw 138 tasks in the queue and still visible dialog "loading clips" at 41%. After some time - high cpu usage, nothing in the console the application crashes. I'm uploading last lines from the console log. If anything is needed to help resolve or track the error i can provide (cannot have enough time/knowledge to dig deeper in the code).
Comment 3 Slawek Mikula 2024-01-07 21:07:03 UTC
Created attachment 164735 [details]
Log from the 23.08.04 version loading this project (not all log but the last lines)

Log mentioned in the previous comment.
Comment 4 emohr 2024-01-08 16:07:30 UTC
Please upload here the project file which is crashing for further checks.
Comment 5 Slawek Mikula 2024-01-08 16:14:00 UTC
Created attachment 164752 [details]
Project which crashes the Kdenlive

Adding project which crashes the Kdenlive. I think the problem arises when kdenlive had to rebuild/recreate the media proxy data. 
I was creating this project and everything was OK. Then i rendered it. Some time later (ca. 1 month) I opened it again and it started to create crashes on proxy rebuild.

I was trying to open it with different versions of kdenlive (appimage) and sometimes (very rarely) the app did not crash.

Additional problem was, that i've created some subsequences which were used in the main sequence. When the application finally loads it the subsequences were "destroyed" eg. the timeline and items in it does not resemble the original sequence.
Comment 6 Jean-Baptiste Mardelle 2024-01-09 05:35:46 UTC
Thanks for sharing the project file, I can reproduce and am working on it.
Comment 7 Jean-Baptiste Mardelle 2024-01-09 09:42:22 UTC
Git commit 7739b3a47296403bc08e07ea16c9e8edb4aa769c by Jean-Baptiste Mardelle.
Committed on 09/01/2024 at 10:41.
Pushed by mardelle into branch 'master'.

Prevent, detect and possibly fix corrupted project files, fix feedback not displayed in project notes
Fixes #1804

M  +11   -0    src/bin/binplaylist.cpp
M  +3    -0    src/bin/binplaylist.hpp
M  +1    -1    src/bin/projectclip.cpp
M  +49   -2    src/bin/projectitemmodel.cpp
M  +3    -1    src/bin/projectitemmodel.h
M  +16   -2    src/doc/kdenlivedoc.cpp
M  +4    -1    src/doc/kdenlivedoc.h
M  +17   -4    src/project/projectmanager.cpp
M  +2    -0    src/project/projectmanager.h
M  +75   -41   src/timeline2/model/builders/meltBuilder.cpp
M  +3    -1    src/timeline2/model/builders/meltBuilder.hpp
M  +0    -15   tests/regressions.cpp

https://invent.kde.org/multimedia/kdenlive/-/commit/7739b3a47296403bc08e07ea16c9e8edb4aa769c
Comment 8 emohr 2024-01-10 16:33:12 UTC
With this fix I could load your project without crash. Please check with the daily build if it is opening on your end as well without crash: https://invent.kde.org/multimedia/kdenlive/-/jobs/1494939/artifacts/download
Comment 9 Slawek Mikula 2024-01-11 10:32:45 UTC
(In reply to emohr from comment #8)
> With this fix I could load your project without crash. Please check with the
> daily build if it is opening on your end as well without crash:
> https://invent.kde.org/multimedia/kdenlive/-/jobs/1494939/artifacts/download

Yes ! Right now it is working as expected. The project loads and then:
- missing clips - ok - i've moved some items in my folders (my fault). Choose to use placeholders. Proceed.
- information that problems were found in project file (Clip not found, clip tractor29 (?) not found, other clip not found. Clicked ok.
- error invalid clip chain 48,49,50, recovered - clicked ok
- another error, recovered, clicked ok
- summary - in the project notes information about errors (wow!)

Project loads, i can browse/edit/correct it. Super cool :) Sorry for inconvenience, but honestly don't remember of doing something very odd/dangerous to the project files. I think it happens when using during the project gradually new versions (AppImage/Deb) to edit/work on the project.

Some small observations:
- jobs combobox (at the "project bin" tab). When everything is OK it does not interest me (normal user). But when the project load with the crash i wanted to see what the 129 jobs are for. Maybe add some dialog window with the information about the jobs e.g. "creating proxy for clip". It might help to understand "what the heck is going on and the processor is so high"
- why in the ci artifacts the AppImage is in the hidden (dot) folder .kde-ci-packages :) ? Firstly coudn't find after unpacking it 

Don't marking this as resolved, but i think it is. Thanks !
Comment 10 Jean-Baptiste Mardelle 2024-01-11 11:59:48 UTC
Thanks for your feedback. The project corruption was most probably caused by one of the many issues plaguing the nested timelines feature in 23.04.x and early 23.08.x releases. Everything should be safe in the upcoming 23.08.5 / 24.04.0 versions. Regarding your comments:

1. Yes, maybe at some point we could introduce a new widget presenting a list of running jobs. You can however see some details if you select a clip which has running jobs, details of the jobs will appear in the clip monitor.
2. The automated CI builds are not really intended for users. I agree that this hidden folder is a bit annoying but that's the way the CI currently works. There is a lot of work in this area by the KDE team, maybe that can be improved...

I am closing the issue for now.
Comment 11 Jean-Baptiste Mardelle 2024-01-16 20:46:37 UTC
Git commit dd0c809b64c8f8ae48edb11dc56415767183a5f7 by Jean-Baptiste Mardelle.
Committed on 16/01/2024 at 21:38.
Pushed by mardelle into branch 'release/23.08'.

Prevent, detect and possibly fix corrupted project files, fix feedback not displayed in project notes
Fixes #1804

M  +11   -0    src/bin/binplaylist.cpp
M  +3    -0    src/bin/binplaylist.hpp
M  +1    -1    src/bin/projectclip.cpp
M  +51   -5    src/bin/projectitemmodel.cpp
M  +3    -1    src/bin/projectitemmodel.h
M  +16   -2    src/doc/kdenlivedoc.cpp
M  +4    -1    src/doc/kdenlivedoc.h
M  +18   -4    src/project/projectmanager.cpp
M  +2    -0    src/project/projectmanager.h
M  +75   -41   src/timeline2/model/builders/meltBuilder.cpp
M  +3    -1    src/timeline2/model/builders/meltBuilder.hpp
M  +12   -15   tests/regressions.cpp

https://invent.kde.org/multimedia/kdenlive/-/commit/dd0c809b64c8f8ae48edb11dc56415767183a5f7