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

--- Comment #4 from Matt Fagnani <matt.fagn...@bell.net> ---
Created attachment 164390
  --> https://bugs.kde.org/attachment.cgi?id=164390&action=edit
Valgrind log from trying to reproduce plasmashell crash by hovering over task
manager icons

I saw plasmashell crash with this type of trace in Plasma 5.90.0 when I
disabled WiFi in the Plasma NetworkManager applet then clicked off of the
applet to close it. This crash didn't usually happen when doing so.

I ran plasmashell under valgrind and reproduced the crash as before. The error
The Wayland connection broke. Did the Wayland compositor die? was shown in
Konsole so the crash might've been due to that different reason. The window
previews for konsole and other running programs weren't shown when run under
valgrind, but the popups with just their names were shown. There were many
invalid reads which looked to be buffer overreads. The ones involving
KSvg::SvgPrivate::createRenderer might be more likely to be involved with the
window preview popups. I'm attaching the valgrind log.

==8941== Invalid read of size 16
==8941==    at 0x72310E7: UnknownInlinedFun (emmintrin.h:706)
==8941==    by 0x72310E7: aeshash128_lt16 (qhash.cpp:630)
==8941==    by 0x72310E7: aeshash128(unsigned char const*, unsigned long,
unsigned long, unsigned long) (qhash.cpp:771)
==8941==    by 0x65EE59A: UnknownInlinedFun (qhash.h:57)
==8941==    by 0x65EE59A: QHashPrivate::Data<QHashPrivate::Node<QStringView,
QHashDummyValue> >::findBucket(QStringView const&) const (qhash.h:683)
==8941==    by 0x6621E99: UnknownInlinedFun (qhash.h:718)
==8941==    by 0x6621E99: QHash<QStringView, QHashDummyValue>::iterator
QHash<QStringView,
QHashDummyValue>::emplace_helper<QHashDummyValue>(QStringView&&,
QHashDummyValue&&) [clone .isra.0] (qhash.h:1335)
==8941==    by 0x65FE1D3: UnknownInlinedFun (qhash.h:1316)
==8941==    by 0x65FE1D3: UnknownInlinedFun (qset.h:158)
==8941==    by 0x65FE1D3: UnknownInlinedFun (kconfig.cpp:328)
==8941==    by 0x65FE1D3: UnknownInlinedFun (kconfigdata_p.h:252)
==8941==    by 0x65FE1D3: UnknownInlinedFun (kconfig.cpp:323)
==8941==    by 0x65FE1D3: KConfigGroup::groupList() const
(kconfiggroup.cpp:1168)
==8941==    by 0x1B8580: ShellCorona::sanitizeScreenLayout(QString const&)
[clone .isra.0] (shellcorona.cpp:694)
==8941==    by 0x175796: ShellCorona::load() (shellcorona.cpp:772)
==8941==    by 0x13DE25: UnknownInlinedFun (shellcorona.cpp:328)
==8941==    by 0x13DE25: main (main.cpp:227)
==8941==  Address 0x1b5764aa is 42 bytes inside a block of size 46 alloc'd
==8941==    at 0x484280F: malloc (vg_replace_malloc.c:442)
==8941==    by 0x73DCD10: allocateData (qarraydata.cpp:139)
==8941==    by 0x73DCD10: QArrayData::allocate(QArrayData**, long long, long
long, long long, QArrayData::AllocationOption) (qarraydata.cpp:189)
==8941==    by 0x73A3E53: allocate (qarraydata.h:105)
==8941==    by 0x73A3E53: QString::QString(long long, Qt::Initialization)
(qstring.cpp:2530)
==8941==    by 0x73BC0BE: QUtf8::convertToUnicode(QByteArrayView)
(qstringconverter.cpp:608)
==8941==    by 0x739D18D: QString::fromUtf8(QByteArrayView) (qstring.cpp:5861)
==8941==    by 0x65FD74A: UnknownInlinedFun (qstring.h:588)
==8941==    by 0x65FD74A: KConfigIniBackend::parseConfig(QByteArray const&,
KEntryMap&, QFlags<KConfigBackend::ParseOption>, bool) (kconfigini.cpp:157)
==8941==    by 0x65E7FB1: UnknownInlinedFun (kconfigini.cpp:64)
==8941==    by 0x65E7FB1: KConfigPrivate::parseConfigFiles() (kconfig.cpp:791)
==8941==    by 0x66052BE: UnknownInlinedFun (ksharedconfig.cpp:124)
==8941==    by 0x66052BE: KSharedConfig::openConfig(QString const&,
QFlags<KConfig::OpenFlag>, QStandardPaths::StandardLocation)
(ksharedconfig.cpp:89)
==8941==    by 0x1B7F0E: ShellCorona::sanitizeScreenLayout(QString const&)
[clone .isra.0] (shellcorona.cpp:683)
==8941==    by 0x175796: ShellCorona::load() (shellcorona.cpp:772)
==8941==    by 0x13DE25: UnknownInlinedFun (shellcorona.cpp:328)
==8941==    by 0x13DE25: main (main.cpp:227)
==8941== 
==8941== Invalid read of size 16
==8941==    at 0x72310E7: UnknownInlinedFun (emmintrin.h:706)
==8941==    by 0x72310E7: aeshash128_lt16 (qhash.cpp:630)
==8941==    by 0x72310E7: aeshash128(unsigned char const*, unsigned long,
unsigned long, unsigned long) (qhash.cpp:771)
==8941==    by 0x65EE59A: UnknownInlinedFun (qhash.h:57)
==8941==    by 0x65EE59A: QHashPrivate::Data<QHashPrivate::Node<QStringView,
QHashDummyValue> >::findBucket(QStringView const&) const (qhash.h:683)
==8941==    by 0x6621E99: UnknownInlinedFun (qhash.h:718)
==8941==    by 0x6621E99: QHash<QStringView, QHashDummyValue>::iterator
QHash<QStringView,
QHashDummyValue>::emplace_helper<QHashDummyValue>(QStringView&&,
QHashDummyValue&&) [clone .isra.0] (qhash.h:1335)
==8941==    by 0x65FE2C0: UnknownInlinedFun (qhash.h:1321)
==8941==    by 0x65FE2C0: UnknownInlinedFun (qset.h:158)
==8941==    by 0x65FE2C0: UnknownInlinedFun (kconfig.cpp:328)
==8941==    by 0x65FE2C0: UnknownInlinedFun (kconfigdata_p.h:252)
==8941==    by 0x65FE2C0: UnknownInlinedFun (kconfig.cpp:323)
==8941==    by 0x65FE2C0: KConfigGroup::groupList() const
(kconfiggroup.cpp:1168)
==8941==    by 0x4D502C6: Plasma::Containment::restoreContents(KConfigGroup&)
(containment.cpp:252)
==8941==    by 0x4D4FC48: Plasma::Containment::restore(KConfigGroup&)
(containment.cpp:171)
==8941==    by 0x4D584A1: Plasma::CoronaPrivate::addContainment(QString const&,
QList<QVariant> const&, unsigned int, int, bool) (corona.cpp:608)
==8941==    by 0x4D594A4: Plasma::CoronaPrivate::importLayout(KConfigGroup
const&, bool) (corona.cpp:670)
==8941==    by 0x4D59B40: Plasma::Corona::loadLayout(QString const&)
(corona.cpp:149)
==8941==    by 0x1757A1: ShellCorona::load() (shellcorona.cpp:774)
==8941==    by 0x13DE25: UnknownInlinedFun (shellcorona.cpp:328)
==8941==    by 0x13DE25: main (main.cpp:227)
==8941==  Address 0x2ae4961e is 62 bytes inside a block of size 68 alloc'd
==8941==    at 0x484280F: malloc (vg_replace_malloc.c:442)
==8941==    by 0x73DCD10: allocateData (qarraydata.cpp:139)
==8941==    by 0x73DCD10: QArrayData::allocate(QArrayData**, long long, long
long, long long, QArrayData::AllocationOption) (qarraydata.cpp:189)
==8941==    by 0x73A3E53: allocate (qarraydata.h:105)
==8941==    by 0x73A3E53: QString::QString(long long, Qt::Initialization)
(qstring.cpp:2530)
==8941==    by 0x73BC0BE: QUtf8::convertToUnicode(QByteArrayView)
(qstringconverter.cpp:608)
==8941==    by 0x739D18D: QString::fromUtf8(QByteArrayView) (qstring.cpp:5861)
==8941==    by 0x65FD74A: UnknownInlinedFun (qstring.h:588)
==8941==    by 0x65FD74A: KConfigIniBackend::parseConfig(QByteArray const&,
KEntryMap&, QFlags<KConfigBackend::ParseOption>, bool) (kconfigini.cpp:157)
==8941==    by 0x65E7FB1: UnknownInlinedFun (kconfigini.cpp:64)
==8941==    by 0x65E7FB1: KConfigPrivate::parseConfigFiles() (kconfig.cpp:791)
==8941==    by 0x66052BE: UnknownInlinedFun (ksharedconfig.cpp:124)
==8941==    by 0x66052BE: KSharedConfig::openConfig(QString const&,
QFlags<KConfig::OpenFlag>, QStandardPaths::StandardLocation)
(ksharedconfig.cpp:89)
==8941==    by 0x4D553A3: Plasma::Corona::config() const (corona.cpp:240)
==8941==    by 0x4D598F3: Plasma::Corona::loadLayout(QString const&)
(corona.cpp:147)
==8941==    by 0x1757A1: ShellCorona::load() (shellcorona.cpp:774)
==8941==    by 0x13DE25: UnknownInlinedFun (shellcorona.cpp:328)
==8941==    by 0x13DE25: main (main.cpp:227)
==8941== 
...
==8941== Invalid read of size 16
==8941==    at 0x2D93FD9E: ???
==8941==    by 0x319B76AF: ???
==8941==  Address 0x319b76be is 30 bytes inside a block of size 40 alloc'd
==8941==    at 0x484280F: malloc (vg_replace_malloc.c:442)
==8941==    by 0x73DCD10: allocateData (qarraydata.cpp:139)
==8941==    by 0x73DCD10: QArrayData::allocate(QArrayData**, long long, long
long, long long, QArrayData::AllocationOption) (qarraydata.cpp:189)
==8941==    by 0x73A3E53: allocate (qarraydata.h:105)
==8941==    by 0x73A3E53: QString::QString(long long, Qt::Initialization)
(qstring.cpp:2530)
==8941==    by 0x73BC0BE: QUtf8::convertToUnicode(QByteArrayView)
(qstringconverter.cpp:608)
==8941==    by 0x739D18D: QString::fromUtf8(QByteArrayView) (qstring.cpp:5861)
==8941==    by 0x620B70A: fromUtf8<> (qstring.h:588)
==8941==    by 0x620B70A: QQmlPropertyMapMetaObject::propertyCreated(int,
QMetaPropertyBuilder&) (qqmlpropertymap.cpp:93)
==8941==    by 0x615BF91: QQmlOpenMetaObjectType::createProperty(QByteArray
const&) (qqmlopenmetaobject.cpp:99)
==8941==    by 0x615C6AD: QQmlOpenMetaObject::createProperty(char const*, char
const*) (qqmlopenmetaobject.cpp:429)
==8941==    by 0x6176CA4: QQmlPropertyData
qQmlPropertyCacheCreate<QByteArray>(QMetaObject const*, QByteArray const&)
(qqmlpropertycache.cpp:823)
==8941==    by 0x618013C: QQmlPropertyData const*
qQmlPropertyCacheProperty<QV4::String const*>(QObject*, QV4::String const*,
QQmlRefPointer<QQmlContextData> const&, QQmlPropertyData*)
(qqmlpropertycache.cpp:884)
==8941==    by 0x5FE4BF5:
QV4::QObjectWrapper::virtualResolveLookupGetter(QV4::Object const*,
QV4::ExecutionEngine*, QV4::Lookup*) (qv4qobjectwrapper.cpp:989)
==8941==    by 0x603FD1D: QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*,
QV4::ExecutionEngine*, char const*) (qv4vme_moth.cpp:771)
==8941== 
==8941== Invalid read of size 16
==8941==    at 0x2D93FD9E: ???
==8941==    by 0x31ADFF3F: ???
==8941==  Address 0x31adff4e is 30 bytes inside a block of size 38 alloc'd
==8941==    at 0x484280F: malloc (vg_replace_malloc.c:442)
==8941==    by 0x73DCD10: allocateData (qarraydata.cpp:139)
==8941==    by 0x73DCD10: QArrayData::allocate(QArrayData**, long long, long
long, long long, QArrayData::AllocationOption) (qarraydata.cpp:189)
==8941==    by 0x73A3E53: allocate (qarraydata.h:105)
==8941==    by 0x73A3E53: QString::QString(long long, Qt::Initialization)
(qstring.cpp:2530)
==8941==    by 0x73BC0BE: QUtf8::convertToUnicode(QByteArrayView)
(qstringconverter.cpp:608)
==8941==    by 0x739D18D: QString::fromUtf8(QByteArrayView) (qstring.cpp:5861)
==8941==    by 0x620B70A: fromUtf8<> (qstring.h:588)
==8941==    by 0x620B70A: QQmlPropertyMapMetaObject::propertyCreated(int,
QMetaPropertyBuilder&) (qqmlpropertymap.cpp:93)
==8941==    by 0x615BF91: QQmlOpenMetaObjectType::createProperty(QByteArray
const&) (qqmlopenmetaobject.cpp:99)
==8941==    by 0x615C6AD: QQmlOpenMetaObject::createProperty(char const*, char
const*) (qqmlopenmetaobject.cpp:429)
==8941==    by 0x615CCBB: QQmlOpenMetaObject::setValue(QByteArray const&,
QVariant const&, bool) (qqmlopenmetaobject.cpp:338)
==8941==    by 0x620B1DE: QQmlPropertyMap::insert(QString const&, QVariant
const&) (qqmlpropertymap.cpp:208)
==8941==    by 0x37B8EC9F: UnknownInlinedFun (datasource.cpp:161)
==8941==    by 0x37B8EC9F: UnknownInlinedFun (datasource.cpp:157)
==8941==    by 0x37B8EC9F:
Plasma5Support::DataSource::qt_static_metacall(QObject*, QMetaObject::Call,
int, void**) (moc_datasource.cpp:386)
==8941==    by 0x72C5FCE: QMetaMethodInvoker::invokeImpl(QMetaMethod, void*,
Qt::ConnectionType, long long, void const* const*, char const* const*,
QtPrivate::QMetaTypeInterface const* const*) (qmetaobject.cpp:2714)
==8941== 
==8941== Invalid read of size 16
==8941==    at 0x2D93FD9E: ???
==8941==    by 0x2DACAB9F: ???
==8941==  Address 0x2dacabae is 30 bytes inside a block of size 42 alloc'd
==8941==    at 0x484280F: malloc (vg_replace_malloc.c:442)
==8941==    by 0x73DCD10: allocateData (qarraydata.cpp:139)
==8941==    by 0x73DCD10: QArrayData::allocate(QArrayData**, long long, long
long, long long, QArrayData::AllocationOption) (qarraydata.cpp:189)
==8941==    by 0x73A3E53: allocate (qarraydata.h:105)
==8941==    by 0x73A3E53: QString::QString(long long, Qt::Initialization)
(qstring.cpp:2530)
==8941==    by 0x73BC0BE: QUtf8::convertToUnicode(QByteArrayView)
(qstringconverter.cpp:608)
==8941==    by 0x739D18D: QString::fromUtf8(QByteArrayView) (qstring.cpp:5861)
==8941==    by 0x620B70A: fromUtf8<> (qstring.h:588)
==8941==    by 0x620B70A: QQmlPropertyMapMetaObject::propertyCreated(int,
QMetaPropertyBuilder&) (qqmlpropertymap.cpp:93)
==8941==    by 0x615BF91: QQmlOpenMetaObjectType::createProperty(QByteArray
const&) (qqmlopenmetaobject.cpp:99)
==8941==    by 0x615C6AD: QQmlOpenMetaObject::createProperty(char const*, char
const*) (qqmlopenmetaobject.cpp:429)
==8941==    by 0x615CCBB: QQmlOpenMetaObject::setValue(QByteArray const&,
QVariant const&, bool) (qqmlopenmetaobject.cpp:338)
==8941==    by 0x620B1DE: QQmlPropertyMap::insert(QString const&, QVariant
const&) (qqmlpropertymap.cpp:208)
==8941==    by 0x37B8EC9F: UnknownInlinedFun (datasource.cpp:161)
==8941==    by 0x37B8EC9F: UnknownInlinedFun (datasource.cpp:157)
==8941==    by 0x37B8EC9F:
Plasma5Support::DataSource::qt_static_metacall(QObject*, QMetaObject::Call,
int, void**) (moc_datasource.cpp:386)
==8941==    by 0x72C5FCE: QMetaMethodInvoker::invokeImpl(QMetaMethod, void*,
Qt::ConnectionType, long long, void const* const*, char const* const*,
QtPrivate::QMetaTypeInterface const* const*) (qmetaobject.cpp:2714)
==8941== 
==8941== Thread 22 QSGRenderThread:
==8941== Invalid read of size 16
==8941==    at 0x2D949698: ???
==8941==    by 0x38F27C6F: ???
==8941==  Address 0x38f350de is 54,398 bytes inside a block of size 54,408
alloc'd
==8941==    at 0x484280F: malloc (vg_replace_malloc.c:442)
==8941==    by 0x73DCD10: allocateData (qarraydata.cpp:139)
==8941==    by 0x73DCD10: QArrayData::allocate(QArrayData**, long long, long
long, long long, QArrayData::AllocationOption) (qarraydata.cpp:189)
==8941==    by 0x73A51BD: allocate (qarraydata.h:105)
==8941==    by 0x73A51BD: QString::fromLatin1(QByteArrayView)
(qstring.cpp:5716)
==8941==    by 0x4E22A67: UnknownInlinedFun (qstring.h:581)
==8941==    by 0x4E22A67: KSvg::SharedSvgRenderer::load(QByteArray const&,
QString const&, QHash<QString, QRectF>&) [clone .isra.0] (svg.cpp:152)
==8941==    by 0x4E1177B: UnknownInlinedFun (svg.cpp:99)
==8941==    by 0x4E1177B: KSvg::SvgPrivate::createRenderer() [clone .part.0]
(svg.cpp:694)
==8941==    by 0x4E09027: UnknownInlinedFun (svg.cpp:640)
==8941==    by 0x4E09027: KSvg::SvgPrivate::findInCache(QString const&, double,
QSizeF const&) (svg.cpp:628)
==8941==    by 0x4E09ADE: KSvg::Svg::image(QSize const&, QString const&)
(svg.cpp:922)
==8941==    by 0x301F26E7: UnknownInlinedFun (framesvgitem.cpp:120)
==8941==    by 0x301F26E7:
KSvg::FrameItemNode::FrameItemNode(KSvg::FrameSvgItem*,
QFlags<KSvg::FrameSvg::EnabledBorder>, KSvg::FrameItemNode::FitMode, QSGNode*)
(framesvgitem.cpp:110)
==8941==    by 0x301F2C26: KSvg::FrameSvgItem::updatePaintNode(QSGNode*,
QQuickItem::UpdatePaintNodeData*) (framesvgitem.cpp:606)
==8941==    by 0x5942F0B: QQuickWindowPrivate::updateDirtyNode(QQuickItem*)
(qquickwindow.cpp:2155)
==8941==    by 0x59436F3: QQuickWindowPrivate::updateDirtyNodes()
(qquickwindow.cpp:1897)
==8941==    by 0x5947973: QQuickWindowPrivate::syncSceneGraph()
(qquickwindow.cpp:545)
==8941==

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

Reply via email to