Created attachment 112521 [details] pstacks and top -H output First time using Kdenlive for non-trivial editing and I should have saved the project as I was going through, but after a few hours of editing and completing the video, I finally clicked File > Save As... and Kdenlive went into an infinite loop of some sort, using ~100% of 1 CPU core. I took pstacks, top -H, and a core dump and then killed it. Thankfully, when I restart Kdenlive, it asks to recover unsaved data and then I can easily reproduce the issue (and most importantly, I can render the file to a video, phew!). So if someone would like the raw recovery file data to reproduce themselves, I'm glad to provide it.
The core dump shows the following stack: (gdb) bt #0 0x00007f7f4ae039fc in QWeakPointer<QObject>::~QWeakPointer() (this=0x7ffc85d2d830, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qsharedpointer_impl.h:568 #1 0x00007f7f4ae02a16 in QPointer<QAbstractAnimation>::~QPointer() (this=0x7ffc85d2d830, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qpointer.h:53 #2 0x00007f7f4ae02a16 in QAbstractAnimationPrivate::setState(QAbstractAnimation::State) (this=0x562b845604d0, newState=newState@entry=QAbstractAnimation::Stopped) at animation/qabstractanimation.cpp:984 #3 0x00007f7f4ae02b17 in QAbstractAnimation::stop() (this=this@entry=0x562b82881540) at animation/qabstractanimation.cpp:1387 #4 0x00007f7f4ae02bf4 in QAbstractAnimation::setCurrentTime(int) (this=this@entry=0x562b82881540, msecs=<optimized out>) at animation/qabstractanimation.cpp:1341 #5 0x00007f7f4ae02aa7 in QAbstractAnimationPrivate::setState(QAbstractAnimation::State) (this=0x562b845604d0, newState=QAbstractAnimation::Running) at animation/qabstractanimation.cpp:1018 #6 0x00007f7f4fa16e7a in QWidgetAnimator::animate(QWidget*, QRect const&, bool) (this=this@entry=0x562b7e384528, widget=<optimized out>, widget@entry=0x562b7fd1c8c0, _final_geometry=..., animate=<optimized out>, animate@entry=false) at widgets/qwidgetanimator.cpp:107 #7 0x00007f7f4fa56a14 in QDockAreaLayoutInfo::apply(bool) (this=0x562b8435ac40, animate=animate@entry=false) at widgets/qdockarealayout.cpp:1569 #8 0x00007f7f4fa56ae9 in QDockAreaLayoutInfo::apply(bool) (this=this@entry=0x562b7e384188, animate=animate@entry=false) at widgets/qdockarealayout.cpp:1557 #9 0x00007f7f4fa56c70 in QDockAreaLayout::apply(bool) (this=this@entry=0x562b7e3840a8, animate=animate@entry=false) at widgets/qdockarealayout.cpp:3228 #10 0x00007f7f4fa86d07 in QMainWindowLayoutState::apply(bool) (animated=<optimized out>, this=0x562b7e383fd0) at widgets/qmainwindowlayout.cpp:525 #11 0x00007f7f4fa86d07 in QMainWindowLayout::applyState(QMainWindowLayoutState&, bool) (this=this@entry=0x562b7e383fb0, newState=..., animate=animate@entry=false) at widgets/qmainwindowlayout.cpp:2644 #12 0x00007f7f4fa8969e in QMainWindowLayout::setGeometry(QRect const&) (this=0x562b7e383fb0, _r=...) at widgets/qmainwindowlayout.cpp:1919 #13 0x00007f7f4f948bb8 in QLayoutPrivate::doResize(QSize const&) (this=this@entry=0x562b7e3551a0, r=...) at kernel/qlayout.cpp:589 #14 0x00007f7f4f949c69 in QLayout::activate() (this=<optimized out>) at kernel/qlayout.cpp:1114 #15 0x00007f7f4f96ada7 in QWidget::setVisible(bool) (this=0x562b7e513b50, visible=<optimized out>) at kernel/qwidget.cpp:8308 #16 0x00007f7f4fa11c3d in QToolBarLayout::layoutActions(QSize const&) (this=this@entry=0x562b7e42a3a0, size=...) at widgets/qtoolbarlayout.cpp:572 #17 0x00007f7f4fa124ed in QToolBarLayout::setGeometry(QRect const&) (this=0x562b7e42a3a0, rect=...) at widgets/qtoolbarlayout.cpp:399 #18 0x00007f7f4f948bb8 in QLayoutPrivate::doResize(QSize const&) (this=this@entry=0x562b7e3e0500, r=...) at kernel/qlayout.cpp:589 #19 0x00007f7f4f949c69 in QLayout::activate() (this=<optimized out>) at kernel/qlayout.cpp:1114 #20 0x00007f7f4f96ada7 in QWidget::setVisible(bool) (this=0x562b7e4c7910, visible=<optimized out>) at kernel/qwidget.cpp:8308 #21 0x00007f7f4fa125bd in QToolBarLayout::setGeometry(QRect const&) (this=0x562b7e42a3a0, rect=...) at widgets/qtoolbarlayout.cpp:424 #22 0x00007f7f4f948bb8 in QLayoutPrivate::doResize(QSize const&) (this=this@entry=0x562b7e3e0500, r=...) at kernel/qlayout.cpp:589 #23 0x00007f7f4f949c69 in QLayout::activate() (this=<optimized out>) at kernel/qlayout.cpp:1114 #24 0x00007f7f4f92c8fa in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x562b7e4c7370, e=0x7f7f2c012fa0) at kernel/qapplication.cpp:3713 #25 0x00007f7f4f934174 in QApplication::notify(QObject*, QEvent*) (this=0x7ffc85d2f800, receiver=0x562b7e4c7370, e=0x7f7f2c012fa0) at kernel/qapplication.cpp:3481 #26 0x00007f7f4afd1be7 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x562b7e4c7370, event=event@entry=0x7f7f2c012fa0) at kernel/qcoreapplication.cpp:1016 #27 0x00007f7f4afd436b in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7f7f2c012fa0, receiver=<optimized out>) at kernel/qcoreapplication.h:233 #28 0x00007f7f4afd436b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x562b7db83a80) at kernel/qcoreapplication.cpp:1676 #29 0x00007f7f4afd4888 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1530 #30 0x00007f7f4b022e43 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x562b7dcad5b0) at kernel/qeventdispatcher_glib.cpp:276 #31 0x00007f7f42aa2b77 in g_main_dispatch (context=0x7f7f2c004ff0) at gmain.c:3142 #32 0x00007f7f42aa2b77 in g_main_context_dispatch (context=context@entry=0x7f7f2c004ff0) at gmain.c:3795 #33 0x00007f7f42aa2f20 in g_main_context_iterate (context=0x7f7f2c004ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3868 #34 0x00007f7f42aa3232 in g_main_loop_run (loop=0x562b83fd8560) at gmain.c:4064 #35 0x00007f7f2b66df43 in gtk_dialog_run (dialog=0x562b842e6670 [GtkFileChooserDialog]) at gtkdialog.c:1397 #36 0x00007f7f2bdf83a0 in QGtk3Dialog::exec() (this=0x562b84087e80) at ../src/qgtk3dialoghelpers.cpp:108 #37 0x00007f7f4fb17e44 in QDialog::exec() (this=this@entry=0x7ffc85d2e770) at dialogs/qdialog.cpp:541 #38 0x0000562b7c3d936e in ProjectManager::saveFileAs() (this=0x562b7e384cc0) at /usr/src/debug/kdenlive-18.04.0-2.fc27.x86_64/src/project/projectmanager.cpp:349 #39 0x0000562b7c7431d5 in ProjectManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x562b7e384cc0, _id=<optimized out>, _a=0x7ffc85d2e940, _c=<optimized out>) at /usr/src/debug/kdenlive-18.04.0-2.fc27.x86_64/x86_64-redhat-linux-gnu/src/kdenlive_autogen/QV7S676PVK/moc_projectmanager.cpp:185 #40 0x00007f7f4affa513 in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x562b7e389120, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc85d2e940) at kernel/qobject.cpp:3766 #41 0x00007f7f4affab87 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x562b7e389120, m=m@entry=0x7f7f4fff1940 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc85d2e940) at kernel/qobject.cpp:3628 #42 0x00007f7f4f9261b2 in QAction::triggered(bool) (this=this@entry=0x562b7e389120, _t1=<optimized out>) at .moc/moc_qaction.cpp:370 #43 0x00007f7f4f9288cb in QAction::activate(QAction::ActionEvent) (this=this@entry=0x562b7e389120, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1165 #44 0x00007f7f4faa5ba4 in QMenuPrivate::activateCausedStack(QVector<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (this=this@entry=0x562b8029d060, causedStack=..., action=action@entry=0x562b7e389120, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1323 ---Type <return> to continue, or q <return> to quit--- #45 0x00007f7f4faad0db in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (this=this@entry=0x562b8029d060, action=action@entry=0x562b7e389120, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1400 #46 0x00007f7f4faadf03 in QMenu::mouseReleaseEvent(QMouseEvent*) (this=<optimized out>, e=0x7ffc85d2ef50) at widgets/qmenu.cpp:2888 #47 0x00007f7f4f96b2a8 in QWidget::event(QEvent*) (this=this@entry=0x562b802a9f10, event=event@entry=0x7ffc85d2ef50) at kernel/qwidget.cpp:9279 #48 0x00007f7f4fab01db in QMenu::event(QEvent*) (this=0x562b802a9f10, e=0x7ffc85d2ef50) at widgets/qmenu.cpp:3010 #49 0x00007f7f4f92c92c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x562b802a9f10, e=0x7ffc85d2ef50) at kernel/qapplication.cpp:3722 #50 0x00007f7f4f9346cf in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x562b802a9f10, e=0x7ffc85d2ef50) at kernel/qapplication.cpp:3198 #51 0x00007f7f4afd1be7 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x562b802a9f10, event=0x7ffc85d2ef50) at kernel/qcoreapplication.cpp:1016 #52 0x00007f7f4f9336a2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (receiver=0x562b802a9f10, event=0x7ffc85d2ef50, alienWidget=0x0, nativeWidget=0x562b802a9f10, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233 #53 0x00007f7f4f9861b3 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=0x7f7f2c010d20, event=0x7ffc85d2f340) at kernel/qwidgetwindow.cpp:523 #54 0x00007f7f4f988b1f in QWidgetWindow::event(QEvent*) (this=0x7f7f2c010d20, event=0x7ffc85d2f340) at kernel/qwidgetwindow.cpp:250 #55 0x00007f7f4f92c92c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7f7f2c010d20, e=0x7ffc85d2f340) at kernel/qapplication.cpp:3722 #56 0x00007f7f4f934174 in QApplication::notify(QObject*, QEvent*) (this=0x7ffc85d2f800, receiver=0x7f7f2c010d20, e=0x7ffc85d2f340) at kernel/qapplication.cpp:3481 #57 0x00007f7f4afd1be7 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0x7f7f2c010d20, event=event@entry=0x7ffc85d2f340) at kernel/qcoreapplication.cpp:1016 #58 0x00007f7f4b5248a3 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (event=0x7ffc85d2f340, receiver=0x7f7f2c010d20) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236 #59 0x00007f7f4b5248a3 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x562b826905a0) at kernel/qguiapplication.cpp:1952 #60 0x00007f7f4b526495 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (e=0x562b826905a0) at kernel/qguiapplication.cpp:1733 #61 0x00007f7f4b4ff79b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at kernel/qwindowsysteminterface.cpp:946 #62 0x00007f7f331c6b60 in userEventSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at qeventdispatcher_glib.cpp:77 #63 0x00007f7f42aa2b77 in g_main_dispatch (context=0x7f7f2c004ff0) at gmain.c:3142 #64 0x00007f7f42aa2b77 in g_main_context_dispatch (context=context@entry=0x7f7f2c004ff0) at gmain.c:3795 #65 0x00007f7f42aa2f20 in g_main_context_iterate (context=context@entry=0x7f7f2c004ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3868 #66 0x00007f7f42aa2fac in g_main_context_iteration (context=0x7f7f2c004ff0, may_block=may_block@entry=1) at gmain.c:3929 #67 0x00007f7f4b022c2f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x562b7dd6cd70, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #68 0x00007f7f4afd096a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc85d2f6f0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #69 0x00007f7f4afd9094 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1289 #70 0x0000562b7c341645 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdenlive-18.04.0-2.fc27.x86_64/src/main.cpp:164
Created attachment 112522 [details] pstacks and top -H output
The pstacks show that the thread is moving, but it's always rooted in ProjectManager::saveFileAs I'm glad to run any other gdb commands if someone has any quick questions (I'm generally proficient in gdb). I can also provide the core file although it's 861MB gzipped, so I don't know the best way to share that. Attaching pstacks and top -H output. I'm on Fedora 27 x64; Linux x270 4.16.5-200.fc27.x86_64; QT 5.9.4-4.fc27
Could be related to: > #36 0x00007f7f2bdf83a0 in QGtk3Dialog::exec() If you still can reproduce this issue, could you test with the normal Plasma file dialogs, instead of GTK dialogs?
(In reply to Christoph Feck from comment #4) > Could be related to: > > > #36 0x00007f7f2bdf83a0 in QGtk3Dialog::exec() > > If you still can reproduce this issue, could you test with the normal Plasma > file dialogs, instead of GTK dialogs? I realized late last week that I could reproduce this even by just trying to safe a blank project after creating it. Based on your suggestion, I realized I don't even have the KDE login option, so I installed it with `sudo dnf group install kde-desktop-environment`. Now Kdenlive no longer crashes, even from within Gnome! I guess it was missing some shared library? Which I guess means that the dependency graph of Kdenlive is missing something - this might be a Fedora packaging issue. If you have any ideas on what the library might be, I can open a bug report with Fedora. I'll attach the dnf log for what was installed with kde-desktop-environment.
Created attachment 113060 [details] Packages installed with sudo dnf group install kde-desktop-environment
Nevermind. The program still crashes under Gnome. However, I did try your suggestion of running Kdenlive under Plasma and it works fine. So it seems to be something specific to running under Gnome.
It seems that this report is related to very old unmaintained version. A lot changed since then, especially the timeline got a complete rewrite and it is likely that this has been fixed. Feel free to reopen this bug or create a new report if this is still happening with the latest version (https://kdenlive.org/en/download/)