Bug 474868 - Plasma crashes in ShellCorona::screenInvariants() when waking from sleep
Summary: Plasma crashes in ShellCorona::screenInvariants() when waking from sleep
Status: RESOLVED DUPLICATE of bug 468430
Alias: None
Product: plasmashell
Classification: Plasma
Component: Desktop Containment (show other bugs)
Version: 5.27.7
Platform: Debian testing Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: multiscreen
Depends on:
Blocks:
 
Reported: 2023-09-25 17:46 UTC by sophi
Modified: 2024-01-11 16:07 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
kcrash (475.09 KB, text/vnd.kde.kcrash-report)
2023-09-25 17:46 UTC, sophi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description sophi 2023-09-25 17:46:35 UTC
Created attachment 161864 [details]
kcrash

SUMMARY
Plasma crashes when recovering from sleep state.
Also if it doesn't crash, it often doesn't recognizes monitors and breaks the monitor position settings badly.


STEPS TO REPRODUCE
1. Wake up from sleep state

OBSERVED RESULT
Crash

EXPECTED RESULT
Not crash ? :)

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.27.7
KDE Frameworks Version: 5.107.0 
Qt Version: 5.15.10


ADDITIONAL INFORMATION
Using wayland, don't know what data to attach
kcrash that the software complains that it isn't valuable due to lack of symbols, that I tried hard to add (dev packages and debuginfod) but it didn't work

Attaching debian packages versions that feels to me to be important here.
dpkg -l | grep -i -e plasma -e radeon -e qt | awk '{print $2, $3 ;}'

breeze 4:5.27.7-1
breeze-cursor-theme 4:5.27.7-1
breeze-icon-theme 4:5.107.0-1
drkonqi 5.27.7-1
haruna 0.12.0-1
kde-plasma-desktop 5:144
kde-style-breeze 4:5.27.7-1
kde-style-oxygen-qt5 4:5.27.7-1
kimageformat-plugins 5.107.0-3
konsole-kpart 4:22.12.3-1
kup-backup 0.9.1-1+b3
kwayland-data 4:5.107.0-1
layer-shell-qt 5.27.7-1
libaccounts-qt5-1:amd64 1.16-2
libappstreamqt2:amd64 0.16.3-1
libcolorcorrect5 4:5.27.7-2
libdbusmenu-qt5-2:amd64 0.9.3+16.04.20160218-2+b1
libdrm-radeon1:amd64 2.4.115-1
libdrm-radeon1:i386 2.4.115-1
libgrantlee-templates5:amd64 5.2.0-5
libgsettings-qt1:amd64 0.2-5
libkcolorpicker0:amd64 0.2.0-1
libkdsoap1:amd64 1.9.1+dfsg-5
libkf5archive5:amd64 5.107.0-1
libkf5attica5:amd64 5.107.0-1
libkf5bluezqt-data 5.107.0-1
libkf5bluezqt6:amd64 5.107.0-1
libkf5bookmarks-data 5.107.0-1
libkf5bookmarks5:amd64 5.107.0-1
libkf5config-bin 5.107.0-1
libkf5config-data 5.107.0-1
libkf5config-dev:amd64 5.107.0-1
libkf5config-dev-bin 5.107.0-1
libkf5config-doc 5.107.0-1
libkf5configcore5:amd64 5.107.0-1
libkf5configgui5:amd64 5.107.0-1
libkf5configqml5:amd64 5.107.0-1
libkf5coreaddons-data 5.107.0-1
libkf5coreaddons-dev:amd64 5.107.0-1
libkf5coreaddons-dev-bin 5.107.0-1
libkf5coreaddons-doc 5.107.0-1
libkf5coreaddons5:amd64 5.107.0-1
libkf5dbusaddons-bin 5.107.0-1
libkf5dbusaddons-data 5.107.0-1
libkf5dbusaddons-doc 5.107.0-1
libkf5dbusaddons5:amd64 5.107.0-1
libkf5guiaddons-bin 5.107.0-1
libkf5guiaddons-data 5.107.0-1
libkf5guiaddons5:amd64 5.107.0-1
libkf5itemmodels-dev 5.107.0-1
libkf5itemmodels-doc 5.107.0-1
libkf5itemmodels5:amd64 5.107.0-1
libkf5itemviews-data 5.107.0-1
libkf5itemviews5:amd64 5.107.0-1
libkf5js5:amd64 5.107.0-1
libkf5kexiv2-15.0.0:amd64 23.04.2-2
libkf5kirigami2-5 5.107.0-1+b1
libkf5modemmanagerqt6:amd64 5.107.0-1
libkf5networkmanagerqt6 5.107.0-1
libkf5plasma-dev 5.107.0-1
libkf5plasma-doc 5.107.0-1
libkf5plasma5:amd64 5.107.0-1
libkf5plasmaquick5:amd64 5.107.0-1
libkf5prison5:amd64 5.107.0-1
libkf5prisonscanner5:amd64 5.107.0-1
libkf5pulseaudioqt3:amd64 1.3-2+b1
libkf5solid5:amd64 5.107.0-1
libkf5solid5-data 5.107.0-1
libkf5sonnet5-data 5.107.0-1
libkf5sonnetcore5:amd64 5.107.0-1
libkf5sonnetui5:amd64 5.107.0-1
libkf5threadweaver5:amd64 5.107.0-1
libkf5wayland-doc 4:5.107.0-1
libkf5waylandclient5:amd64 4:5.107.0-1+b1
libkf5waylandserver5:amd64 4:5.107.0-1+b1
libkf5widgetsaddons-data 5.107.0-1
libkf5widgetsaddons5:amd64 5.107.0-1
libkworkspace5-5 4:5.27.7-2
liblastfm5-1:amd64 1.1.0-5
liblayershellqtinterface5 5.27.7-1
libmygpo-qt5-1:amd64 1.1.0-4.1
libnotificationmanager1 4:5.27.7-2
libpackagekitqt5-1:amd64 1.1.1-1
libphonon4qt5-4:amd64 4:4.11.1-4
libphonon4qt5-data 4:4.11.1-4
libplasma-geolocation-interface5 4:5.27.7-2
libpolkit-qt5-1-1:amd64 0.114.0-2
libpoppler-qt5-1:amd64 22.12.0-2+b1
libpyside2-py3-5.15 5.15.10-3
libqaccessibilityclient-qt5-0:amd64 0.4.1-1+b1
libqca-qt5-2:amd64 2.3.7-1
libqca-qt5-2-plugins:amd64 2.3.7-1
libqt5concurrent5:amd64 5.15.10+dfsg-3
libqt5core5a:amd64 5.15.10+dfsg-3
libqt5dbus5:amd64 5.15.10+dfsg-3
libqt5designer5:amd64 5.15.10-3
libqt5gui5:amd64 5.15.10+dfsg-3
libqt5help5:amd64 5.15.10-3
libqt5multimedia5:amd64 5.15.10-2
libqt5multimedia5-plugins:amd64 5.15.10-2
libqt5multimediagsttools5:amd64 5.15.10-2
libqt5multimediaquick5:amd64 5.15.10-2
libqt5multimediawidgets5:amd64 5.15.10-2
libqt5network5:amd64 5.15.10+dfsg-3
libqt5networkauth5:amd64 5.15.10-2
libqt5opengl5:amd64 5.15.10+dfsg-3
libqt5opengl5-dev:amd64 5.15.10+dfsg-3
libqt5positioning5:amd64 5.15.10+dfsg-3
libqt5printsupport5:amd64 5.15.10+dfsg-3
libqt5qml5:amd64 5.15.10+dfsg-2
libqt5qmlmodels5:amd64 5.15.10+dfsg-2
libqt5qmlworkerscript5:amd64 5.15.10+dfsg-2
libqt5quick5:amd64 5.15.10+dfsg-2
libqt5quickcontrols2-5:amd64 5.15.10+dfsg-2
libqt5quickparticles5:amd64 5.15.10+dfsg-2
libqt5quickshapes5:amd64 5.15.10+dfsg-2
libqt5quicktemplates2-5:amd64 5.15.10+dfsg-2
libqt5quicktest5:amd64 5.15.10+dfsg-2
libqt5quickwidgets5:amd64 5.15.10+dfsg-2
libqt5script5:amd64 5.15.10+dfsg-2
libqt5scripttools5:amd64 5.15.10+dfsg-2
libqt5sensors5:amd64 5.15.10-2
libqt5sql5:amd64 5.15.10+dfsg-3
libqt5sql5-sqlite:amd64 5.15.10+dfsg-3
libqt5svg5:amd64 5.15.10-2
libqt5test5:amd64 5.15.10+dfsg-3
libqt5texttospeech5:amd64 5.15.10-2
libqt5virtualkeyboard5:amd64 5.15.10+dfsg-2
libqt5waylandclient5:amd64 5.15.10-2
libqt5waylandcompositor5:amd64 5.15.10-2
libqt5webchannel5:amd64 5.15.10-2
libqt5webengine-data 5.15.14+dfsg-6
libqt5webengine5:amd64 5.15.14+dfsg-6
libqt5webenginecore5:amd64 5.15.14+dfsg-6
libqt5webenginewidgets5:amd64 5.15.14+dfsg-6
libqt5webkit5:amd64 5.212.0~alpha4-33
libqt5webview5:amd64 5.15.10-2
libqt5widgets5:amd64 5.15.10+dfsg-3
libqt5x11extras5:amd64 5.15.10-2
libqt5xml5:amd64 5.15.10+dfsg-3
libqt5xmlpatterns5:amd64 5.15.10-2
libqt6core6:amd64 6.4.2+dfsg-18
libqt6dbus6:amd64 6.4.2+dfsg-18
libqt6gui6:amd64 6.4.2+dfsg-18
libqt6network6:amd64 6.4.2+dfsg-18
libqt6opengl6:amd64 6.4.2+dfsg-18
libqt6qml6:amd64 6.4.2+dfsg-3
libqt6qmlmodels6:amd64 6.4.2+dfsg-3
libqt6quick6:amd64 6.4.2+dfsg-3
libqt6sql6:amd64 6.4.2+dfsg-18
libqt6sql6-sqlite:amd64 6.4.2+dfsg-18
libqt6svg6:amd64 6.4.2-4
libqt6waylandclient6:amd64 6.4.2-3
libqt6waylandcompositor6:amd64 6.4.2-3
libqt6waylandeglclienthwintegration6:amd64 6.4.2-3
libqt6waylandeglcompositorhwintegration6:amd64 6.4.2-3
libqt6widgets6:amd64 6.4.2+dfsg-18
libqt6wlshellintegration6:amd64 6.4.2-3
libqt6xml6:amd64 6.4.2+dfsg-18
libsignon-qt5-1:amd64 8.61-1
libsoqt520 1.6.0+ds1-3
libtaskmanager6abi1 4:5.27.7-2
libweather-ion7 4:5.27.7-2
phonon4qt5:amd64 4:4.11.1-4
phonon4qt5-backend-vlc:amd64 0.11.3-1
plasma-browser-integration 5.27.7-1
plasma-desktop 4:5.27.7.1-1
plasma-desktop-data 4:5.27.7.1-1
plasma-desktop-dev 4:5.27.7.1-1
plasma-discover 5.27.7-1
plasma-discover-backend-fwupd 5.27.7-1
plasma-discover-common 5.27.7-1
plasma-disks 5.27.7-1
plasma-framework 5.107.0-1
plasma-integration 5.27.7-1
plasma-kdevelop 4:22.12.2-2
plasma-nm 4:5.27.7-1
plasma-pa 4:5.27.7-1
plasma-systemmonitor 5.27.7-1
plasma-thunderbolt 5.27.7-1
plasma-vault 5.27.7-1
plasma-workspace 4:5.27.7-2
plasma-workspace-data 4:5.27.7-2
plasma-workspace-dev 4:5.27.7-2
plasma-workspace-wayland 4:5.27.7-2
python3-pyqt5 5.15.9+dfsg-2
python3-pyqt5.sip 12.12.2-1
python3-pyside2.qtcore 5.15.10-3
python3-pyside2.qtgui 5.15.10-3
python3-pyside2.qtnetwork 5.15.10-3
python3-pyside2.qtopengl 5.15.10-3
python3-pyside2.qtprintsupport 5.15.10-3
python3-pyside2.qtsvg 5.15.10-3
python3-pyside2.qtuitools 5.15.10-3
python3-pyside2.qtwebchannel 5.15.10-3
python3-pyside2.qtwebengine 5.15.10-3
python3-pyside2.qtwebenginecore 5.15.10-3
python3-pyside2.qtwebenginewidgets 5.15.10-3
python3-pyside2.qtwidgets 5.15.10-3
python3-pyside2.qtxml 5.15.10-3
qbittorrent 4.5.5-1
qdbus-qt5 5.15.10-3
qml-module-org-kde-bluezqt:amd64 5.107.0-1
qml-module-org-kde-kirigami2 5.107.0-1+b1
qml-module-org-kde-kitemmodels:amd64 5.107.0-1
qml-module-org-kde-ksysguard 4:5.27.7-1
qml-module-org-kde-prison:amd64 5.107.0-1
qml-module-org-kde-qqc2desktopstyle 5.107.0-1
qml-module-org-kde-solid:amd64 5.107.0-1
qml-module-org-kde-sonnet:amd64 5.107.0-1
qml-module-qt-labs-folderlistmodel:amd64 5.15.10+dfsg-2
qml-module-qt-labs-platform:amd64 5.15.10+dfsg-2
qml-module-qt-labs-qmlmodels:amd64 5.15.10+dfsg-2
qml-module-qt-labs-settings:amd64 5.15.10+dfsg-2
qml-module-qtgraphicaleffects:amd64 5.15.10-2
qml-module-qtmultimedia:amd64 5.15.10-2
qml-module-qtqml:amd64 5.15.10+dfsg-2
qml-module-qtqml-models2:amd64 5.15.10+dfsg-2
qml-module-qtquick-controls:amd64 5.15.10-2
qml-module-qtquick-controls2:amd64 5.15.10+dfsg-2
qml-module-qtquick-dialogs:amd64 5.15.10-2
qml-module-qtquick-layouts:amd64 5.15.10+dfsg-2
qml-module-qtquick-particles2:amd64 5.15.10+dfsg-2
qml-module-qtquick-privatewidgets:amd64 5.15.10-2
qml-module-qtquick-shapes:amd64 5.15.10+dfsg-2
qml-module-qtquick-templates2:amd64 5.15.10+dfsg-2
qml-module-qtquick-virtualkeyboard:amd64 5.15.10+dfsg-2
qml-module-qtquick-window2:amd64 5.15.10+dfsg-2
qml-module-qtquick-xmllistmodel:amd64 5.15.10-2
qml-module-qtquick2:amd64 5.15.10+dfsg-2
qml-module-qtwebengine:amd64 5.15.14+dfsg-6
qml-module-qtwebkit:amd64 5.212.0~alpha4-33
qt5-gtk-platformtheme:amd64 5.15.10+dfsg-3
qt5-qmake:amd64 5.15.10+dfsg-3
qt5-qmake-bin 5.15.10+dfsg-3
qt5-qmltooling-plugins:amd64 5.15.10+dfsg-2
qt6-gtk-platformtheme:amd64 6.4.2+dfsg-18
qt6-qpa-plugins:amd64 6.4.2+dfsg-18
qt6-translations-l10n 6.4.2-1
qt6-wayland:amd64 6.4.2-3
qtbase5-dev:amd64 5.15.10+dfsg-3
qtbase5-dev-tools 5.15.10+dfsg-3
qtchooser 66-2
qtdeclarative5-dev:amd64 5.15.10+dfsg-2
qtdeclarative5-dev-tools 5.15.10+dfsg-2
qtscript5-dev:amd64 5.15.10+dfsg-2
qtspeech5-speechd-plugin:amd64 5.15.10-2
qttranslations5-l10n 5.15.10-2
qtwayland5:amd64 5.15.10-2
software-properties-qt 0.99.30-4
sonnet-plugins:amd64 5.107.0-1
vlc-plugin-qt:amd64 3.0.18-4+b1
wireshark-qt 4.0.8-1
xdg-desktop-portal-kde 5.27.7-1
xserver-xorg-video-radeon 1:19.1.0-3
Comment 1 Nate Graham 2023-09-28 16:02:02 UTC
Thread 1 (Thread 0x7fecab41a9c0 (LWP 2642)):
[KCrash Handler]
#5  0x000055f77e167560 in  ()
#6  0x000055f77e182c83 in  ()
#7  0x00007fecb00fba32 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fecb00ff85a in QTimer::timeout(QTimer::QPrivateSignal) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fecb00ef30b in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fecb0f62d2e in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007fecb00c30d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007fecb011bcc9 in QTimerInfoList::activateTimers() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007fecb011c574 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007fecaead6184 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007fecaead92a7 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007fecaead98c0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007fecb011c8d6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007fecb00c1b7b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007fecb00ca020 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x000055f77e155da0 in  ()
#21 0x00007fecaf8456ca in __libc_start_call_main (main=main@entry=0x55f77e154ec0, argc=argc@entry=2, argv=argv@entry=0x7ffe764d9728) at ../sysdeps/nptl/libc_start_call_main.h:58
#22 0x00007fecaf845785 in __libc_start_main_impl (main=0x55f77e154ec0, argc=2, argv=0x7ffe764d9728, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe764d9718) at ../csu/libc-start.c:360
#23 0x000055f77e155eb1 in  ()

Nothing in here looks actionable from our side, but I do see something odd in the full backtrace; plasmashell has opened 173 threads at the time of the crash. That seems excessive.
Comment 2 sophi 2023-10-02 03:31:00 UTC
Is there something I can do to help to solve the issue?
I feel it might be related to multi-monitor setup, particularly display port 4K monitor that has another monitor connected to it (display port carries two signals).
So when system wakes up from suspend (either monitor off or from S3 I think), plasma often crashes. 

I don't know why in the stack trace the same .so library method sometimes is resolved and sometimes is not.
Comment 3 sophi 2023-10-02 04:15:03 UTC
I got another crash (I get them about 10 a day :) )
Opened it myself with gdb and it got MUCH more information

(gdb) bt
#0  __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x0) at ./nptl/pthread_sigmask.c:43
#1  0x00007f830585a6f9 in __GI___sigprocmask (how=<optimized out>, set=<optimized out>, oset=<optimized out>) at ../sysdeps/unix/sysv/linux/sigprocmask.c:25
#2  0x00007f83082bfe9b in KCrash::setCrashHandler(void (*)(int)) (handler=handler@entry=0x0) at ./src/kcrash.cpp:414
#3  0x00007f83082c0b3e in KCrash::defaultCrashHandler(int) (sig=11) at ./src/kcrash.cpp:625
#4  0x00007f830585a510 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#5  QWeakPointer<QObject>::internalData() const (this=0x60) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:702
#6  QPointer<QScreen>::data() const (this=0x60) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qpointer.h:77
#7  QPointer<QScreen>::operator QScreen*() const (this=0x60) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qpointer.h:83
#8  DesktopView::screenToFollow() const (this=0x0) at ./shell/desktopview.cpp:123
#9  0x0000561f18fb26d3 in ShellCorona::screenInvariants() const (this=0x7f82f0004bd0) at ./shell/shellcorona.cpp:828
#10 0x00007f83060fba32 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff4317a890, r=0x7f82f0004bd0, this=0x561f1b26ac40) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#11 doActivate<false>(QObject*, int, void**) (sender=0x7f82f0004cf8, signal_index=3, argv=0x7fff4317a890) at kernel/qobject.cpp:3925
#12 0x00007f83060f454f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7f83063632e0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff4317a890) at kernel/qobject.cpp:3985
#13 0x00007f83060ff85a in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#14 0x00007f83060ef30b in QObject::event(QEvent*) (this=0x7f82f0004cf8, e=0x7fff4317a9e0) at kernel/qobject.cpp:1369
#15 0x00007f8306f62d2e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7f82f0004cf8, e=0x7fff4317a9e0) at kernel/qapplication.cpp:3640
#16 0x00007f83060c30d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7f82f0004cf8, event=0x7fff4317a9e0) at kernel/qcoreapplication.cpp:1064
#17 0x00007f83060c329e in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#18 0x00007f830611bcc9 in QTimerInfoList::activateTimers() (this=0x561f1af03d40) at kernel/qtimerinfo_unix.cpp:643
#19 0x00007f830611c574 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#20 0x00007f8304a6d1b4 in g_main_dispatch (context=context@entry=0x561f1af04ad0) at ../../../glib/gmain.c:3476
#21 0x00007f8304a702d7 in g_main_context_dispatch_unlocked (context=0x561f1af04ad0) at ../../../glib/gmain.c:4284
#22 g_main_context_iterate_unlocked (context=context@entry=0x561f1af04ad0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4349
#23 0x00007f8304a708f0 in g_main_context_iteration (context=0x561f1af04ad0, may_block=1) at ../../../glib/gmain.c:4414
#24 0x00007f830611c8d6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x561f1af03e80, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#25 0x00007f83060c1b7b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff4317ac20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#26 0x00007f83060ca020 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#27 0x00007f830653258c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1863
#28 0x00007f8306f62ca5 in QApplication::exec() () at kernel/qapplication.cpp:2832
#29 0x0000561f18f82db4 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:235


(gdb) print *(class ShellCorona*)0x7f82f0004bd0
$1 = {<Plasma::Corona> = {<QObject> = {_vptr.QObject = 0x561f190154c0 <vtable for ShellCorona+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f83062969c0 <qt_meta_stringdata_QObject>, data = 0x7f83062968a0 <qt_meta_data_QObject>, static_metacall = 0x7f83060f9910 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x561f1b26b7f0}, static staticQtMetaObject = {
        d = {superdata = {direct = 0x0}, stringdata = 0x7f8306299960 <qt_meta_stringdata_Qt>, data = 0x7f8306296ae0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f830635a180 <QObject::staticMetaObject>}, stringdata = 0x7f83084def80 <qt_meta_stringdata_Plasma__Corona>, data = 0x7f83084dec20 <qt_meta_data_Plasma__Corona>, 
        static_metacall = 0x7f83084894a0 <Plasma::Corona::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x561f1b269370}, <QDBusContext> = {d_ptr = 0x0}, static staticMetaObject = {d = {superdata = {direct = 0x7f83084fec80 <Plasma::Corona::staticMetaObject>}, stringdata = 0x561f18ff9960 <qt_meta_stringdata_ShellCorona>, data = 0x561f18ff9360 <qt_meta_data_ShellCorona>, 
      static_metacall = 0x561f18fbde10 <ShellCorona::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_config = {d = 0x561f1b2ae890}, m_configPath = {d = 0x561f1b406d10}, m_accentColorConfigWatcher = {value = 0x561f1b352830, d = 0x561f1b2e8f50}, m_accentColorFromWallpaperEnabled = false, m_fakeColorRequestConn = {d_ptr = 0x0}, m_screenPool = 0x561f1b2a3a60, m_shell = {d = 0x561f1b26a560}, 
  m_activityController = 0x561f1b2988a0, m_panelViews = {d = 0x561f1cbc5c10}, m_desktopViewForScreen = {{d = 0x561f1bc90540, e = 0x561f1bc90540}}, m_pendingScreenChanges = {{d = 0x7f83061ba0c0 <QHashData::shared_null>, e = 0x7f83061ba0c0 <QHashData::shared_null>}}, m_desktopDefaultsConfig = {<KConfigBase> = {_vptr.KConfigBase = 0x7f8307b035e0 <vtable for KConfigGroup+16>}, d = {d = 0x561f1b26a960}}, m_lnfDefaultsConfig = {<KConfigBase> = {
      _vptr.KConfigBase = 0x7f8307b035e0 <vtable for KConfigGroup+16>}, d = {d = 0x561f1b2f6b30}}, m_waitingPanels = {<QListSpecialMethods<Plasma::Containment*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = std::atomic<int> = { -1 }}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f83061ba120 <QListData::shared_null>}, d = 0x7f83061ba120 <QListData::shared_null>}}, m_activityContainmentPlugins = {{d = 0x561f1bc902b0, 
      e = 0x561f1bc902b0}}, m_addPanelAction = 0x561f1b43ffc0, m_addPanelsMenu = std::unique_ptr<QMenu> = {get() = 0x561f1b3c04c0}, m_lookAndFeelPackage = {_vptr.Package = 0x7f83083cb3c8 <vtable for KPackage::Package+16>, d = {d = 0x561f1b0cb0d0}}, m_shellSurface = 0x0, m_previousWId = 0, m_blockRestorePreviousWindow = false, m_waitingPanelsTimer = {<QObject> = {_vptr.QObject = 0x7f8306363280 <vtable for QTimer+16>, static staticMetaObject = {d = {superdata = {
            direct = 0x0}, stringdata = 0x7f83062969c0 <qt_meta_stringdata_QObject>, data = 0x7f83062968a0 <qt_meta_data_QObject>, static_metacall = 0x7f83060f9910 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x561f1b2ab010}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f8306299960 <qt_meta_stringdata_Qt>, data = 0x7f8306296ae0 <qt_meta_data_Qt>, 
          static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f830635a180 <QObject::staticMetaObject>}, stringdata = 0x7f83062a5ec0 <qt_meta_stringdata_QTimer>, data = 0x7f83062a5de0 <qt_meta_data_QTimer>, static_metacall = 0x7f83060ffc40 <QTimer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, id = -1, inter = 250, del = 0, single = 1, 
    nulltimer = 0, type = 1}, m_appConfigSyncTimer = {<QObject> = {_vptr.QObject = 0x7f8306363280 <vtable for QTimer+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f83062969c0 <qt_meta_stringdata_QObject>, data = 0x7f83062968a0 <qt_meta_data_QObject>, static_metacall = 0x7f83060f9910 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x561f1b2ab070}, 
      static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f8306299960 <qt_meta_stringdata_Qt>, data = 0x7f8306296ae0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f830635a180 <QObject::staticMetaObject>}, stringdata = 0x7f83062a5ec0 <qt_meta_stringdata_QTimer>, data = 0x7f83062a5de0 <qt_meta_data_QTimer>, 
        static_metacall = 0x7f83060ffc40 <QTimer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, id = -1, inter = 10000, del = 0, single = 1, nulltimer = 0, type = 1}, m_invariantsTimer = {<QObject> = {_vptr.QObject = 0x7f8306363280 <vtable for QTimer+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f83062969c0 <qt_meta_stringdata_QObject>, 
          data = 0x7f83062968a0 <qt_meta_data_QObject>, static_metacall = 0x7f83060f9910 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x561f1b2ab0d0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f8306299960 <qt_meta_stringdata_Qt>, data = 0x7f8306296ae0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, 
    static staticMetaObject = {d = {superdata = {direct = 0x7f830635a180 <QObject::staticMetaObject>}, stringdata = 0x7f83062a5ec0 <qt_meta_stringdata_QTimer>, data = 0x7f83062a5de0 <qt_meta_data_QTimer>, static_metacall = 0x7f83060ffc40 <QTimer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, id = -1, inter = 250, del = 0, single = 1, nulltimer = 0, type = 1}, m_waylandPlasmaShell = 0x561f1b2f8810, 
  m_waylandWindowManagement = 0x561f1b2e3f50, m_previousPlasmaWindow = {wp = {d = 0x0, value = 0x0}}, m_closingDown = false, m_screenReorderInProgress = false, m_testModeLayout = {d = 0x7f83061b9800 <QArrayData::shared_null>}, m_strutManager = 0x561f1b2aff00, m_shellContainmentConfig = {wp = {d = 0x0, value = 0x0}}}
Comment 4 Nate Graham 2023-10-02 04:22:21 UTC
Thanks for that gdb backtrace, it was much more helpful. There's good news and bad news. The good news is that the backtrace shown there is a known crash that's already been fixed! See 468430.

The bad news is that it was supposed to be fixed in 5.27.5, and you're using 5.27.7. That leaves a few options for why you might still be seeing it:
1. I've mis-identified the crash and it's not actually Bug 468430
2. Debian made a packaging boo-boo and either isn't including the commits that fixed the crash (https://invent.kde.org/plasma/plasma-workspace/-/commit/acbc7234937027a6cf98b173517136d4bdbdfe94 and https://invent.kde.org/plasma/plasma-workspace/-/commit/9bea46b09e5d407697dc2cb660e72e0d538d482f) or is somehow re-introducing it with local patching of some kind
3. Bug 468430 isn't fully fixed, and you've found a new way to trigger it.

For now I think #1 and #2 are the most likely scenario, but I judge #2 to be likelier at this point in time. At least, it's something we should rule out. Can you contact the Debian folks about it? Thanks a lot!
Comment 5 sophi 2023-10-02 11:34:39 UTC
Thanks
I will try to contact package maintainer, never done this before

I tried gdb to tell me and I believe i ScreenPool::reconsiderOutputOrder might call m_outputOrderWatcher->refresh.
I believe it calls it from vtable here:
   0x0000561f18fcde07 <+39>:    call   *0x60(%rax)

0x60 is 96, in x86_64 pointer is 8 bytes long, so 96/8 = 12 and the refresh method is 12 in vtable (13 to be exact because it's starts from 0, but that doesn't matter here, since the address 0x0 is element 0 and so on)
[12]: 0x561f18fa7580 <WaylandOutputOrderWatcher::refresh()>
However this is my first time analyzing vtables, so I might be wrong.


Also from crashed ShellCorona I extracted OutputOrderWatcher object and the refresh method seems to indicate that it's WaylandOutputOrderWatcher but the commit was for X11OutputOrderWatcher refresh method.
Missed impact perhaps?

[12]: 0x561f18fa7580 <WaylandOutputOrderWatcher::refresh()>

--------------------------- (first commit)
disassemble ScreenPool::reconsiderOutputOrder
Dump of assembler code for function _ZN10ScreenPool21reconsiderOutputOrderEv:
   0x0000561f18fcdde0 <+0>:     endbr64
   0x0000561f18fcdde4 <+4>:     push   %rbp
   0x0000561f18fcdde5 <+5>:     push   %rbx
   0x0000561f18fcdde6 <+6>:     mov    %rdi,%rbx
   0x0000561f18fcdde9 <+9>:     sub    $0x18,%rsp
   0x0000561f18fcdded <+13>:    mov    0x38(%rdi),%rdi
   0x0000561f18fcddf1 <+17>:    mov    %fs:0x28,%rax
   0x0000561f18fcddfa <+26>:    mov    %rax,0x8(%rsp)
   0x0000561f18fcddff <+31>:    xor    %eax,%eax
   0x0000561f18fcde01 <+33>:    mov    %rsp,%rbp
   0x0000561f18fcde04 <+36>:    mov    (%rdi),%rax
   0x0000561f18fcde07 <+39>:    call   *0x60(%rax)
   0x0000561f18fcde0a <+42>:    mov    0x38(%rbx),%rsi
   0x0000561f18fcde0e <+46>:    mov    %rbp,%rdi
   0x0000561f18fcde11 <+49>:    call   0x561f18fa6cd0 <_ZNK18OutputOrderWatcher11outputOrderEv>
   0x0000561f18fcde16 <+54>:    mov    %rbx,%rdi
   0x0000561f18fcde19 <+57>:    mov    %rbp,%rsi
   0x0000561f18fcde1c <+60>:    call   0x561f18fcd590 <_ZN10ScreenPool24handleOutputOrderChangedERK11QStringList>
   0x0000561f18fcde21 <+65>:    mov    %rbp,%rdi
   0x0000561f18fcde24 <+68>:    call   0x561f18f8a5e0 <_ZN5QListI7QStringED2Ev>
   0x0000561f18fcde29 <+73>:    mov    0x8(%rsp),%rax
   0x0000561f18fcde2e <+78>:    sub    %fs:0x28,%rax
   0x0000561f18fcde37 <+87>:    jne    0x561f18fcde40 <_ZN10ScreenPool21reconsiderOutputOrderEv+96>
   0x0000561f18fcde39 <+89>:    add    $0x18,%rsp
   0x0000561f18fcde3d <+93>:    pop    %rbx
   0x0000561f18fcde3e <+94>:    pop    %rbp
   0x0000561f18fcde3f <+95>:    ret
   0x0000561f18fcde40 <+96>:    call   0x561f18f7e330 <__stack_chk_fail@plt>

--------------------------- (second commit)
(gdb) print *(class ShellCorona*)0x7f82f0004bd0
... m_screenPool = 0x561f1b2a3a60

(gdb) p *(class ScreenPool*) 0x561f1b2a3a60
... m_outputOrderWatcher = 0x561f1b2a0a10

(gdb) info vtbl *(class OutputOrderWatcher*) 0x561f1b2a0a10
vtable for 'OutputOrderWatcher' @ 0x561f19013a78 (subobject @ 0x561f1b2a0a10):
[0]: 0x561f18f83070 <WaylandOutputOrderWatcher::metaObject() const>
[1]: 0x561f18f887e0 <WaylandOutputOrderWatcher::qt_metacast(char const*)>
[2]: 0x561f18f892f0 <WaylandOutputOrderWatcher::qt_metacall(QMetaObject::Call, int, void**)>
[3]: 0x561f18f8a770 <WaylandOutputOrderWatcher::~WaylandOutputOrderWatcher()>
[4]: 0x561f18f8a840 <WaylandOutputOrderWatcher::~WaylandOutputOrderWatcher()>
[5]: 0x7f83060ef170 <QObject::event(QEvent*)>
[6]: 0x7f83060eb250 <QObject::eventFilter(QObject*, QEvent*)>
[7]: 0x7f83060eb240 <QObject::timerEvent(QTimerEvent*)>
[8]: 0x7f83060eb240 <QObject::timerEvent(QTimerEvent*)>
[9]: 0x7f83060eb240 <QObject::timerEvent(QTimerEvent*)>
[10]: 0x7f83060eb240 <QObject::timerEvent(QTimerEvent*)>
[11]: 0x7f83060eb240 <QObject::timerEvent(QTimerEvent*)>
[12]: 0x561f18fa7580 <WaylandOutputOrderWatcher::refresh()>
Comment 6 sophi 2023-10-03 13:02:51 UTC
I sent mail to lists.debian.org and ask for commit verification.
No response so far and my mail isn't visible on the list, don't know if I did something wrong.
My mail setup is .... very custom due to spam concerns :)

However from gdb analysis in above comment I am reasonably confident this commits are included in my plasma version.
Comment 7 Nate Graham 2023-10-27 15:26:28 UTC
*** Bug 476135 has been marked as a duplicate of this bug. ***
Comment 8 sophi 2023-10-28 17:32:21 UTC
The same goes for plasma 5.27.8-2





#0  __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x0) at ./nptl/pthread_sigmask.c:43
        local_newmask = {__val = {140657841841232, 32, 0, 140733609564960, 42, 140657798604288, 2, 1, 140733609564960, 140657797043209, 0, 140657798620832, 140733609564960, 140657841852976, 140733609565216, 140657797043392}}
        result = 0
#1  0x00007fed7205a6f9 in __GI___sigprocmask (how=<optimized out>, set=<optimized out>, oset=<optimized out>) at ../sysdeps/unix/sysv/linux/sigprocmask.c:25
        result = <optimized out>
#2  0x00007fed74b29e9b in KCrash::setCrashHandler(void (*)(int)) (handler=handler@entry=0x0) at ./src/kcrash.cpp:414
        mask = {__val = {1256, 0, 0, 93832956205024, 8, 140657803808770, 21, 13476764704248570112, 7, 18446744073709551368, 4, 11, 140733609565472, 2, 140657798621280, 140657797325167}}
#3  0x00007fed74b2ab3e in KCrash::defaultCrashHandler(int) (sig=11) at ./src/kcrash.cpp:625
        crashRecursionCounter = 2
#4  0x00007fed7205a510 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#5  QWeakPointer<QObject>::internalData() const (this=0x60) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:702
#6  QPointer<QScreen>::data() const (this=0x60) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qpointer.h:77
#7  QPointer<QScreen>::operator QScreen*() const (this=0x60) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qpointer.h:83
#8  DesktopView::screenToFollow() const (this=0x0) at ./shell/desktopview.cpp:123
#9  0x000055571fe8f6d3 in ShellCorona::screenInvariants() const (this=0x555721393c90) at ./shell/shellcorona.cpp:828
        view = <optimized out>
        screen = 0x55572131b970
        knownScreen = 0x0
        __for_range = @0x7fff18ce6ef0: {q_hash = {{d = 0x55572132c590, e = 0x55572132c590}}}
        managedScreens = {q_hash = {{d = 0x55572132c590, e = 0x55572132c590}}}
        screens = {q_hash = {{d = 0x7fed729ba0c0 <QHashData::shared_null>, e = 0x7fed729ba0c0 <QHashData::shared_null>}}}
#10 0x00007fed728fba32 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff18ce7060, r=0x555721393c90, this=0x55572154a4b0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
        receiver = 0x555721393c90
        td = <optimized out>
        senderData = {previous = 0x0, receiver = 0x555721393c90, sender = 0x555721393db8, signal = 3}
        c = 0x5557215808e0
        connections = {d = 0x55572154a210}
        list = <optimized out>
        inSenderThread = <optimized out>
        highestConnectionId = 1
        signalVector = <optimized out>
        currentThreadId = 0x7fed6dbcc9c0
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#11 doActivate<false>(QObject*, int, void**) (sender=0x555721393db8, signal_index=3, argv=0x7fff18ce7060) at kernel/qobject.cpp:3925
        receiver = 0x555721393c90
        td = <optimized out>
        senderData = {previous = 0x0, receiver = 0x555721393c90, sender = 0x555721393db8, signal = 3}
        c = 0x5557215808e0
        connections = {d = 0x55572154a210}
        list = <optimized out>
        inSenderThread = <optimized out>
        highestConnectionId = 1
        signalVector = <optimized out>
        currentThreadId = 0x7fed6dbcc9c0
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#12 0x00007fed728f454f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fed72b632e0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff18ce7060) at kernel/qobject.cpp:3985
#13 0x00007fed728ff85a in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
        _a = {0x0, 0x7fff18ce705f}
#14 0x00007fed728ef30b in QObject::event(QEvent*) (this=0x555721393db8, e=0x7fff18ce71b0) at kernel/qobject.cpp:1369
#15 0x00007fed73762d2e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x555721393db8, e=0x7fff18ce71b0) at kernel/qapplication.cpp:3640
        consumed = false
        filtered = false
#16 0x00007fed728c30d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555721393db8, event=0x7fff18ce71b0) at kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {0x555721393db8, 0x7fff18ce71b0, 0x7fff18ce714f}
        d = <optimized out>
        threadData = 0x5557212e2f50
        scopeLevelCounter = {threadData = 0x5557212e2f50}
#17 0x00007fed728c329e in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#18 0x00007fed7291bcc9 in QTimerInfoList::activateTimers() (this=0x555721328d40) at kernel/qtimerinfo_unix.cpp:643
        e = {<QEvent> = {_vptr.QEvent = 0x7fed72b62b30 <vtable for QTimerEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fed72a93800 <qt_meta_stringdata_QEvent>, data = 0x7fed72a93240 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 1, posted = 0, spont = 0, m_accept = 1, reserved = 793}, id = 295}
        currentTimerInfo = 0x0
        n_act = 2
        maxCount = 1
        currentTime = {tv_sec = 5457, tv_nsec = 142164558}
#19 0x00007fed7291c574 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
        timerSource = <optimized out>
#20 0x00007fed712af1b4 in g_main_dispatch (context=context@entry=0x555721329ad0) at ../../../glib/gmain.c:3476
        dispatch = 0x7fed7291c550 <timerSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = <optimized out>
        cb_data = <optimized out>
        need_destroy = <optimized out>
        source = 0x555721328ce0
        current = 0x555721752a80
        i = 2
        __func__ = "g_main_dispatch"
#21 0x00007fed712b22d7 in g_main_context_dispatch_unlocked (context=0x555721329ad0) at ../../../glib/gmain.c:4284
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 15
        fds = 0x55572b2b80c0
#22 g_main_context_iterate_unlocked (context=context@entry=0x555721329ad0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4349
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 15
        fds = 0x55572b2b80c0
#23 0x00007fed712b28f0 in g_main_context_iteration (context=0x555721329ad0, may_block=1) at ../../../glib/gmain.c:4414
        retval = <optimized out>
#24 0x00007fed7291c8d6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555721328e80, flags=...) at kernel/qeventdispatcher_glib.cpp:423
        d = 0x555721329490
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#25 0x00007fed728c1b7b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff18ce73f0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x55572187b790
        threadData = <optimized out>
        locker = {val = 93832707296776}
        app = <optimized out>
#26 0x00007fed728ca020 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
        threadData = 0x5557212e2f50
        eventLoop = {<QObject> = {_vptr.QObject = 0x7fed72b628c8 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fed72a969c0 <qt_meta_stringdata_QObject>, data = 0x7fed72a968a0 <qt_meta_data_QObject>, static_metacall = 0x7fed728f9910 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55572187b790}, static staticQtMetaObject = {d = {super--Type <RET> for more, q to quit, c to continue without paging-- c
data = {direct = 0x0}, stringdata = 0x7fed72a99960 <qt_meta_stringdata_Qt>, data = 0x7fed72a96ae0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7fed72b5a180 <QObject::staticMetaObject>}, stringdata = 0x7fed72a92b60 <qt_meta_stringdata_QEventLoop>, data = 0x7fed72a92b00 <qt_meta_data_QEventLoop>, static_metacall = 0x7fed728c18b0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#27 0x00007fed72d3258c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1863
#28 0x00007fed73762ca5 in QApplication::exec() () at kernel/qapplication.cpp:2832
#29 0x000055571fe5fdb4 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:235
        format = {d = 0x555721307350}
        qpaVariable = <optimized out>
        app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7fed73c78e88 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fed72a969c0 <qt_meta_stringdata_QObject>, data = 0x7fed72a968a0 <qt_meta_data_QObject>, static_metacall = 0x7fed728f9910 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x5557213076c0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fed72a99960 <qt_meta_stringdata_Qt>, data = 0x7fed72a96ae0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7fed72b5a180 <QObject::staticMetaObject>}, stringdata = 0x7fed72a92d80 <qt_meta_stringdata_QCoreApplication>, data = 0x7fed72a92c60 <qt_meta_data_QCoreApplication>, static_metacall = 0x7fed728c48b0 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7fff18ce7530}, static staticMetaObject = {d = {superdata = {direct = 0x7fed72b62a60 <QCoreApplication::staticMetaObject>}, stringdata = 0x7fed731e6dc0 <qt_meta_stringdata_QGuiApplication>, data = 0x7fed731e6b40 <qt_meta_data_QGuiApplication>, static_metacall = 0x7fed72d377f0 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7fed732c88e0 <QGuiApplication::staticMetaObject>}, stringdata = 0x7fed73b23e20 <qt_meta_stringdata_QApplication>, data = 0x7fed73b23ca0 <qt_meta_data_QApplication>, static_metacall = 0x7fed73766930 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        aboutData = {d = std::unique_ptr<class KAboutDataPrivate> = {get() = 0x555721549400}}
        replace = false
        corona = 0x555721393c90
        service = {<QObject> = {_vptr.QObject = 0x7fed743fde78 <vtable for KDBusService+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fed72a969c0 <qt_meta_stringdata_QObject>, data = 0x7fed72a968a0 <qt_meta_data_QObject>, static_metacall = 0x7fed728f9910 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x555721549890}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fed72a99960 <qt_meta_stringdata_Qt>, data = 0x7fed72a96ae0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7fed72b5a180 <QObject::staticMetaObject>}, stringdata = 0x7fed743f88e0 <qt_meta_stringdata_KDBusService>, data = 0x7fed743f87a0 <qt_meta_data_KDBusService>, static_metacall = 0x7fed743ec1b0 <KDBusService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = std::unique_ptr<class KDBusServicePrivate> = {get() = 0x55572154a1e0}}
Comment 9 Akseli Lahtinen 2024-01-10 14:16:15 UTC
*** Bug 479589 has been marked as a duplicate of this bug. ***
Comment 10 Akseli Lahtinen 2024-01-10 14:16:44 UTC
*** Bug 465892 has been marked as a duplicate of this bug. ***
Comment 11 Nate Graham 2024-01-10 15:06:37 UTC
*** Bug 465935 has been marked as a duplicate of this bug. ***
Comment 12 Ahmad Khalifa 2024-01-10 17:31:40 UTC
(In reply to Nate Graham from comment #4)
> 2. Debian made a packaging boo-boo and either isn't including the commits
> that fixed the crash
> (https://invent.kde.org/plasma/plasma-workspace/-/commit/
> acbc7234937027a6cf98b173517136d4bdbdfe94 and
> https://invent.kde.org/plasma/plasma-workspace/-/commit/
> 9bea46b09e5d407697dc2cb660e72e0d538d482f) or is somehow re-introducing it
> with local patching of some kind

I came here from one of the duplicate bugs so I checked the Debian package for plasma-workspace and it has both of those commits.
Checked the package on salsa, no patch inside touching shell/* and also confirmed the code is there in the downloaded source directly.

Is there any other way to debug this or find more ways to trap the cause?
Comment 13 Nate Graham 2024-01-11 16:01:07 UTC
We're getting more reports from people not using Debian, so I think that's not the cause. I'll re-open the original bug report and mark all these as duplicates of it.
Comment 14 Nate Graham 2024-01-11 16:02:25 UTC

*** This bug has been marked as a duplicate of bug 468430 ***