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

--- Comment #21 from Jiri Slaby <jirisl...@gmail.com> ---
(In reply to Hans Brage from comment #0)
> #7  0xb442e75c in QV4::ModelObject::virtualGet(QV4::Managed const*,
> QV4::PropertyKey, QV4::Value const*, bool*) (m=0xa15c0820, id=...,
> receiver=0xa15c0820, hasProperty=0x0) at
> /usr/src/debug/qtdeclarative-everywhere-src-5.15.8+kde22/src/qmlmodels/
> qqmllistmodel.cpp:1639

ep is corrupted:
1639        if (QQmlEngine *qmlEngine = that->engine()->qmlEngine()) {
1640            QQmlEnginePrivate *ep = QQmlEnginePrivate::get(qmlEngine);
1641            if (ep && ep->propertyCapture) {
1642                    qDebug() << __func__ << ep << ep->propertyCapture;
1643                ep->propertyCapture->captureProperty(that->object(), -1,
role->index, /*doNotify=*/ false);
1644            }
1645        }

This prints:
virtualGet 0xb706dff0 0x8dc35e5b

So:
> (gdb) p *(QQmlEnginePrivate *)0xb706dff0
> $3 = {<QJSEnginePrivate> = {<QObjectPrivate> = {<QObjectData> = 
> {_vptr.QObjectData = 0x39e85356, q_ptr = 0x81ffe0f8, parent = 0x1a1265c3, 
> children = {<QListSpecialMethods<QObject*>> = {<No data fields>}, {p = {
>               static shared_null = {ref = {atomic = {_q_value = 
> std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d 
> = 0x4ec8300}, d = 0x4ec8300}}, isWidget = 1, blockSig = 1, wasDeleted = 0,
>         isDeletingChildren = 1, sendChildEvents = 0, receiveChildEvents = 0, 
> isWindow = 0, deleteLaterCalled = 1, unused = 1320052, postedEvents = 
> 1081407109, metaObject = 0x8d08ec83}, extraData = 0xed9c9483,
>       threadData = {<QBasicAtomicPointer<QThreadData>> = {_q_value = 
> std::atomic<QThreadData *> = { 0xe85650ff }}, <No data fields>}, connections 
> = {<QBasicAtomicPointer<QObjectPrivate::ConnectionData>> = {
>           _q_value = std::atomic<QObjectPrivate::ConnectionData *> = { 
> 0xffe076c8 }}, <No data fields>}, {currentChildBeingDeleted = 0x8910c483, 
> declarativeData = 0x8910c483},
>       sharedRefcount = 
> {<QBasicAtomicPointer<QtSharedPointer::ExternalRefCountData>> = {_q_value = 
> std::atomic<QtSharedPointer::ExternalRefCountData *> = { 0x24448bc2 }}, <No 
> data fields>}},
>     mutex = {<QMutex> = {<QBasicMutex> = {d_ptr = {_q_value = 
> std::atomic<QMutexData *> = { 0x75d28510 }}}, <No data fields>}, <No data 
> fields>}, uiLanguage = {d = 0x4c4830b}},
>   static baseModulesUninitialized = false, propertyCapture = 0x8dc35e5b, 
> jsExpressionGuardPool = {d = 0x90002674}, rootContext = 0x5608ec83, profiler 
> = 0x5756e850, outputWarningsToMsgLog = 224, cleanup = 0x4c48310,
>   erroredBindings = 0x8dc35e5b, inProgressCreations = -1879038348, 
> workerScriptEngine = 0xd9ebc031, baseUrl = {d = 0x26748d}, 
> activeObjectCreator = 0x53565755, networkAccessManager = 0xe0f7d7e8,
>   networkAccessManagerFactory = 0x3c381ff, imageProviders = {{d = 0x83001a12, 
> e = 0x83001a12}}, urlInterceptor = 0x748b0cec, scarceResourcesRefCount = 
> 2089493540, importDatabase = {
>     qmldirCache = {<QStringHashBase> = {<No data fields>}, data = {buckets = 
> 0xf6852024, numBuckets = -326927756, size = 1417907464, numBits = -4460}, 
> newedNodes = 0xe85650fd, nodePool = 0xffe07660},
>     filePluginPath = {<QList<QString>> = {<QListSpecialMethods<QString>> = 
> {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = 
> std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0,
>               array = {0x0}}, d = 0x8510c483}, d = 0x8510c483}}, <No data 
> fields>}, fileImportPath = {<QList<QString>> = 
> {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static 
> shared_null = {ref = {
>                 atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, 
> begin = 0, end = 0, array = {0x0}}, d = 0x833174c0}, d = 0x833174c0}}, <No 
> data fields>}, qmlDirFilesForWhichPluginsHaveBeenLoaded = {
>       q_hash = {{d = 0x838d08ec, e = 0x838d08ec}}}, initializedPlugins = 
> {q_hash = {{d = 0xffeee270, e = 0xffeee270}}}, engine = 0x49e85650}, 
> typeLoader = {m_engine = 0x83ffe076, m_thread = 0xc08510c4,
>     m_mutex = @0xec831774, m_profiler = {d = 0x94838d08}, m_networkReplies = 
> {{d = 0x50ffeee2, e = 0x50ffeee2}}, m_typeCache = {{d = 0x7632e856, e = 
> 0x7632e856}}, m_typeCacheTrimThreshold = -997982240,
>     m_scriptCache = {{d = 0x75c08510, e = 0x75c08510}}, m_qmldirCache = {{d = 
> 0x86f8d13, e = 0x86f8d13}}, m_importDirCache = {f = 0x890cc483, l = 
> 0x5f5e5be8, hash = {{
>           d = 0xb68dc35d <QMenuBar::mousePressEvent(QMouseEvent*)+29>, e = 
> 0xb68dc35d <QMenuBar::mousePressEvent(QMouseEvent*)+29>}}, mx = 0, total = 
> 1443425411},
>     m_importQmlDirCache = {<QStringHashBase> = {<No data fields>}, data = 
> {buckets = 0x56bee857, numBuckets = -997982240, size = 214205200, numBits = 
> -14967}, newedNodes = 0x5d5f5ee8, nodePool = 0x26b48dc3}},
>   offlineStoragePath = {d = 0x0}, uniqueId = 3438013745, incubatorList = 
> {__first = 0x26748d}, incubatorCount = 69485707, incubationController = 
> 0x30440c7, static qml_debugging_enabled = false,
>   networkAccessManagerMutex = {<QBasicMutex> = {d_ptr = {_q_value = 
> std::atomic<QMutexData *> = { 0xc3000000 }}}, <No data fields>}, 
> singletonInstances = {{d = 0x26748d, e = 0x26748d}}, cachedValueTypeInstances 
> = {{
>       d = 0x89565755, e = 0x89565755}}, m_compositeTypes = {{d = 0x25e853c6, 
> e = 0x25e853c6}}, static s_designerMode = false, toDeleteInEngineThread = 
> {_first = 0x81ffe0f7, _last = 0x1a1151c3, _flag = 0,
>     _count = 376848768}}

Many values/pointers are 0x8dc35e5b or -1879038348/0x90002674 or
0xc483ffe0/-997982240 or their combination. That is obviously bogus.

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

Reply via email to