https://bugs.kde.org/show_bug.cgi?id=493921
Bug ID: 493921 Summary: Assert in ~SvgItem Classification: Frameworks and Libraries Product: frameworks-ksvg Version: 6.6.0 Platform: Other OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: General Assignee: plasma-b...@kde.org Reporter: notm...@gmail.com Target Milestone: --- Plasma often crashes after selecting desktop icons on an assert on the ~SvgItem destructor, due to connections still getting triggered during the destructor. Backtrace: #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737230536896) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=140737230536896) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=140737230536896, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x00007ffff3842476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x00007ffff38287f3 in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007ffff44fdbca in qAbort() () at ./src/corelib/global/qglobal.cpp:161 #6 0x00007ffff44f875a in qt_message_fatal<QString&> (message=..., context=<optimized out>) at ./src/corelib/global/qlogging.cpp:2025 #7 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=<optimized out>, msg=<optimized out>, ap=ap@entry=0x7fffffffc890) at ./src/corelib/global/qlogging.cpp:374 #8 0x00007ffff44fe56d in QMessageLogger::fatal(char const*, ...) const (this=<optimized out>, msg=<optimized out>) at ./src/corelib/global/qlogging.cpp:889 #9 0x00007ffff44c2ce2 in qt_assert_x(char const*, char const*, char const*, int) (where=<optimized out>, what=<optimized out>, file=<optimized out>, line=<optimized out>) at ./src/corelib/global/qassert.cpp:77 #10 0x00007fff9e44f782 in QtPrivate::assertObjectType<KSvg::SvgItem>(QObject*) (o=0x555559a487a0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:129 #11 0x00007fff9e44f669 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KSvg::SvgItem::*)()>::call(void (KSvg::SvgItem::*)(), KSvg::SvgItem*, void**) (f=(void (KSvg::SvgItem::*)(class KSvg::SvgItem * const)) 0x7fff9e44c2a4 <KSvg::SvgItem::updateNeeded()>, o=0x555559a487a0, arg=0x7fffffffcb28) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:144 #12 0x00007fff9e44f620 in QtPrivate::FunctionPointer<void (KSvg::SvgItem::*)()>::call<QtPrivate::List<>, void>(void (KSvg::SvgItem::*)(), KSvg::SvgItem*, void**) (f=(void (KSvg::SvgItem::*)(class KSvg::SvgItem * const)) 0x7fff9e44c2a4 <KSvg::SvgItem::updateNeeded()>, o=0x555559a487a0, arg=0x7fffffffcb28) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:182 #13 0x00007fff9e44f51b in QtPrivate::QCallableObject<void (KSvg::SvgItem::*)(), QtPrivate::List<>, void>::impl(int,--Type <RET> for more, q to quit, c to continue without paging-- QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555556d61150, r=0x555559a487a0, a=0x7fffffffcb28, ret=0x0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:553 #14 0x00007ffff446381b in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffcb28, r=0x555559a487a0, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:469 #15 doActivate<false>(QObject*, int, void**) (sender=0x7fffe40175e0, signal_index=3, argv=0x7fffffffcb28) at ./src/corelib/kernel/qobject.cpp:4086 #16 0x00007ffff6a61751 in KSvg::Svg::repaintNeeded() (this=0x7fffe40175e0) at /home/diau/kf6/build/ksvg/src/ksvg/KF6Svg_autogen/include/moc_svg.cpp:620 #17 0x00007ffff6a6070e in KSvg::Svg::clearColorOverrides() (this=0x7fffe40175e0) at /home/diau/kf6/src/ksvg/src/ksvg/svg.cpp:1153 #18 0x00007fff9e44b0f4 in operator()() const (__closure=0x555558b4d560) at /home/diau/kf6/src/ksvg/src/declarativeimports/svgitem.cpp:60 #19 0x00007fff9e44d575 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KSvg::SvgItem::componentComplete()::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x7fffffffcda8) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:137 #20 0x00007fff9e44d50f in QtPrivate::FunctorCallable<KSvg::SvgItem::componentComplete()::<lambda()> >::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x7fffffffcda8) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:345 #21 0x00007fff9e44d432 in QtPrivate::QCallableObject<KSvg::SvgItem::componentComplete()::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x555558b4d550, r=0x555559a487a0, a=0x7fffffffcda8, ret=0x0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:555 #22 0x00007ffff446381b in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffcda8, r=0x555559a487a0, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:469 --Type <RET> for more, q to quit, c to continue without paging-- #23 doActivate<false>(QObject*, int, void**) (sender=0x5555589c45b0, signal_index=3, argv=0x7fffffffcda8) at ./src/corelib/kernel/qobject.cpp:4086 #24 0x00007fffec02d793 in Kirigami::Platform::PlatformTheme::colorsChanged() (this=0x5555589c45b0) at /home/diau/kf6/build/kirigami/src/platform/KirigamiPlatform_autogen/include/moc_platformtheme.cpp:531 #25 0x00007fffec02b74f in Kirigami::Platform::PlatformTheme::emitSignalsForChanges(int) (this=0x5555589c45b0, changes=63) at /home/diau/kf6/src/kirigami/src/platform/platformtheme.cpp:888 #26 0x00007fffec02c3c5 in Kirigami::Platform::PlatformThemeChangeTracker::~PlatformThemeChangeTracker() (this=0x7fffffffcee0, __in_chrg=<optimized out>) at /home/diau/kf6/src/kirigami/src/platform/platformtheme.cpp:1066 #27 0x00007fffec02baf9 in Kirigami::Platform::PlatformTheme::event(QEvent*) (this=0x5555589c45b0, event=0x7fffffffd020) at /home/diau/kf6/src/kirigami/src/platform/platformtheme.cpp:950 #28 0x00007fff9e23a301 in PlasmaTheme::event(QEvent*) (this=0x5555589c45b0, event=0x7fffffffd020) at /home/diau/kf6/src/libplasma/src/declarativeimports/kirigamiplasmastyle/plasmatheme.cpp:148 #29 0x00007ffff680a1ab in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5555589c45b0, e=0x7fffffffd020) at ./src/widgets/kernel/qapplication.cpp:3287 #30 0x00007ffff44a1dd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5555589c45b0, event=0x7fffffffd020) at ./src/corelib/kernel/qcoreapplication.cpp:1142 #31 0x00007fffec02bff9 in Kirigami::Platform::PlatformTheme::update() (this=0x5555589c45b0) at /home/diau/kf6/src/kirigami/src/platform/platformtheme.cpp:1007 #32 0x00007fffec03b5b4 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Kirigami::Platform::PlatformTheme::*)()>::call(void (Kirigami::Platform::PlatformTheme::*)(), Kirigami::Platform::PlatformTheme*, void**) (f=(void (Kirigami::Platform::PlatformTheme::*)(class Kirigami::Platform::PlatformTheme * const)) 0x7fffec02bb16 <Kirigami::Platform::PlatformTheme::update()>, o=0x5555589c45b0, arg=0x7fffffffd250) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:145 #33 0x00007fffec03a0ee in QtPrivate::FunctionPointer<void (Kirigami::Platform::PlatformTheme::*)()>::call<QtPrivate::List<>, void>(void (Kirigami::Platform::PlatformTheme::*)(), Kirigami::Platform::PlatformTheme*, void**) (f=(void (Kirigami::Platform::PlatformTheme::*)(class Kirigami::Platform::PlatformTheme * const)) 0x7fffec02bb16 <Kirigami::Platform::PlatformTheme::update()>, o=0x5555589c45b0, arg=0x7fffffffd250) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:182 #34 0x00007fffec03838b in QtPrivate::QCallableObject<void (Kirigami::Platform::PlatformTheme::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x5555596b29f0, r=0x5555589c45b0, a=0x7fffffffd250, ret=0x0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:553 #35 0x00007ffff446381b in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffd250, r=0x5555589c45b0, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:469 #36 doActivate<false>(QObject*, int, void**) (sender=0x555559a487a0, signal_index=15, argv=0x7fffffffd250) at ./src/corelib/kernel/qobject.cpp:4086 #37 0x00007ffff5bfa906 in QQuickItem::windowChanged(QQuickWindow*) (this=<optimized out>, _t1=<optimized out>) at ./obj-x86_64-linux-gnu/src/quick/Quick_autogen/include/moc_qquickitem.cpp:1407 #38 0x00007ffff5bece8d in QQuickItemPrivate::derefWindow() (this=this@entry=0x55555c0be4a0) at ./src/quick/items/qquickitem.cpp:3118 #39 0x00007ffff5bee3b6 in QQuickItem::setParentItem(QQuickItem*) (this=0x555559a487a0, parentItem=<optimized out>) at ./src/quick/items/qquickitem.cpp:2762 #40 0x00007ffff5bee861 in QQuickItem::~QQuickItem() (this=0x555559a487a0, this=<optimized out>) at ./src/quick/items/qquickitem.cpp:2380 #41 0x00007fff9e44ae95 in KSvg::SvgItem::~SvgItem() (this=0x555559a487a0, __in_chrg=<optimized out>) at /home/diau/kf6/src/ksvg/src/declarativeimports/svgitem.cpp:40 #42 0x00007fff9e44a72d in QQmlPrivate::QQmlElement<KSvg::SvgItem>::~QQmlElement() (this=0x555559a487a0, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtQml/qqmlprivate.h:100 #43 0x00007fff9e44a756 in QQmlPrivate::QQmlElement<KSvg::SvgItem>::~QQmlElement() (this=0x555559a487a0, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtQml/qqmlprivate.h:100 #44 0x00007ffff43fa283 in QObject::event(QEvent*) (this=0x555559a487a0, e=0x55555808ae40) at ./src/corelib/kernel/qobject.cpp:1437 #45 0x00007ffff680a1ab in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x555559a487a0, e=0x55555808ae40) at ./src/widgets/kernel/qapplication.cpp:3287 #46 0x00007ffff44a1dd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555559a487a0, event=event@entry=0x55555808ae40) at ./src/corelib/kernel/qcoreapplication.cpp:1142 #47 0x00007ffff44a1e1d in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=event@entry=0x55555808ae40) at ./src/corelib/kernel/qcoreapplication.cpp:1583 #48 0x00007ffff44a2590 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x5555557764b0) at ./src/corelib/kernel/qcoreapplication.cpp:1940 #49 0x00007ffff42641a7 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x55555586ea60) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:244 #50 0x00007ffff2d13d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #51 0x00007ffff2d692b8 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #52 0x00007ffff2d113e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #53 0x00007ffff4262700 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55555577a740, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:394 #54 0x00007ffff44a3feb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd7e0, flags=..., flags@entry=...) at ./src/corelib/global/qflags.h:34 #55 0x00007ffff44a5c2c in QCoreApplication::exec() () at ./src/corelib/global/qflags.h:74 #56 0x00005555555ac785 in main(int, char**) (argc=1, argv=0x7fffffffdc18) at /home/diau/kf6/src/plasma-workspace/shell/main.cpp:188 -- You are receiving this mail because: You are watching all bug changes.