Bug 359860

Summary: 15.13 git master: crash on loading project existing project
Product: [Applications] kdenlive Reporter: Wegwerf <wegwerf-1-2-3>
Component: User Interface & MiscellaneousAssignee: Jean-Baptiste Mardelle <jb>
Status: RESOLVED FIXED    
Severity: grave CC: wegwerf-1-2-3
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Wegwerf 2016-02-27 14:50:43 UTC
I've upgraded Kdenlive to recent git master. I've also upgraded MLT to recent git master (6.0.0) -- I don't know if this is relevant or not. Now, when loading a project created yesterday using yesterday's git master, there are no problems. But any time I try to open an existing Kdenlive project more than a few days old, Kdenlive crashes:

Thread 1 (Thread 0x7f01e5eac800 (LWP 8819)):
[KCrash Handler]
#6  0x00007f01f815f099 in QDomNode::childNodes() const () from /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5
#7  0x00000000008bfbe1 in EffectsList::count() const ()
#8  0x00000000006fcd74 in ClipItem::effectsCount() ()
#9  0x000000000077ef35 in Timeline::getEffects(Mlt::Service&, ClipItem*, int) ()
#10 0x0000000000778c0c in Timeline::getTracks() ()
#11 0x000000000077b3e2 in Timeline::parseDocument(QDomDocument const&) ()
#12 0x0000000000777d8b in Timeline::loadTimeline() ()
#13 0x00000000006d849e in ProjectManager::doOpenFile(QUrl const&, KAutoSaveFile*) ()
#14 0x00000000006d798b in ProjectManager::openFile(QUrl const&) ()
#15 0x0000000000ad1adf in ProjectManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#16 0x00007f01f20588ea in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f01f4bd63b2 in KRecentFilesAction::urlSelected(QUrl const&) () from /usr/lib/x86_64-linux-gnu/libKF5ConfigWidgets.so.5
#18 0x00007f01f4bd6d88 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ConfigWidgets.so.5
#19 0x00007f01f4bd714b in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ConfigWidgets.so.5
#20 0x00007f01f20588ea in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f01f3dd3fcf in KSelectAction::triggered(QAction*) () from /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5
#22 0x00007f01f3dd70cd in KSelectAction::actionTriggered(QAction*) () from /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5
#23 0x00007f01f2058777 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007f01f35dc2cf in QActionGroup::triggered(QAction*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f01f35dcf49 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007f01f20588ea in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007f01f35d8d92 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007f01f35db218 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007f01f375dba2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007f01f3763e6c in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007f01f3767d70 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007f01f36259f8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007f01f37687b3 in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007f01f35e29dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007f01f35e85a9 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007f01f2029d7b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007f01f35e74b2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#38 0x00007f01f36402cd in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007f01f364252b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#40 0x00007f01f35e29dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#41 0x00007f01f35e7ea6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#42 0x00007f01f2029d7b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#43 0x00007f01f236c5f1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#44 0x00007f01f236e2b5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#45 0x00007f01f2352228 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#46 0x00007f01e59c60b0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#47 0x00007f01ee62aff7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f01ee62b250 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007f01ee62b2fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#50 0x00007f01f20804ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#51 0x00007f01f202750a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52 0x00007f01f202f5ec in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#53 0x0000000000a5a410 in main ()


Reproducible: Always
Comment 1 Wegwerf 2016-02-27 15:02:51 UTC
With debug information; ClipItem::effectsCount called with this=null doesn't look sane... :)

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7f42099 in QDomNode::childNodes() const () from /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5
(gdb) bt full
#0  0x00007ffff7f42099 in QDomNode::childNodes() const () from /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5
No symbol table info available.
#1  0x00000000008bfbe1 in EffectsList::count (this=0x1f8) at /home/harald/kdenlive-local/kdenlive/src/effectslist/effectslist.cpp:360
No locals.
#2  0x00000000006fcd74 in ClipItem::effectsCount (this=0x0) at /home/harald/kdenlive-local/kdenlive/src/timeline/clipitem.cpp:1351
No locals.
#3  0x000000000077ef35 in Timeline::getEffects (this=0x230ca80, service=..., clip=0x0, track=1)
    at /home/harald/kdenlive-local/kdenlive/src/timeline/timeline.cpp:974
        effectNb = 60167888
        locale = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff1fd8f40, data = 0x7ffff1fd7b40, static_metacall = 0x0, 
              relatedMetaObjects = 0x0, extradata = 0x0}}, d = {d = 0x7fffffffc0a0}}
#4  0x0000000000778c0c in Timeline::getTracks (this=0x230ca80) at /home/harald/kdenlive-local/kdenlive/src/timeline/timeline.cpp:287
        currentWidth = 150
        track = {d = 0x396f4a0}
        isBackgroundBlackTrack = false
        playlist = <unvollständiger Typ>
        trackduration = 16084
        frame = 0x22fc260
        playlist_name = {static null = {<No data fields>}, d = 0x395df30}
        audio = 1
        tk = 0x3961320
        i = 1
        duration = 16084
        headerLayout = 0x395e220
        child = 0x0
        clipsCount = 126
        height = 49
        headerWidth = 150
        offset = 32
#5  0x000000000077b3e2 in Timeline::parseDocument (this=0x230ca80, doc=...) at /home/harald/kdenlive-local/kdenlive/src/timeline/timeline.cpp:455
        mlt = {<QDomNode> = {impl = 0x2e756e0}, <No data fields>}
        groupsDoc = {<QDomNode> = {impl = 0x0}, <No data fields>}
        groups = {impl = 0x1}
        effectsDoc = {<QDomNode> = {impl = 0xe99840 <Timeline::staticMetaObject>}, <No data fields>}
        effects = {impl = 0x23529a0}
#6  0x0000000000777d8b in Timeline::loadTimeline (this=0x230ca80) at /home/harald/kdenlive-local/kdenlive/src/timeline/timeline.cpp:147
No locals.
Comment 2 Jean-Baptiste Mardelle 2016-02-27 15:25:12 UTC
Git commit f53796ef711b440254aaa29084880edea77051be by Jean-Baptiste Mardelle.
Committed on 27/02/2016 at 15:24.
Pushed by mardelle into branch 'master'.

Fix crash

M  +1    -1    src/timeline/timeline.cpp

http://commits.kde.org/kdenlive/f53796ef711b440254aaa29084880edea77051be
Comment 3 Wegwerf 2016-02-27 17:45:44 UTC
Thank you very much Jean-Baptiste for the quick fix! I can now load my existing projects without any crashes. I'm setting this to resolved-fixed.