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