Bug 428632 - Kdenlive crashed on startup
Summary: Kdenlive crashed on startup
Status: RESOLVED DUPLICATE of bug 409667
Alias: None
Product: kdenlive
Classification: Applications
Component: User Interface & Miscellaneous (show other bugs)
Version: 20.04.3
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-03 09:23 UTC by d.pischenko
Modified: 2021-03-28 10:32 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:
fritzibaby: timeline_corruption+


Attachments
kde crash report (35.12 KB, text/plain)
2020-11-03 09:23 UTC, d.pischenko
Details

Note You need to log in before you can comment on or make changes to this bug.
Description d.pischenko 2020-11-03 09:23:56 UTC
Created attachment 132981 [details]
kde crash report

SUMMARY
Kdenlive crashed on startup. Always

STEPS TO REPRODUCE
1. i've ran application
2. splash was shown
3. crash

OBSERVED RESULT
crash
Comment 1 d.pischenko 2020-11-03 09:27:28 UTC
All another Kde applications work properly. The bug is in Kdenlive only.
Gentoo. 
I can rebuild app or any dependency with certain options or help with debug if needed.
Comment 2 d.pischenko 2020-11-08 11:40:19 UTC
I'm still waiting any reaction from kde team.
But I've debug kdenlive and found:

QQuickWindowPrivate::init() creates context:
qquickwindow.cpp code: context = windowManager->createRenderContext(sg);

and connects it to sceneGraphInitialized directly:
qquickwindow.cpp code: QObject::connect(context, SIGNAL(initialized()), q, SIGNAL(sceneGraphInitialized()), Qt::DirectConnection);
which has direct connection to GLWidget::reconfigure

But later QSGDefaultRenderContext::initialize is called from QSRenderThread, which calls initialized signal in the thread.

=> we have QObject::setProperty call from another thread -> assert.
glwidget.cpp code: setProperty("mlt_service", serviceName);

I suggest to replace connections to Queued or add some "proxy objects" between for avoid inter-thread calls.

ping support team.
Comment 3 emohr 2020-11-15 15:50:27 UTC
Build and compile Kdenlive is tricky. Here some guidlines: 
https://invent.kde.org/multimedia/kdenlive/-/tree/master 
https://invent.kde.org/multimedia/kdenlive/-/blob/master/dev-docs/build.md
Comment 4 d.pischenko 2020-11-15 20:28:00 UTC
emohr, what did you mean? Kdenlive was built by gentoo ebuilds rules. All other KDE apps too. But I found multithreading error in Kdenlive, which asserts by Qt theading policies (changing object properties from another threads). And I've suggested possible solutions. Especially for that I've build kdenlive and some Qt libraries (in whole system) in RelWithDebInfo (sorry fo VS notation, but it so good for that) config. I notice - all other apps works fine even in this case. But Kdenlive contains thread-based bug.
Comment 5 Julius Künzel 2021-03-15 14:02:13 UTC
Can you please check whether this is a duplicate of https://bugs.kde.org/show_bug.cgi?id=409667 and mark it as duplicate if so?
Comment 6 d.pischenko 2021-03-15 15:31:10 UTC
Julius, it looks like the same crash.
Comment 7 Julius Künzel 2021-03-15 16:23:25 UTC
*** This bug has been marked as a duplicate of bug 409667 ***
Comment 8 Jean-Baptiste Mardelle 2021-03-28 10:32:23 UTC
Git commit 5f712c9178170af239ad1db0b21caf130e350e3d by Jean-Baptiste Mardelle.
Committed on 28/03/2021 at 10:32.
Pushed by mardelle into branch 'release/21.04'.

Don't call reconfigure from render thread.

M  +0    -1    src/monitor/glwidget.cpp

https://invent.kde.org/multimedia/kdenlive/commit/5f712c9178170af239ad1db0b21caf130e350e3d