https://bugs.kde.org/show_bug.cgi?id=346118

--- Comment #92 from madc...@atlas.cz ---
I finally managed to get a good backtrace. This looks a lot like a threading
issue. Something seems to modify the "items" QVector while the notify()
function in QQmlAdaptorModel is iterating over it. I removed the pass by
reference to the nofity() function and with that removed I don't get the crash
anymore but the notifications are sent to wrong targets. Let's hope that the Qt
folk can sort this out.

--- Backtrace ---

DAVE notifying delegates
DAVE notifying delegates
DAVE notifying delegates
DAVE notifying delegates
DAVE notifying delegates
ASSERT failure in QList<T>::at: "index out of range", file
/usr/include/qt/QtCore/qlist.h, line 531

Thread 1 "plasmashell" received signal SIGABRT, Aborted.
0x00007ffff122c2a8 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff122c2a8 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff122d72a in abort () from /usr/lib/libc.so.6
#2  0x00007ffff19aef41 in QMessageLogger::fatal(char const*, ...) const () from
/usr/lib/libQt5Core.so.5
#3  0x00007ffff19aa2d1 in qt_assert_x(char const*, char const*, char const*,
int) () from /usr/lib/libQt5Core.so.5
#4  0x00007ffff4b4aeb7 in QList<int>::at (i=10, this=0x360cf08) at
/usr/include/qt/QtCore/qlist.h:531
#5  VDMModelDelegateDataType::notify (this=<optimized out>, items=...,
index=<optimized out>,
    count=<optimized out>, roles=...)
    at
/home/madcat/abs/qt5-declarative/src/qtdeclarative-opensource-src-5.6.0/src/qml/util/qqmladaptormodel.cpp:172
#6  0x00007ffff4dbe36a in QQmlAdaptorModel::notify (roles=..., count=10,
index=<optimized out>, items=...,
    this=0x360cdc8)
    at
/home/madcat/abs/qt5-declarative/src/qtdeclarative-opensource-src-5.6.0/include/QtQml/5.6.0/QtQml/private/../../../../../src/qml/util/qqmladaptormodel_p.h:129
#7  QQmlDelegateModel::_q_itemsChanged (this=this@entry=0x360c6c0,
index=index@entry=0, count=10, roles=...)
    at
/home/madcat/abs/qt5-declarative/src/qtdeclarative-opensource-src-5.6.0/src/qml/types/qqmldelegatemodel.cpp:1142
#8  0x00007ffff4dc319c in QQmlDelegateModel::_q_layoutChanged (this=0x360c6c0,
parents=..., hint=<optimized out>)
    at
/home/madcat/abs/qt5-declarative/src/qtdeclarative-opensource-src-5.6.0/src/qml/types/qqmldelegatemodel.cpp:1606
#9  0x00007ffff4deb0bf in QQmlDelegateModel::qt_static_metacall
(_o=_o@entry=0x360c6c0,
    _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=14,
_a=_a@entry=0x7fffffffd300)
    at .moc/moc_qqmldelegatemodel_p.cpp:205
#10 0x00007ffff4deb8b8 in QQmlDelegateModel::qt_metacall (this=0x360c6c0,
_c=QMetaObject::InvokeMetaMethod,
    _id=14, _a=0x7fffffffd300) at .moc/moc_qqmldelegatemodel_p.cpp:347
#11 0x00007ffff1bc69f0 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#12 0x00007ffff1c3fac6 in
QAbstractItemModel::layoutChanged(QList<QPersistentModelIndex> const&,
QAbstractItemModel::LayoutChangeHint) () from /usr/lib/libQt5Core.so.5
#13 0x00007ffff1b688d1 in ?? () from /usr/lib/libQt5Core.so.5
#14 0x00007ffff1b6a458 in ?? () from /usr/lib/libQt5Core.so.5
#15 0x00007ffff1bc6870 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#16 0x00007ffff1c3f9dc in QAbstractItemModel::dataChanged(QModelIndex const&,
QModelIndex const&, QVector<int> const&) () from /usr/lib/libQt5Core.so.5
#17 0x00007fff2b1cac1d in NetworkModel::updateItem(NetworkModelItem*) () from
/usr/lib/libplasmanm_internal.so
#18 0x00007fff2b1cbc34 in
NetworkModel::activeConnectionStateChanged(NetworkManager::ActiveConnection::State)
() from /usr/lib/libplasmanm_internal.so
#19 0x00007ffff1bc6bae in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#20 0x00007fff2af60f91 in
NetworkManager::ActiveConnection::stateChanged(NetworkManager::ActiveConnection::State)
() from /usr/lib/libKF5NetworkManagerQt.so.6
#21 0x00007fff2aea7c4a in ?? () from /usr/lib/libKF5NetworkManagerQt.so.6
#22 0x00007ffff1bc6bae in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#23 0x00007fff2af69b93 in ?? () from /usr/lib/libKF5NetworkManagerQt.so.6
#24 0x00007fff2af71583 in ?? () from /usr/lib/libKF5NetworkManagerQt.so.6
#25 0x00007ffff298e643 in ?? () from /usr/lib/libQt5DBus.so.5
#26 0x00007ffff1bc7659 in QObject::event(QEvent*) () from
/usr/lib/libQt5Core.so.5
#27 0x00007ffff2d4b68c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#28 0x00007ffff2d508f6 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/libQt5Widgets.so.5
#29 0x00007ffff1b9a518 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#30 0x00007ffff1b9c3da in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#31 0x00007ffff1bef883 in ?? () from /usr/lib/libQt5Core.so.5
#32 0x00007fffed757f07 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#33 0x00007fffed758160 in ?? () from /usr/lib/libglib-2.0.so.0
#34 0x00007fffed75820c in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#35 0x00007ffff1befc8f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQt5Core.so.5
#36 0x00007ffff1b986fa in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt5Core.so.5
#37 0x00007ffff1ba0b7c in QCoreApplication::exec() () from
/usr/lib/libQt5Core.so.5
#38 0x000000000041c176 in ?? ()
#39 0x00007ffff1219710 in __libc_start_main () from /usr/lib/libc.so.6
#40 0x000000000041c2d9 in _start ()

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to