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

            Bug ID: 454846
           Summary: plasmashell crashes after removing a panel with
                    calendar plugins enabled in digital clock applet
           Product: plasmashell
           Version: master
          Platform: openSUSE RPMs
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi, regression
          Severity: crash
          Priority: NOR
         Component: Calendar
          Assignee: plasma-b...@kde.org
          Reporter: qydwhotm...@gmail.com
  Target Milestone: 1.0

SUMMARY
When there are 2 panels and both of them have digital clock applets, and at
least one calendar plugin is enabled, plasmashell will often crash after
removing a panel .


STEPS TO REPRODUCE
1. Create two default panels
2. Enable one calendar plugin
3. Remove one panel

OBSERVED RESULT
Crash

EXPECTED RESULT
No crash

ADDITIONAL INFORMATION
(gdb) bt
#0  __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x0) at
pthread_sigmask.c:43
#1  0x00007fe62ded79dd in __GI___sigprocmask (how=<optimized out>,
set=<optimized out>, oset=<optimized out>) at
../sysdeps/unix/sysv/linux/sigprocmask.c:25
#2  0x00007fe630c2a88b in KCrash::setCrashHandler(void (*)(int))
(handler=handler@entry=0x0)
    at
/usr/src/debug/kcrash-5.95.0git.20220514T104027~ee91713-ku.1.3.x86_64/src/kcrash.cpp:415
#3  0x00007fe630c2cda6 in KCrash::defaultCrashHandler(int) (sig=11) at
/usr/src/debug/kcrash-5.95.0git.20220514T104027~ee91713-ku.1.3.x86_64/src/kcrash.cpp:632
#4  0x00007fe62ded77c0 in <signal handler called> () at /lib64/libc.so.6
#5 
QList<CalendarEvents::CalendarEventsPlugin*>::QList(QList<CalendarEvents::CalendarEventsPlugin*>
const&) (l=..., this=0x7ffe01d955d0)
    at /usr/include/qt5/QtCore/qlist.h:853
#6  EventPluginsManager::plugins() const (this=0x3ce12b0) at
/mnt/data/home/qydw/Develop/KDE/Plasma/plasma-workspace/components/calendar/eventpluginsmanager.cpp:272
#7  0x00007fe5dc05c1ca in DaysModel::update() (this=0x68f4150) at
/mnt/data/home/qydw/Develop/KDE/Plasma/plasma-workspace/components/calendar/daysmodel.cpp:180
#8  DaysModel::update() (this=0x68f4150) at
/mnt/data/home/qydw/Develop/KDE/Plasma/plasma-workspace/components/calendar/daysmodel.cpp:162
#9  0x00007fe5dc05b33b in Calendar::updateData() (this=this@entry=0x68f3fe0)
    at
/mnt/data/home/qydw/Develop/KDE/Plasma/plasma-workspace/components/calendar/calendar.cpp:316
#10 0x00007fe5dc05b774 in Calendar::setFirstDayOfWeek(int) (this=0x68f3fe0,
day=<optimized out>)
    at
/mnt/data/home/qydw/Develop/KDE/Plasma/plasma-workspace/components/calendar/calendar.cpp:179
#11 0x00007fe6302c82be in QQmlPropertyData::writeProperty(QObject*, void*,
QFlags<QQmlPropertyData::WriteFlag>) const
    (flags=..., value=0x7ffe01d956ec, target=<optimized out>, this=<optimized
out>)
    at
../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/qml/qqmlpropertydata_p.h:375
#12 GenericBinding<2>::doStore<int>(int, QQmlPropertyData const*,
QFlags<QQmlPropertyData::WriteFlag>) const
    (flags=..., pd=<optimized out>, value=<optimized out>, this=0x6933c50)
    at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlbinding.cpp:342
#13 GenericBinding<2>::write(QV4::Value const&, bool,
QFlags<QQmlPropertyData::WriteFlag>) (this=0x6933c50, result=...,
isUndefined=<optimized out>, flags=...)
    at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlbinding.cpp:310
--Type <RET> for more, q to quit, c to continue without paging--c
#14 0x00007fe6302c8ea7 in
QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&,
QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) (this=0x6933c50, watcher=...,
flags=..., scope=...) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlbinding.cpp:258
#15 0x00007fe6302c6ac4 in
QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) (this=0x6933c50,
flags=...) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlbinding.cpp:194
#16 0x00007fe63026c846 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6933c50) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:723
#17 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6933ce0) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#18 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6933fe0) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#19 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6934070) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#20 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6934100) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#21 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6934190) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#22 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6934480) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#23 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6934510) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#24 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x69345a0) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#25 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6934630) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#26 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x5d608d0) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#27 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x697c0f0) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#28 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6c2a840) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#29 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=<optimized out>, expression=0x6c2a910) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#30 0x00007fe63026c831 in
QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*)
(this=this@entry=0x7fe62400c3a0, expression=0x6c2a9b0) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:720
#31 0x00007fe63026cfe6 in QQmlContextData::refreshExpressionsRecursive(bool)
(this=0x7fe62400c3a0, isGlobal=false) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:752
#32 0x00007fe63026d080 in QQmlContextData::refreshExpressionsRecursive(bool)
(this=0x7fe62400dfc0, isGlobal=<optimized out>) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:762
#33 0x00007fe63026d0e7 in QQmlContextData::refreshExpressionsRecursive(bool)
(this=0x3b18a10, isGlobal=<optimized out>) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:742
#34 0x00007fe63026d2f1 in QQmlContextData::refreshExpressions()
(this=<optimized out>) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlcontext.cpp:800
#35 0x00007fe63024ffd8 in QQmlEngine::retranslate() (this=<optimized out>) at
/usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-ku.2.1.x86_64/src/qml/qml/qqmlengine.cpp:1430
#36 0x00007fe62e6ec28e in QObject::event(QEvent*) (this=0x267c910,
e=0x7fe618a3d0d0) at kernel/qobject.cpp:1314
#37 0x00007fe62f460b0f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x267c910, e=0x7fe618a3d0d0) at
kernel/qapplication.cpp:3632
#38 0x00007fe62e6bfb5a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x267c910, event=0x7fe618a3d0d0) at kernel/qcoreapplication.cpp:1064
#39 0x00007fe62e6c2b97 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=0x0, event_type=0, data=0x22fa9a0) at
kernel/qcoreapplication.cpp:1821
#40 0x00007fe62e717c33 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x2406760) at kernel/qeventdispatcher_glib.cpp:277
#41 0x00007fe62ca42ea0 in g_main_dispatch (context=0x7fe624005010) at
../glib/gmain.c:3417
#42 g_main_context_dispatch (context=0x7fe624005010) at ../glib/gmain.c:4135
#43 0x00007fe62ca43258 in g_main_context_iterate
(context=context@entry=0x7fe624005010, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4211
#44 0x00007fe62ca432ec in g_main_context_iteration (context=0x7fe624005010,
may_block=1) at ../glib/gmain.c:4276
#45 0x00007fe62e7172b4 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x240c720, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#46 0x00007fe62e6be55b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7ffe01d96040, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#47 0x00007fe62e6c6820 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#48 0x00007fe62eb1061c in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1867
#49 0x00007fe62f460a85 in QApplication::exec() () at
kernel/qapplication.cpp:2824
#50 0x0000000000423714 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at
/mnt/data/home/qydw/Develop/KDE/Plasma/plasma-workspace/shell/main.cpp:240

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

Reply via email to