Bug 357674

Summary: kdenlive crashes
Product: [Applications] kdenlive Reporter: gtlinuxman <gtlinuxman>
Component: User Interface & MiscellaneousAssignee: Jean-Baptiste Mardelle <jb>
Status: RESOLVED FIXED    
Severity: crash CC: dvratil, wegwerf-1-2-3
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description gtlinuxman 2016-01-07 23:18:57 UTC
Application: kdenlive (15.12.0)
 (Compiled from sources)
Qt Version: 5.5.1
Operating System: Linux 4.3.0-gentoo x86_64
Distribution: "NAME=Gentoo"

-- Information about the crash:
- What I was doing when the application crashed:
It crashes at first start, immediately after closing of the wizard

The crash can be reproduced every time.

-- Backtrace:
Application: Kdenlive (kdenlive), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fad05ea47c0 (LWP 11822))]

Thread 5 (Thread 0x7fad038b6700 (LWP 11832)):
#0  0x00007fad1260a2bd in poll () from /lib64/libc.so.6
#1  0x00007fad0db56b2a in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007fad0db58b9f in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007fad05822879 in QXcbEventReader::run (this=0x563508cce510) at qxcbconnection.cpp:1229
#4  0x00007fad13028f9c in QThreadPrivate::start (arg=0x563508cce510) at thread/qthread_unix.cpp:331
#5  0x00007fad115a04cc in start_thread () from /lib64/libpthread.so.0
#6  0x00007fad12613d9d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7face9d0b700 (LWP 11906)):
#0  0x00007ffe03efb939 in ?? ()
#1  0x00007ffe03efbb3a in clock_gettime ()
#2  0x00007fad12621260 in clock_gettime () from /lib64/libc.so.6
#3  0x00007fad130e7629 in qt_clock_gettime (ts=0x7face9d0aa90, clock=<optimized out>) at tools/qelapsedtimer_unix.cpp:105
#4  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:156
#5  qt_gettime () at tools/qelapsedtimer_unix.cpp:165
#6  0x00007fad1327a59f in QTimerInfoList::updateCurrentTime (this=this@entry=0x7face4002ed0) at kernel/qtimerinfo_unix.cpp:84
#7  0x00007fad1327aa88 in QTimerInfoList::timerWait (this=0x7face4002ed0, tm=...) at kernel/qtimerinfo_unix.cpp:381
#8  0x00007fad1327c095 in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7face9d0abb4) at kernel/qeventdispatcher_glib.cpp:127
#9  0x00007fad1327c1bd in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:160
#10 0x00007fad0e42a7c0 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#11 0x00007fad0e42b1b9 in ?? () from /usr/lib64/libglib-2.0.so.0
#12 0x00007fad0e42b401 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#13 0x00007fad1327c5bb in QEventDispatcherGlib::processEvents (this=0x7face40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#14 0x00007fad13217853 in QEventLoop::exec (this=this@entry=0x7face9d0adb0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#15 0x00007fad13022624 in QThread::exec (this=this@entry=0x5635096d1ec0) at thread/qthread.cpp:503
#16 0x00007fad11204468 in QQmlThreadPrivate::run (this=0x5635096d1ec0) at qml/ftw/qqmlthread.cpp:141
#17 0x00007fad13028f9c in QThreadPrivate::start (arg=0x5635096d1ec0) at thread/qthread_unix.cpp:331
#18 0x00007fad115a04cc in start_thread () from /lib64/libpthread.so.0
#19 0x00007fad12613d9d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7face8c3a700 (LWP 11942)):
#0  0x00007fad12605f2d in read () from /lib64/libc.so.6
#1  0x00007fad0e47eeb1 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fad0e42ad54 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fad0e42b233 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007fad0e42b401 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007fad1327c5bb in QEventDispatcherGlib::processEvents (this=0x7facdc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#6  0x00007fad13217853 in QEventLoop::exec (this=this@entry=0x7face8c39db0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#7  0x00007fad13022624 in QThread::exec (this=this@entry=0x56350a73f080) at thread/qthread.cpp:503
#8  0x00007fad11204468 in QQmlThreadPrivate::run (this=0x56350a73f080) at qml/ftw/qqmlthread.cpp:141
#9  0x00007fad13028f9c in QThreadPrivate::start (arg=0x56350a73f080) at thread/qthread_unix.cpp:331
#10 0x00007fad115a04cc in start_thread () from /lib64/libpthread.so.0
#11 0x00007fad12613d9d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7face26ce700 (LWP 21995)):
[KCrash Handler]
#6  0x00007fad125547cc in raise () from /lib64/libc.so.6
#7  0x00007fad12555db1 in abort () from /lib64/libc.so.6
#8  0x00007fad13012016 in qt_message_fatal (context=..., message=<synthetic pointer>) at global/qlogging.cpp:1578
#9  QMessageLogger::fatal (this=this@entry=0x7face26cd400, msg=msg@entry=0x7fad132e1d88 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qlogging.cpp:781
#10 0x00007fad1300bf06 in qt_assert_x (where=where@entry=0x7fad132ede12 "QCoreApplication::sendEvent", what=<optimized out>, file=file@entry=0x7fad132eddc1 "kernel/qcoreapplication.cpp", line=line@entry=553) at global/qglobal.cpp:2974
#11 0x00007fad13218dff in QCoreApplicationPrivate::checkReceiverThread (this=this@entry=0x563508cb5250, receiver=receiver@entry=0x56350a00ad80) at kernel/qcoreapplication.cpp:545
#12 0x00007fad13e6e212 in QApplication::notify (this=0x7ffe03e02df0, receiver=0x56350a00ad80, e=0x7face26cd8c0) at kernel/qapplication.cpp:3022
#13 0x00007fad132194cd in QCoreApplication::notifyInternal (this=0x7ffe03e02df0, receiver=receiver@entry=0x56350a00ad80, event=event@entry=0x7face26cd8c0) at kernel/qcoreapplication.cpp:965
#14 0x00007fad1358a1a8 in QCoreApplication::sendEvent (event=0x7face26cd8c0, receiver=0x56350a00ad80) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#15 QOffscreenSurface::create (this=0x56350a00ad80) at kernel/qoffscreensurface.cpp:190
#16 0x00005635080d07fd in ?? ()
#17 0x000056350821d56d in ?? ()
#18 0x00007fad1324f862 in QMetaObject::activate (sender=0x56350a00ac80, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x0) at kernel/qobject.cpp:3713
#19 0x00007fad1324ff45 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fad15247be0 <QQuickWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#20 0x00007fad14fb0f99 in QQuickWindow::sceneGraphInitialized (this=<optimized out>) at .moc/moc_qquickwindow.cpp:442
#21 0x00007fad14fb5b8d in QQuickWindow::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qquickwindow.cpp:221
#22 0x00007fad1324f862 in QMetaObject::activate (sender=sender@entry=0x5635097c4530, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3713
#23 0x00007fad1324ff45 in QMetaObject::activate (sender=sender@entry=0x5635097c4530, m=m@entry=0x7fad15254540 <QSGRenderContext::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#24 0x00007fad1512d506 in QSGRenderContext::initialized (this=this@entry=0x5635097c4530) at .moc/moc_qsgcontext_p.cpp:143
#25 0x00007fad14f52e37 in QSGRenderContext::initialize (this=0x5635097c4530, context=<optimized out>) at scenegraph/qsgcontext.cpp:668
#26 0x00007fad14f814e1 in QSGRenderThread::run (this=0x56350a97c330) at scenegraph/qsgthreadedrenderloop.cpp:676
#27 0x00007fad13028f9c in QThreadPrivate::start (arg=0x56350a97c330) at thread/qthread_unix.cpp:331
#28 0x00007fad115a04cc in start_thread () from /lib64/libpthread.so.0
#29 0x00007fad12613d9d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fad05ea47c0 (LWP 11822)):
#0  0x00007fad115a5daf in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fad1302982b in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x56350a97f600) at thread/qwaitcondition_unix.cpp:136
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x56350a97c370, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3  0x00007fad14f7d77e in QSGThreadedRenderLoop::polishAndSync (this=this@entry=0x563509e365e0, w=w@entry=0x56350a94f580, inExpose=inExpose@entry=true) at scenegraph/qsgthreadedrenderloop.cpp:1150
#4  0x00007fad14f7faab in QSGThreadedRenderLoop::handleExposure (this=this@entry=0x563509e365e0, window=window@entry=0x56350a00ac80) at scenegraph/qsgthreadedrenderloop.cpp:946
#5  0x00007fad14f8069b in QSGThreadedRenderLoop::exposureChanged (this=0x563509e365e0, window=0x56350a00ac80) at scenegraph/qsgthreadedrenderloop.cpp:857
#6  0x00007fad13589145 in QWindow::event (this=this@entry=0x56350a00ac80, ev=ev@entry=0x7ffe03e02980) at kernel/qwindow.cpp:2054
#7  0x00007fad14fc2029 in QQuickWindow::event (this=0x56350a00ac80, e=0x7ffe03e02980) at items/qquickwindow.cpp:1413
#8  0x00007fad13e68834 in QApplicationPrivate::notify_helper (this=this@entry=0x563508cb5250, receiver=receiver@entry=0x56350a00ac80, e=e@entry=0x7ffe03e02980) at kernel/qapplication.cpp:3716
#9  0x00007fad13e6e4c7 in QApplication::notify (this=0x7ffe03e02df0, receiver=0x56350a00ac80, e=0x7ffe03e02980) at kernel/qapplication.cpp:3499
#10 0x00007fad132194cd in QCoreApplication::notifyInternal (this=0x7ffe03e02df0, receiver=receiver@entry=0x56350a00ac80, event=event@entry=0x7ffe03e02980) at kernel/qcoreapplication.cpp:965
#11 0x00007fad1357ebe0 in QCoreApplication::sendSpontaneousEvent (event=0x7ffe03e02980, receiver=0x56350a00ac80) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:227
#12 QGuiApplicationPrivate::processExposeEvent (e=0x56350b44d150) at kernel/qguiapplication.cpp:2648
#13 0x00007fad1357fa1d in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x56350b44d150) at kernel/qguiapplication.cpp:1643
#14 0x00007fad1355fb99 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:625
#15 0x00007fad05861252 in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70
#16 0x00007fad0e42b06a in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#17 0x00007fad0e42b2f8 in ?? () from /usr/lib64/libglib-2.0.so.0
#18 0x00007fad0e42b401 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#19 0x00007fad1327c59f in QEventDispatcherGlib::processEvents (this=0x563508d05e40, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#20 0x00007fad13217853 in QEventLoop::exec (this=this@entry=0x7ffe03e02cd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#21 0x00007fad13220c56 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#22 0x0000563507e7190c in ?? ()
#23 0x00007fad12540954 in __libc_start_main () from /lib64/libc.so.6
#24 0x0000563507e71fb9 in _start ()

Possible duplicates by query: bug 354472.

Reported using DrKonqi
Comment 1 Wegwerf 2016-01-23 13:57:24 UTC
"15.12.0" ... which sources do you use? My Kdenlive pulled from git source code repository over the course of past weeks already gave me "15.13.0" when on git master. If you are on "Applications/15.12" instead, can you please pull 15.12.1 and give it a try if the crash still persists?
Comment 2 Wegwerf 2016-08-02 10:51:22 UTC
gtlinuxman, this is a last call: can you please be so kind as to check with a recent stable 16.04.2 or beta 16.07.xx Kdenlive version, and MLT 6.2.0+? Did you still trigger a crash? If not, I would like to ask you to be so kind as to close this bug report. Thank you very much for your cooperation!
Comment 3 Daniel Vrátil 2016-10-10 20:44:12 UTC
I can reproduce the crash with current git master running against Qt 5.7.1 (compiled in debug mode).

Since the reason for the crash is a Q_ASSERT inside Qt, you won't be able to reproduce the crash unless you have Qt compiled without QT_NO_DEBUG (i.e. a debug build). When Qt is compiled with QT_NO_DEBUG then it will just discard the event (and possibly complain to console), but won't crash. The nature of the assert however indicates that it's kdenlive that's doing something that it should not be doing rather than a problem in Qt.

Thread 19 (Thread 0x7fff8bffd700 (LWP 6576)):
#0  0x00007fffeb2106f5 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007fffeb2122fa in __GI_abort () at abort.c:89
#2  0x00007fffebef1760 in qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) (context=..., message="ASSERT failure in QCoreApplication::sendEvent: \"Cannot send events to objects owned by a different thread. 
Current thread 3525fa0. Receiver '' (of type 'QOffscreenSurface') was created in thread beba9"...) at /data/Qt/qt5/qtbase/src/corelib/global/qlogging.cpp:1682
#3  0x00007fffebeed9fa in QMessageLogger::fatal(char const*, ...) const (this=0x7fff8bffbaf0, msg=0x7fffec229178 "ASSERT failure in %s: \"%s\", file %s, line %d") at /data/Qt/qt5/qtbase/src/corelib/global/qlogging.cpp:793
#4  0x00007fffebee6b9f in qt_assert_x(char const*, char const*, char const*, int) (where=0x7fffec2f1d24 "QCoreApplication::sendEvent", what=0x7fff5811b7d8 "Cannot send events to objects owned by a different thread. Current threa
d 3525fa0. Receiver '' (of type 'QOffscreenSurface') was created in thread beba90", file=0x7fffec2f1b38 "/data/Qt/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp", line=541)
    at /data/Qt/qt5/qtbase/src/corelib/global/qglobal.cpp:3089
#5  0x00007fffec140569 in QCoreApplicationPrivate::checkReceiverThread(QObject*) (receiver=0x1eec0d0) at /data/Qt/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:533
#6  0x00007ffff0cc6f18 in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffd420, receiver=0x1eec0d0, e=0x7fff8bffc3d0) at /data/Qt/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3021
#7  0x00007fffec141390 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x1eec0d0, event=0x7fff8bffc3d0) at /data/Qt/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:988
#8  0x00007fffec55b73e in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=0x1eec0d0, event=0x7fff8bffc3d0) at ../../include/QtCore/../../../../qtbase/src/corelib/kernel/qcoreapplication.h:231
#9  0x00007fffec58d6e0 in QOffscreenSurface::create() (this=0x1eec0d0) at /data/Qt/qt5/qtbase/src/gui/kernel/qoffscreensurface.cpp:197
#10 0x00000000007184db in GLWidget::initializeGL() (this=0x1eebfb0) at /data/KDE/src/kde/kdemultimedia/kdenlive/src/monitor/glwidget.cpp:150
#11 0x000000000085aec5 in GLWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x1eebfb0, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /data/KDE/build/kde/kdemultimedia/kdenlive/src/moc_glwidget.cpp:236
#12 0x00007fffec182148 in QMetaObject::activate(QObject*, int, int, void**) (sender=0x1eebfb0, signalOffset=21, local_signal_index=2, argv=0x0) at /data/Qt/qt5/qtbase/src/corelib/kernel/qobject.cpp:3740
#13 0x00007fffec18193c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=0x1eebfb0, m=0x7ffff5fd5400 <QQuickWindow::staticMetaObject>, local_signal_index=2, argv=0x0)
    at /data/Qt/qt5/qtbase/src/corelib/kernel/qobject.cpp:3602
#14 0x00007ffff5c7c5e1 in QQuickWindow::sceneGraphInitialized() (this=0x1eebfb0) at .moc/moc_qquickwindow.cpp:467
#15 0x00007ffff5c7b8ef in QQuickWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x1eebfb0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fff8bffca20) at .moc/moc_qquickwindow.cpp:229
#16 0x00007fffec182148 in QMetaObject::activate(QObject*, int, int, void**) (sender=0x18a2790, signalOffset=3, local_signal_index=0, argv=0x0) at /data/Qt/qt5/qtbase/src/corelib/kernel/qobject.cpp:3740
#17 0x00007fffec18193c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=0x18a2790, m=0x7ffff5fe2480 <QSGRenderContext::staticMetaObject>, local_signal_index=0, argv=0x0)
    at /data/Qt/qt5/qtbase/src/corelib/kernel/qobject.cpp:3602
#18 0x00007ffff5e06ac1 in QSGRenderContext::initialized() (this=0x18a2790) at .moc/moc_qsgcontext_p.cpp:146
#19 0x00007ffff5c0cf05 in QSGRenderContext::initialize(QOpenGLContext*) (this=0x18a2790, context=0x26b6670) at /data/Qt/qt5/qtdeclarative/src/quick/scenegraph/qsgcontext.cpp:639
#20 0x00007ffff5c31506 in QSGRenderThread::run() (this=0x3525fa0) at /data/Qt/qt5/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:709
#21 0x00007fffebf080e0 in QThreadPrivate::start(void*) (arg=0x3525fa0) at /data/Qt/qt5/qtbase/src/corelib/thread/qthread_unix.cpp:368
#22 0x00007fffe96065ca in start_thread (arg=0x7fff8bffd700) at pthread_create.c:333
#23 0x00007fffeb2def6d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Comment 4 Jean-Baptiste Mardelle 2016-10-11 00:27:06 UTC
Git commit c71731d4919def0ebbffe31cf79d965eaa8cf320 by Jean-Baptiste Mardelle.
Committed on 11/10/2016 at 00:23.
Pushed by mardelle into branch 'master'.

attempt to fix QOffscreenSurface thread crash

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

http://commits.kde.org/kdenlive/c71731d4919def0ebbffe31cf79d965eaa8cf320