Bug 476767 - Crash while loading LUT
Summary: Crash while loading LUT
Status: REPORTED
Alias: None
Product: kdenlive
Classification: Applications
Component: Video Effects & Transitions (other bugs)
Version First Reported In: git-master
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-09 19:12 UTC by Bruno Santos
Modified: 2024-06-01 12:10 UTC (History)
2 users (show)

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


Attachments
LUT that originates the crash (737.13 KB, text/plain)
2023-11-09 19:12 UTC, Bruno Santos
Details
Crash backtrace (11.49 KB, text/plain)
2023-11-09 19:12 UTC, Bruno Santos
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bruno Santos 2023-11-09 19:12:04 UTC
Created attachment 162989 [details]
LUT that originates the crash

SUMMARY

kdenlive crashes while loading a LUT

STEPS TO REPRODUCE
1. Add Apply LUT
2. Load a custom LUT (attached)

OBSERVED RESULT
kdenlive crashes

EXPECTED RESULT
Lut is applied to the video

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.11

Backtrace:
Thread 1 "kdenlive" received signal SIGSEGV, Segmentation fault.
0x00007fffdde44460 in av_opt_find2 () from /lib/x86_64-linux-gnu/libavutil.so.56
(gdb) backtrace 
#0  0x00007fffdde44460 in av_opt_find2 () at /lib/x86_64-linux-gnu/libavutil.so.56
#1  0x00007fffdfcfd2e3 in property_changed (owner=0x55558f096b50, filter=0x55558f096b50, event_data=...) at /home/bruno/build/mlt/src/modules/avformat/filter_avfilter.c:75
#2  0x00007ffff7cca14c in mlt_events_fire (self=0x55558f096b50, id=0x7ffff7cefe72 "property-changed", event_data=...) at /home/bruno/build/mlt/src/framework/mlt_events.c:211
#3  0x00007ffff7cde1bb in fire_property_changed (self=0x55558f096b50, name=0x555592a1bbd8 "av.file") at /home/bruno/build/mlt/src/framework/mlt_properties.c:622
#4  0x00007ffff7cde8c1 in mlt_properties_set
    (self=0x55558f096b50, name=0x555592a1bbd8 "av.file", value=0x5555bd4d2f98 "/home/files/Library/00_Tools/LUTs/70+CGC+LUTs/70 CGC LUTs/Film Emulation/Agfa Portrait XPS 160.cube")
    at /home/bruno/build/mlt/src/framework/mlt_properties.c:802
#5  0x00007ffff7c9d283 in Mlt::Properties::set(char const*, char const*)
    (this=0x55558f0835f0, name=0x555592a1bbd8 "av.file", value=0x5555bd4d2f98 "/home/files/Library/00_Tools/LUTs/70+CGC+LUTs/70 CGC LUTs/Film Emulation/Agfa Portrait XPS 160.cube")
    at /home/bruno/build/mlt/src/mlt++/MltProperties.cpp:165
#6  0x0000555555732769 in AssetParameterModel::internalSetParameter(QString, QString, QModelIndex const&) (this=0x55558f083438, name=..., paramValue=..., paramIndex=...)
    at /home/bruno/build/kdenlive/src/assets/model/assetparametermodel.cpp:351
#7  0x000055555573558f in AssetParameterModel::setParameter(QString const&, QString const&, bool, QModelIndex const&)
    (this=0x55558f083438, name=..., paramValue=..., update=false, paramIndex=...) at /home/bruno/build/kdenlive/src/assets/model/assetparametermodel.cpp:393
#8  0x0000555555748cfa in AssetCommand::redo() (this=0x5555a8041650) at /home/bruno/build/kdenlive/src/assets/model/assetcommand.cpp:66
#9  0x00007ffff631fe39 in QUndoStack::push(QUndoCommand*) (this=0x555564948c10, cmd=<optimized out>) at util/qundostack.cpp:639
#10 0x0000555555a3c0f7 in DocUndoStack::push(QUndoCommand*) (this=0x555564948c10, cmd=0x5555a8041650) at /home/bruno/build/kdenlive/src/doc/docundostack.cpp:21
#11 0x0000555555ed1122 in Core::pushUndo(QUndoCommand*) (this=0x555556eb2e50, command=0x5555a8041650) at /home/bruno/build/kdenlive/src/core.cpp:940
#12 0x000055555574c0ee in AssetParameterView::commitChanges(QModelIndex const&, QString const&, bool) (this=0x555595b2f420, index=..., value=..., storeUndo=true)
    at /home/bruno/build/kdenlive/src/assets/view/assetparameterview.cpp:174
#13 0x00005555557505eb in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<QModelIndex, QString, bool>, void, void (AssetParameterView::*)(QModelIndex const&, QString const&, bool)>::call(void (AssetParameterView::*)(QModelIndex const&, QString const&, bool), AssetParameterView*, void**)
     (f=(void (AssetParameterView::*)(AssetParameterView * const, const QModelIndex &, const QString &, bool)) 0x55555574c010 <AssetParameterView::commitChanges(QModelIndex const&, QString const&, bool)>, o=0x555595b2f420, arg=0x7fffffffb630) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#14 0x000055555575053d in QtPrivate::FunctionPointer<void (AssetParameterView::*)(QModelIndex const&, QString const&, bool)>::call<QtPrivate::List<QModelIndex, QString, bool>, void>(void (AssetParameterView::*)(QModelIndex const&, QString const&, bool), AssetParameterView*, void**)
     (f=(void (AssetParameterView::*)(AssetParameterView * const, const QModelIndex &, const QString &, bool)) 0x55555574c010 <AssetParameterView::commitChanges(QModelIndex const&, QString const&, bool)>, o=0x555595b2f420, arg=0x7fffffffb630) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#15 0x0000555555750482 in QtPrivate::QSlotObject<void (AssetParameterView::*)(QModelIndex const&, QString const&, bool), QtPrivate::List<QModelIndex, QString, bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555b70c9900, r=0x555595b2f420, a=0x7fffffffb630, ret=0x0)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
#16 0x00007ffff4af4394 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffb630, r=0x555595b2f420, this=0x5555b70c9900)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#17 doActivate<false>(QObject*, int, void**) (sender=0x555592b38d60, signal_index=7, argv=0x7fffffffb630) at kernel/qobject.cpp:3925
#18 0x0000555555641297 in AbstractParamWidget::valueChanged(QModelIndex, QString, bool) (this=0x555592b38d60, _t1=..., _t2=..., _t3=true)
    at kdenliveLib_autogen/KZ6M6CAXTA/moc_abstractparamwidget.cpp:195
#19 0x0000555555764a10 in UrlListParamWidget::openFile() (this=0x555592b38d60) at /home/bruno/build/kdenlive/src/assets/view/widgets/urllistparamwidget.cpp:250
#20 0x0000555555765140 in UrlListParamWidget::UrlListParamWidget(std::shared_ptr<AssetParameterModel>, QModelIndex, QWidget*)::$_1::operator()(int) const (this=0x5555b73b2be0, index=0)
    at /home/bruno/build/kdenlive/src/assets/view/widgets/urllistparamwidget.cpp:56
#21 0x0000555555765093 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<int>, void, UrlListParamWidget::UrlListParamWidget(std::shared_ptr<AssetParameterModel>, QModelIndex, QWidget*)::$_1>::call(UrlListParamWidget::UrlListParamWidget(std::shared_ptr<AssetParameterModel>, QModelIndex, QWidget*)::$_1&, void**) (f=..., arg=0x7fffffffba10)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#22 0x0000555555765061 in QtPrivate::Functor<UrlListParamWidget::UrlListParamWidget(std::shared_ptr<AssetParameterModel>, QModelIndex, QWidget*)::$_1, 1>::call<QtPrivate::List<int>, void>(UrlListParamWidget::UrlListParamWidget(std::shared_ptr<AssetParameterModel>, QModelIndex, QWidget*)::$_1&, void*, void**) (f=..., arg=0x7fffffffba10)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#23 0x0000555555765001 in QtPrivate::QFunctorSlotObject<UrlListParamWidget::UrlListParamWidget(std::shared_ptr<AssetParameterModel>, QModelIndex, QWidget*)::$_1, 1, QtPrivate::List<int>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555b73b2bd0, r=0x555592b38d60, a=0x7fffffffba10, ret=0x0)
    at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443
#24 0x00007ffff4af4394 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffba10, r=0x555592b38d60, this=0x5555b73b2bd0)
--Type <RET> for more, q to quit, c to continue without paging--c
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#25 doActivate<false>(QObject*, int, void**) (sender=0x5555b728fdb0, signal_index=8, argv=0x7fffffffba10) at kernel/qobject.cpp:3925
#26 0x00007ffff4aed467 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x5555b728fdb0, m=m@entry=0x7ffff649e6e0 <QComboBox::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffba10) at kernel/qobject.cpp:3985
#27 0x00007ffff6075965 in QComboBox::activated(int) (this=this@entry=0x5555b728fdb0, _t1=<optimized out>) at .moc/moc_qcombobox.cpp:510
#28 0x00007ffff6077ef2 in QComboBoxPrivate::emitActivated(QModelIndex const&) (this=<optimized out>, index=...) at ../../include/QtCore/../../src/corelib/itemmodels/qabstractitemmodel.h:62
#29 0x00007ffff4af43c8 in doActivate<false>(QObject*, int, void**) (sender=0x5555ba170820, signal_index=7, argv=0x7fffffffbb40) at kernel/qobject.cpp:3937
#30 0x00007ffff4aed467 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x5555ba170820, m=m@entry=0x7ffff649e620 <QComboBoxPrivateContainer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffbb40) at kernel/qobject.cpp:3985
#31 0x00007ffff6075ad6 in QComboBoxPrivateContainer::itemSelected(QModelIndex const&) (this=this@entry=0x5555ba170820, _t1=...) at .moc/moc_qcombobox_p.cpp:348
#32 0x00007ffff6076400 in QComboBoxPrivateContainer::eventFilter(QObject*, QEvent*) (this=0x5555ba170820, o=0x5555b700c9b0, e=0x7fffffffc0b0) at widgets/qcombobox.cpp:824
#33 0x00007ffff4abc64a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.cpp:1190
#34 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (receiver=receiver@entry=0x5555b700c9b0, event=event@entry=0x7fffffffc0b0) at kernel/qcoreapplication.cpp:1179
#35 0x00007ffff5f6c752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x555556453fc0, receiver=receiver@entry=0x5555b700c9b0, e=e@entry=0x7fffffffc0b0) at kernel/qapplication.cpp:3634
#36 0x00007ffff5f743a4 in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x5555b700c9b0, e=0x7fffffffc0b0) at kernel/qapplication.cpp:3084
#37 0x00007ffff4abc8ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5555b700c9b0, event=0x7fffffffc0b0) at kernel/qcoreapplication.cpp:1064
#38 0x00007ffff5f72e87 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (receiver=0x5555b700c9b0, event=event@entry=0x7fffffffc0b0, alienWidget=0x5555b700c9b0, nativeWidget=0x5555ba170820, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2622
#39 0x00007ffff5fc9d3b in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=0x5555976d7270, event=0x7fffffffc380) at kernel/qwidgetwindow.cpp:580
#40 0x00007ffff5fcc535 in QWidgetWindow::event(QEvent*) (this=0x5555976d7270, event=0x7fffffffc380) at kernel/qwidgetwindow.cpp:300
#41 0x00007ffff5f6c763 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5555976d7270, e=0x7fffffffc380) at kernel/qapplication.cpp:3640
#42 0x00007ffff4abc8ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5555976d7270, event=0x7fffffffc380) at kernel/qcoreapplication.cpp:1064
#43 0x00007ffff5143197 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#44 0x00007ffff5116dbc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#45 0x00007ffff02f4f5e in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#46 0x00007ffff3496d3b in g_main_dispatch (context=0x7fffe8005010) at ../../../glib/gmain.c:3419
#47 g_main_context_dispatch (context=0x7fffe8005010) at ../../../glib/gmain.c:4137
#48 0x00007ffff34ec258 in g_main_context_iterate.constprop.0 (context=context@entry=0x7fffe8005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4213
#49 0x00007ffff34943e3 in g_main_context_iteration (context=0x7fffe8005010, may_block=1) at ../../../glib/gmain.c:4278
#50 0x00007ffff4b15dd8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5555565917c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#51 0x00007ffff4abb20b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffc6b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#52 0x00007ffff4ac37b4 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#53 0x00005555556371e2 in main(int, char**) (argc=1, argv=0x7fffffffd8d8) at /home/bruno/build/kdenlive/src/main.cpp:472
Comment 1 Bruno Santos 2023-11-09 19:12:52 UTC
Created attachment 162990 [details]
Crash backtrace
Comment 2 Bernd 2023-11-10 16:02:24 UTC
Hmm, works for me without a glitch both as a bin clip effect and as a timeline clip effect regardless of the Interpolation Mode. I am using the appimage 23.08.2 on Pop!_OS 22.04
Comment 3 Jean-Baptiste Mardelle 2023-11-10 17:12:01 UTC
Also works for me without crashing... is it reproducible on each try ? Maybe if your FFmpeg install was updated, MLT needs a recompile ?
Comment 4 Bruno Santos 2023-11-13 00:07:00 UTC
Yes, every try, and with multiple LUTs from this specific pack...

I'll try to recompile. No usable info on the gdb trace?