Summary: | Discover crashes in QQmlData::wasDeleted() upon press of 'settings' too soon after launching (waiting 10-15 seconds makes it not crash) | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kirigami | Reporter: | James Cain <dequire> |
Component: | general | Assignee: | Marco Martin <notmart> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | ahiemstra, airmonk, aleixpol, bugseforuns, dbruckner, gustavohenac, jmoncayo753, joseph.d.harris78, kde, lawson1961cs, lou.afonso, matt.gatto, nate, proteus5, tr4nquoc, welitonubuntu |
Priority: | VHI | Keywords: | drkonqi, regression |
Version: | 5.73.0 | ||
Target Milestone: | Not decided | ||
Platform: | Neon | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/frameworks/kirigami/commit/6eaefba5001445fa7e198e4caa0bde738240d66f | Version Fixed In: | Frameworks 5.75 or Plasma 5.20, whichever one you get first! :) |
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi New crash information added by DrKonqi |
Description
James Cain
2020-08-22 10:47:22 UTC
Created attachment 131173 [details]
New crash information added by DrKonqi
plasma-discover (5.19.4) using Qt 5.14.2
- What I was doing when the application crashed:
open app get updates. hit settings. goodbye app
-- Backtrace (Reduced):
#4 0x00007f81dd3dd907 in QQmlData::wasDeleted (object=0x562a1ec7bb90) at ../../include/QtQml/5.14.2/QtQml/private/../../../../../src/qml/qml/qqmldata_p.h:338
#5 QV4::QObjectWrapper::wrap (object=0x562a1ec7bb90, engine=0x562a1b571ff0) at jsruntime/qv4qobjectwrapper_p.h:213
#6 loadProperty (v4=0x562a1b571ff0, object=0x562a1f17f380, property=...) at jsruntime/qv4qobjectwrapper.cpp:139
#7 0x00007f81dd3dea05 in QV4::QObjectWrapper::getQmlProperty (engine=engine@entry=0x562a1b571ff0, qmlContext=qmlContext@entry=0x562a1f0e5dd0, object=0x562a1f17f380, name=0x7f81d43c5628, revisionMode=revisionMode@entry=QV4::QObjectWrapper::IgnoreRevision, hasProperty=hasProperty@entry=0x0, property=0x0) at jsruntime/qv4qobjectwrapper.cpp:388
#8 0x00007f81dd538cb3 in QV4::QQmlTypeWrapper::virtualGet (m=0x7f81d43c5618, id=..., receiver=0x7f81d43c5618, hasProperty=0x0) at ../../include/QtQml/5.14.2/QtQml/private/../../../../../src/qml/common/qv4staticvalue_p.h:325
Can reproduce. If I open the settings window right after launching, it crashes 100% of the time. If I wait a bit, it goes away. In particular, when there are available updates, if I wait until they've all loaded, visiting the settings page never crashes when going there. If I go there before or during the updates have loaded, it crashes. *** Bug 425855 has been marked as a duplicate of this bug. *** Reproduced: Better trace with extra notes: #12 0x00007ffff59bdc5a in QQmlBinding::evaluate(bool*) (this=0x555557925710, isUndefined=0x7fffffffa70e) at /home/david/projects/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:218 frame 12 is: file:///home/opt/kde5/lib/qml/org/kde/kirigami.2/ActionToolBar.qml:117:13 Frame 2, the property is #2 0x00007ffff57d3431 in loadProperty (v4=0x55555577a340, object=0x555557827c30, property=...) at /home/david/projects/qt5/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:139 139 return QV4::QObjectWrapper::wrap(v4, rv); (gdb) print object $5 = (QObject *) 0x555557827c30 (gdb) print object->metaObject() $6 = (const QMetaObject *) 0x7fffec1642d0 <ToolBarLayoutAttached::staticMetaObject> Arjen, would you mind taking a look? Thanks! iconDelegate: PrivateActionToolButton { flat: root.flat && !action.icon.color.a display: Controls.Button.IconOnly action: Kirigami.ToolBarLayout.action should it not be action: layout.action ? iconDelegate is instantiated for every action in the toolbar. ToolBarLayout in this context is an attached property that gets populated by ToolBarLayout with the action this instance is created for. So no, it should not, since there is no other way of knowing what action this instance should use. https://invent.kde.org/frameworks/kirigami/-/merge_requests/95 (Don't think the bot picked it up) I am seeing lots of recent crash reports for plasmashell which point to QQmlData::wasDeleted(). Are these related? Can you share links to them? I use a 'crash' web keyword/shortcut to search all open crash bugs that have a specific string in the comments. Anyway, here is the result: https://bugs.kde.org/buglist.cgi?bug_severity=crash&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDSINFO&longdesc=QQmlData%3A%3AwasDeleted&longdesc_type=allwordssubstr&query_format=advanced&chfieldfrom=1461d Thanks. I did a bit of triage to dupe the ones that were about the same things crashing, but beyond that, I don't see a strong pattern. :/ Git commit 6eaefba5001445fa7e198e4caa0bde738240d66f by Arjen Hiemstra. Committed on 14/09/2020 at 10:50. Pushed by ahiemstra into branch 'master'. Remove actions and delegates from ToolBarLayout when they get destroyed Otherwise we're keeping around stale entries that no longer point to valid stuff. M +12 -0 src/toolbarlayout.cpp https://invent.kde.org/frameworks/kirigami/commit/6eaefba5001445fa7e198e4caa0bde738240d66f *** Bug 426603 has been marked as a duplicate of this bug. *** *** Bug 426667 has been marked as a duplicate of this bug. *** Created attachment 131761 [details]
New crash information added by DrKonqi
plasma-discover (5.19.5) using Qt 5.15.0
- What I was doing when the application crashed: Clicking the settings option, every time I click 'Settings' in Discover the application crashes.
-- Backtrace (Reduced):
#4 0x00007fccbde7f617 in QQmlData::wasDeleted(QObject const*) (object=0x5606042ddb60) at ../../include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/qml/qqmldata_p.h:338
#5 QV4::QObjectWrapper::wrap(QV4::ExecutionEngine*, QObject*) (object=0x5606042ddb60, engine=0x560600a73590) at jsruntime/qv4qobjectwrapper_p.h:213
#6 loadProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const&) (v4=0x560600a73590, object=0x5606049281c0, property=...) at jsruntime/qv4qobjectwrapper.cpp:139
#7 0x00007fccbde806b2 in QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionEngine*, QQmlContextData*, QObject*, QV4::String*, QV4::QObjectWrapper::RevisionMode, bool*, QQmlPropertyData**) (engine=engine@entry=0x560600a73590, qmlContext=qmlContext@entry=0x560604180750, object=0x5606049281c0, name=0x7fccb4e4b628, revisionMode=revisionMode@entry=QV4::QObjectWrapper::IgnoreRevision, hasProperty=hasProperty@entry=0x0, property=0x0) at jsruntime/qv4qobjectwrapper.cpp:388
#8 0x00007fccbdff11e3 in QV4::QQmlTypeWrapper::virtualGet(QV4::Managed const*, QV4::PropertyKey, QV4::Value const*, bool*) (m=0x7fccb4e4b618, id=..., receiver=0x7fccb4e4b618, hasProperty=0x0) at ../../include/QtQml/5.15.0/QtQml/private/../../../../../src/qml/common/qv4staticvalue_p.h:325
*** Bug 426855 has been marked as a duplicate of this bug. *** *** Bug 426907 has been marked as a duplicate of this bug. *** *** Bug 427240 has been marked as a duplicate of this bug. *** Created attachment 132208 [details]
New crash information added by DrKonqi
plasma-discover (5.19.5) using Qt 5.15.1
- What I was doing when the application crashed: Trying to alter setting in discover to add additional software repositories.
- Custom settings of the application:
-- Backtrace (Reduced):
#5 0x00007f1ff532129d in QObjectData::dynamicMetaObject() const () at /usr/lib/libQt5Core.so.5
#6 0x00007f1ff532ace1 in QObject::property(char const*) const () at /usr/lib/libQt5Core.so.5
[...]
#10 0x00007f1ff6e260c6 in QQuickWindowPrivate::polishItems() () at /usr/lib/libQt5Quick.so.5
[...]
#12 0x00007f1ff6e32bb7 in QQuickWindow::event(QEvent*) () at /usr/lib/libQt5Quick.so.5
#13 0x00007f1ff632a752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
*** Bug 427360 has been marked as a duplicate of this bug. *** *** Bug 427435 has been marked as a duplicate of this bug. *** *** Bug 427562 has been marked as a duplicate of this bug. *** |