Hi,

Argh, I spent several hours trying to understand this. I confirm that I can reproduce on an Ubuntu based system with Qt, using libqt5widgets5 version 5.7.1+dfsg-3.

I really think that this is a Qt issue and not at all related to Kdenlive. I also think that the issue appeared recently since I used the titler recently without issues.

Installing the qtbase debug symbols, I get the backtrace below, which points to a crash in the accessibility code of Qtbase.

Looking at debian logs, I see that there has been a change in Qt's accessibility code between libqt5widgets5 5.7.1+dfsg-2 and 5.7.1+dfsg-3.
I am wondering if this patch could be the cause of the crash:
https://anonscm.debian.org/cgit/pkg-kde/qt/qtbase.git/commit/?id=c4d9c4fc8a195061f1df873c25ab050fe9c4ec82

I will be offline for the next days, but if anyone has the opportunity to check if the crash does not happen against Qt 5.7.1+dfsg-2, it would confirm my theory.

Below is the crash log:



Thread 1 "kdenlive" received signal SIGSEGV, Segmentation fault.
0x00007ffff2f37f5f in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
(gdb) bt full
#0 0x00007ffff2f37f5f in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#1 0x00007fffe208fc26 in AtSpiAdaptor::notify (this=0x3ac5e90, event=<optimized out>) at linuxaccessibility/atspiadaptor.cpp:1066
      iface = <optimized out>
      path = {static null = {<No data fields>}, d = 0x52f5ff0}
      selected = <optimized out>
stateArgs = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = { _q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x56894d0}, d = 0x56894d0}} #2 0x00007ffff2f76fe0 in QListView::selectionChanged(QItemSelection const&, QItemSelection const&) ()
 from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#3 0x00007ffff2f51591 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#4 0x00007ffff22e1e89 in QMetaObject::activate (sender=sender@entry=0x4eb2cb0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffa8d0) at kernel/qobject.cpp:3740
      method_relative = 21
      callFunction = 0x7ffff2f511e0
      receiver = 0x4eb4930
      receiverInSameThread = <optimized out>
sw = {receiver = 0x4eb4930, previousSender = 0x0, currentSender = {sender = 0x4eb2cb0, signal = 3, ref = 1}, switched = true}
      c = 0x4ebb780
      last = 0x4ebb780
      locker = {val = 140737258727096}
      connectionLists = {connectionLists = 0x4ec0700}
      list = <optimized out>
      currentThreadId = 0x7fffe22cc8c0
      signal_index = 3
      empty_argv = {0x0}
#5 0x00007ffff22e2837 in QMetaObject::activate (sender=sender@entry=0x4eb2cb0, m=m@entry=0x7ffff24f8ee0 <QItemSelectionModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffa8d0) at kernel/qobject.cpp:3602
---Type <return> to continue, or q <return> to quit---
No locals.
#6 0x00007ffff22667e7 in QItemSelectionModel::selectionChanged (this=this@entry=0x4eb2cb0, _t1=..., _t2=...)
  at .moc/moc_qitemselectionmodel.cpp:478
      _a = {0x0, 0x7fffffffaa00, 0x7fffffffa9e0}
#7 0x00007ffff226b01b in QItemSelectionModel::emitSelectionChanged (this=this@entry=0x4eb2cb0, newSelection=..., oldSelection=...)
  at itemmodels/qitemselectionmodel.cpp:1811
deselected = {<QList<QItemSelectionRange>> = {<QListSpecialMethods<QItemSelectionRange>> = {<No data fields>}, {p = { static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x561c3d0}, d = 0x561c3d0}}, <No data fields>} selected = {<QList<QItemSelectionRange>> = {<QListSpecialMethods<QItemSelectionRange>> = {<No data fields>}, {p = { static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff237f280 <QListData::shared_null>}, d = 0x7ffff237f280 <QListData::shared_null>}}, <No data fields>}
      advance = <optimized out>
intersections = {<QList<QItemSelectionRange>> = {<QListSpecialMethods<QItemSelectionRange>> = {<No data fields>}, {p = { static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x561c3d0}, d = 0x561c3d0}}, <No data fields>} #8 0x00007ffff226eaf2 in QItemSelectionModel::select (this=0x4eb2cb0, selection=..., command=...)
  at itemmodels/qitemselectionmodel.cpp:1298
      d = 0x4eb3310
sel = {<QList<QItemSelectionRange>> = {<QListSpecialMethods<QItemSelectionRange>> = {<No data fields>}, {p = { static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x5320ce0}, d = 0x5320ce0}}, <No data fields>}
      it = <optimized out>
old = {<QList<QItemSelectionRange>> = {<QListSpecialMethods<QItemSelectionRange>> = {<No data fields>}, {p = { static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x5608840}, d = 0x5608840}}, <No data fields>} newSelection = {<QList<QItemSelectionRange>> = {<QListSpecialMethods<QItemSelectionRange>> = {<No data fields>}, {p = { static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, ---Type <return> to continue, or q <return> to quit--- <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x561c3d0}, d = 0x561c3d0}}, <No data fields>} #9 0x00007ffff226856c in QItemSelectionModel::select (this=this@entry=0x4eb2cb0, index=..., command=command@entry=...) at itemmodels/qitemselectionmodel.cpp:1159 selection = {<QList<QItemSelectionRange>> = {<QListSpecialMethods<QItemSelectionRange>> = {<No data fields>}, {p = { static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x5320ce0}, d = 0x5320ce0}}, <No data fields>} #10 0x00007ffff2266c34 in QItemSelectionModel::setCurrentIndex (this=0x4eb2cb0, index=..., command=...) at itemmodels/qitemselectionmodel.cpp:1373 d = 0x4eb3310 previous = {d = 0x5625360} #11 0x00007ffff2e084f1 in QComboBox::showPopup() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #12 0x00007ffff2e09295 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #13 0x00007ffff2d4b8ef in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #14 0x00007ffff2e05396 in QComboBox::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #15 0x00007ffff2d03ecc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #16 0x00007ffff2d0c165 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 No symbol table info available. #17 0x00007ffff22b70c8 in QCoreApplication::notifyInternal2 (receiver=0x4eb29d0, event=0x7fffffffb240) at kernel/qcoreapplication.cpp:988 selfRequired = true result = false cbdata = {0x4eb29d0, 0x7fffffffb240, 0x7fffffffb08f} d = <optimized out> threadData = 0xe54bc0 scopeLevelCounter = {threadData = 0xe54bc0}


Regards

jb

Reply via email to