| Summary: | Crash on startup with Movit acceleration enabled | ||
|---|---|---|---|
| Product: | [Applications] kdenlive | Reporter: | csh <chshull2> |
| Component: | Rendering & Export | Assignee: | Jean-Baptiste Mardelle <jb> |
| Status: | RESOLVED LATER | ||
| Severity: | crash | CC: | fritzibaby, guido.iodice, herminio.hernandezjr, snd.noise |
| Priority: | NOR | Flags: | fritzibaby:
MOVIT+
|
| Version First Reported In: | 22.12.1 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
csh
2023-01-27 02:45:42 UTC
I have the same problem with Intel GPU on X11. I am having the issue on 23.04 running Arch Linux. I tried to attach the core dump file but it was too big. I ran gdb against the core dump and it looks like some form memory allocation error
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f344ecef10b in std::__atomic_base<QMutexData*>::compare_exchange_strong (__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=0x1, __p1=<synthetic pointer>: 0x0, this=0x58) at /usr/include/c++/13.2.1/atomic:621
621 compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
[Full BT]
#0 0x00007f344ecef10b in std::__atomic_base<QMutexData*>::compare_exchange_strong(QMutexData*&, QMutexData*, std::memory_order, std::memory_order)
(__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=0x1, __p1=<synthetic pointer>: 0x0, this=0x58) at /usr/include/c++/13.2.1/atomic:621
#1 std::atomic<QMutexData*>::compare_exchange_strong(QMutexData*&, QMutexData*, std::memory_order, std::memory_order) (__p2=0x1, __m1=std::memory_order_acquire, __m2=std::memory_order_acquire, __p1=<synthetic pointer>: 0x0, this=0x58)
at /usr/include/c++/13.2.1/atomic:623
#2 QAtomicOps<QMutexData*>::testAndSetAcquire<QMutexData*>(std::atomic<QMutexData*>&, QMutexData*, QMutexData*, QMutexData**)
(currentValue=<synthetic pointer>, newValue=0x1, expectedValue=0x0, _q_value=<error reading variable: Cannot access memory at address 0x58>, _q_value=<optimized out>, expectedValue=<optimized out>, newValue=<optimized out>, currentValue=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:308
#3 QBasicAtomicPointer<QMutexData>::testAndSetAcquire(QMutexData*, QMutexData*, QMutexData*&) (currentValue=<synthetic pointer>: <optimized out>, newValue=0x1, expectedValue=0x0, this=0x58)
at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:273
#4 QBasicMutex::fastTryLock(QMutexData*&) (current=<synthetic pointer>: <optimized out>, this=0x58) at thread/qmutex.h:128
#5 QMutex::lock() (this=this@entry=0x58) at thread/qmutex.cpp:232
#6 0x00007f344ecf1172 in QMutexLocker::QMutexLocker(QBasicMutex*) (m=0x58, this=<synthetic pointer>) at thread/qmutex.h:257
#7 QThread::exit(int) (this=<optimized out>, returnCode=0) at thread/qthread.cpp:580
#8 0x00007f344ecf11fc in QThread::quit() (this=<optimized out>) at thread/qthread.cpp:601
#9 0x000056201e5b9e8b in onThreadJoin(mlt_properties, GLWidget*, mlt_event_data) (owner=<optimized out>, self=<optimized out>, data=...) at /usr/src/debug/kdenlive/kdenlive-23.04.3/src/monitor/glwidget.cpp:911
#10 0x00007f345183dbcd in mlt_events_fire (self=self@entry=0x56202528be70, id=id@entry=0x7f345185d3f9 "consumer-thread-join", event_data=...) at /usr/src/debug/mlt/mlt-7.18.0/src/framework/mlt_events.c:211
#11 0x00007f345183e31a in mlt_thread_join (self=0x56202528be70) at /usr/src/debug/mlt/mlt-7.18.0/src/framework/mlt_consumer.c:1785
#12 consumer_read_ahead_stop (self=0x56202528be70) at /usr/src/debug/mlt/mlt-7.18.0/src/framework/mlt_consumer.c:1232
#13 mlt_consumer_stop (self=0x56202528be70) at /usr/src/debug/mlt/mlt-7.18.0/src/framework/mlt_consumer.c:1651
#14 mlt_consumer_stop (self=0x56202528be70) at /usr/src/debug/mlt/mlt-7.18.0/src/framework/mlt_consumer.c:1616
#15 0x000056201e5bc722 in GLWidget::stop() (this=0x5620218fb5a0) at /usr/include/c++/13.1.1/bits/shared_ptr_base.h:1665
#16 0x000056201e5bf721 in GLWidget::setProducer(std::shared_ptr<Mlt::Producer> const&, bool, int) (this=0x5620218fb5a0, producer=std::shared_ptr<Mlt::Producer> (use count 1, weak count 0) = {...}, isActive=true, position=0)
at /usr/src/debug/kdenlive/kdenlive-23.04.3/src/monitor/glwidget.cpp:1007
#17 0x000056201e83095a in ProjectManager::updateTimeline(int, bool, QString const&, QString const&, QDateTime const&, bool) [clone .constprop.0]
(this=this@entry=0x56201f9659c0, pos=pos@entry=0, chunks=..., dirty=..., documentDate=..., enablePreview=enablePreview@entry=false, createNewTab=true) at /usr/src/debug/kdenlive/kdenlive-23.04.3/src/project/projectmanager.cpp:1325
#18 0x000056201e62a18e in ProjectManager::newFile(QString, bool) (this=this@entry=0x56201f9659c0, profileName=..., showProjectSettings=<optimized out>) at /usr/src/debug/kdenlive/kdenlive-23.04.3/src/project/projectmanager.cpp:252
#19 0x000056201e62af6e in ProjectManager::newFile(bool) (this=this@entry=0x56201f9659c0, showProjectSettings=showProjectSettings@entry=false) at /usr/src/debug/kdenlive/kdenlive-23.04.3/src/project/projectmanager.cpp:157
#20 0x000056201e62b8c2 in ProjectManager::slotLoadOnOpen() (this=0x56201f9659c0) at /usr/src/debug/kdenlive/kdenlive-23.04.3/src/project/projectmanager.cpp:91
#21 0x00007f344eec4174 in QObject::event(QEvent*) (this=0x56201f9659c0, e=0x562022428e40) at kernel/qobject.cpp:1347
#22 0x00007f345017893f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x56201f9659c0, e=0x562022428e40) at kernel/qapplication.cpp:3640
#23 0x00007f344ee9c6f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x56201f9659c0, event=0x562022428e40) at kernel/qcoreapplication.cpp:1064
#24 0x00007f344eea165b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x56201f0db580) at kernel/qcoreapplication.cpp:1821
#25 0x00007f344eee76d8 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x56201f3fa4f0) at kernel/qeventdispatcher_glib.cpp:277
#26 0x00007f344cf0fa31 in g_main_dispatch (context=0x7f3444000ee0) at ../glib/glib/gmain.c:3460
#27 g_main_context_dispatch (context=0x7f3444000ee0) at ../glib/glib/gmain.c:4200
#28 0x00007f344cf6ccc9 in g_main_context_iterate.isra.0 (context=context@entry=0x7f3444000ee0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4276
#29 0x00007f344cf0d0e2 in g_main_context_iteration (context=0x7f3444000ee0, may_block=1) at ../glib/glib/gmain.c:4343
#30 0x00007f344eeeb51c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x56201f6e5f90, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#31 0x00007f344ee9b404 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffd511e3c0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#32 0x00007f344ee9c8a3 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#33 0x00007f344f93bef2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#34 0x00007f3450176cda in QApplication::exec() () at kernel/qapplication.cpp:2832
#35 0x000056201e30cb16 in main(int, char**) (argc=<optimized out>, argv=0x7fffd511e838) at /usr/src/debug/kdenlive/kdenlive-23.04.3/src/main.cpp:352
I also affirm I am seeing the same thing under Gentoo Linux
Thread 1 "kdenlive" received signal SIGSEGV, Segmentation fault.
0x00007ffff50cbbc7 in std::__atomic_base<QMutexData*>::compare_exchange_strong (__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=0x1,
__p1=<synthetic pointer>: 0x0, this=this@entry=0x58) at /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/atomic_base.h:876
876 __glibcxx_assert(__is_valid_cmpexch_failure_order(__m2));
(gdb) bt
#0 0x00007ffff50cbbc7 in std::__atomic_base<QMutexData*>::compare_exchange_strong(QMutexData*&, QMutexData*, std::memory_order, std::memory_order)
(__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=0x1, __p1=<synthetic pointer>: 0x0, this=this@entry=0x58)
at /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/atomic_base.h:876
#1 std::atomic<QMutexData*>::compare_exchange_strong(QMutexData*&, QMutexData*, std::memory_order, std::memory_order)
(__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, __p2=0x1, __p1=<synthetic pointer>: 0x0, this=this@entry=0x58)
at /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/atomic:625
#2 QAtomicOps<QMutexData*>::testAndSetAcquire<QMutexData*>(std::atomic<QMutexData*>&, QMutexData*, QMutexData*, QMutexData**)
(currentValue=<synthetic pointer>, newValue=0x1, expectedValue=0x0, _q_value=<error reading variable: Cannot access memory at address 0x58>)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:308
#3 QBasicAtomicPointer<QMutexData>::testAndSetAcquire(QMutexData*, QMutexData*, QMutexData*&)
(currentValue=<synthetic pointer>: <optimized out>, newValue=0x1, expectedValue=0x0, this=this@entry=0x58)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/include/QtCore/../../src/corelib/thread/qbasicatomic.h:273
#4 QBasicMutex::fastTryLock(QMutexData*&) (current=<synthetic pointer>: <optimized out>, this=this@entry=0x58)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/thread/qmutex.h:128
#5 QMutex::lock() (this=this@entry=0x58) at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/thread/qmutex.cpp:232
#6 0x00007ffff50c9dad in QMutexLocker::QMutexLocker(QBasicMutex*) (m=0x58, this=0x7fffffffce90)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/thread/qmutex.h:257
#7 QThread::exit(int) (this=<optimized out>, returnCode=returnCode@entry=0)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/thread/qthread.cpp:580
#8 0x00007ffff50c9e47 in QThread::quit() (this=<optimized out>)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/thread/qthread.cpp:601
#9 0x000055555594d8d8 in onThreadJoin(mlt_properties, GLWidget*, mlt_event_data) (owner=<optimized out>, self=<optimized out>, data=...)
at /usr/src/debug/kde-apps/kdenlive-23.04.3/kdenlive-23.04.3/src/monitor/glwidget.cpp:911
#10 0x00007ffff7b0de0b in mlt_events_fire () at /usr/lib64/libmlt-7.so.7
#11 0x00007ffff7b0d050 in mlt_consumer_stop () at /usr/lib64/libmlt-7.so.7
#12 0x00005555559508f9 in GLWidget::stop() (this=this@entry=0x555557e55eb0) at /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/shared_ptr_base.h:1665
#13 0x0000555555953214 in GLWidget::setProducer(std::shared_ptr<Mlt::Producer> const&, bool, int)
(this=0x555557e55eb0, producer=std::shared_ptr<Mlt::Producer> (use count 1, weak count 0) = {...}, isActive=<optimized out>, position=position@entry=0)
at /usr/src/debug/kde-apps/kdenlive-23.04.3/kdenlive-23.04.3/src/monitor/glwidget.cpp:1007
#14 0x000055555595e930 in Monitor::setProducer(std::shared_ptr<Mlt::Producer>, int)
(this=this@entry=0x555556966490, producer=std::shared_ptr<Mlt::Producer> (use count 1, weak count 0) = {...}, pos=pos@entry=0)
at /usr/src/debug/kde-apps/kdenlive-23.04.3/kdenlive-23.04.3/src/monitor/monitor.cpp:2625
#15 0x00005555559f6016 in ProjectManager::updateTimeline(int, bool, QString const&, QString const&, QDateTime const&, bool)
(this=this@entry=0x555556313d10, pos=pos@entry=0, createNewTab=createNewTab@entry=true, chunks=..., dirty=..., documentDate=..., enablePreview=false)
at /usr/src/debug/kde-apps/kdenlive-23.04.3/kdenlive-23.04.3/src/project/projectmanager.cpp:1325
#16 0x00005555559f73e0 in ProjectManager::newFile(QString, bool) (this=this@entry=0x555556313d10, profileName=..., showProjectSettings=<optimized out>)
at /usr/src/debug/kde-apps/kdenlive-23.04.3/kdenlive-23.04.3/src/project/projectmanager.cpp:252
#17 0x00005555559f79ed in ProjectManager::newFile(bool) (this=0x555556313d10, showProjectSettings=<optimized out>)
at /usr/src/debug/kde-apps/kdenlive-23.04.3/kdenlive-23.04.3/src/project/projectmanager.cpp:157
#18 0x00005555559f86da in ProjectManager::slotLoadOnOpen() (this=0x555556313d10)
at /usr/src/debug/kde-apps/kdenlive-23.04.3/kdenlive-23.04.3/src/project/projectmanager.cpp:91
#19 0x00007ffff52a4994 in QObject::event(QEvent*) (this=0x555556313d10, e=0x55555888c270)
--Type <RET> for more, q to quit, c to continue without paging--c
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qobject.cpp:1347
#20 0x00007ffff656300e in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#21 0x00007ffff527a708 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555556313d10, event=0x55555888c270)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qcoreapplication.cpp:1064
#22 0x00007ffff527a8de in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qcoreapplication.cpp:1462
#23 0x00007ffff527daa3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x555555eff470)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qcoreapplication.cpp:1821
#24 0x00007ffff527dd38 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=<optimized out>, event_type=<optimized out>)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qcoreapplication.cpp:1680
#25 0x00007ffff52ca603 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x555555fb8370)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#26 0x00007ffff3716bfd in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#27 0x00007ffff3716ea8 in () at /usr/lib64/libglib-2.0.so.0
#28 0x00007ffff3716f3c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#29 0x00007ffff52ca106 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555555fb72c0, flags=...)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#30 0x00007ffff52791bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd910, flags=..., flags@entry=...)
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/include/QtCore/../../src/corelib/global/qflags.h:69
#31 0x00007ffff5281156 in QCoreApplication::exec() ()
at /usr/src/debug/dev-qt/qtcore-5.15.10-r1/qtbase-everywhere-src-5.15.10/include/QtCore/../../src/corelib/global/qflags.h:121
#32 0x000055555562fed7 in main(int, char**) (argc=<optimized out>, argv=0x7fffffffdd18) at /usr/src/debug/kde-apps/kdenlive-23.04.3/kdenlive-23.04.3/src/main.cpp:352
Thanks for your report, this is a known issue and is being tracked elsewhere. Movit improvements are expected after the Qt6 migration. (In reply to farid from comment #4) > Thanks for your report, this is a known issue and is being tracked > elsewhere. Movit improvements are expected after the Qt6 migration. Thank you, happy to hear it! Can you tell me where it is tracked? (In reply to Guido from comment #5) > (In reply to farid from comment #4) > > Thanks for your report, this is a known issue and is being tracked > > elsewhere. Movit improvements are expected after the Qt6 migration. > > Thank you, happy to hear it! Can you tell me where it is tracked? https://invent.kde.org/multimedia/kdenlive/-/issues/1479 |