plasma shell functionality breaks (black background, missing panels) after waking up and unlocking computer

i know this is a problem that’s been reported here before, however none of the previously prescribed solutions to this problem (short of completely wiping every single one of my plasma config files, or creating an entirely new user profile) have worked in the slightest for me.

after i come back to my computer, wake up the monitors and unlock my computer, the plasma workspace stops functioning properly. i can still interact with windows that are already open, and i can enter the desktop workspace view to pull up ones that were minimized, but i cannot open the start menu or launch krunner to open other programs. my wallpaper disappears, and one or both of my panels on 2 of my monitors will disappear, usually the one on my secondary monitor goes first.

this has persisted through several updates to plasma, though i cannot pinpoint exactly where it began. plasmashell --replace doesn’t work, killall plasmashell && plasmashell doesn’t work, systemctl restart --user plasma-plasmashell doesn’t work, plasmashell &! doesn’t work, you get the idea. the only thing so far that fixes it is a full reboot, since the machine will freeze and hang if i log out while this is happening. if there’s a command line solution. it does not work. whatever is wrong with my plasma setup goes deeper than that.

i’m at my wit’s end, and this close to just completely nuking all of my KDE configs, if not reinstalling my OS outright. here is my fastfetch:

OS: CachyOS x86_64
Host: X870E AORUS ELITE WIFI7 (Default string-CF-WCP-ADO)
Kernel: Linux 7.2.0-1-cachyos-bore
Uptime: 1 hour, 9 mins
Packages: 6 (appimage), 43 (flatpak), 1723 (pacman)
Shell: fish 4.8.1
Display (MSI MAG273R): 1920x1080 in 27", 60 Hz [External]
Display (M27T6S): 2560x1440 in 27", 180 Hz [External, HDR] *
Display (HAT1560): 1920x1080 in 16", 60 Hz [External]
DE: KDE Plasma 6.7.4
WM: KWin (Wayland)
WM Theme: Xeno
Theme: Breeze (MeTime) [Qt], Breeze-Dark [GTK2], Breeze [GTK3/4]
Icons: breeze-dark [Qt], breeze-dark [GTK2/3/4]
Font: Mono Light (10pt) [Qt], ' Mono Medium (10pt, Light) [GTK2], Mono Medium (10pt, Light) [GTK3/4]
Cursor: BreezeX-Hacker (32px)
Terminal: konsole 26.4.3
CPU: AMD Ryzen 7 7700 (16) @ 5.39 GHz
GPU 1: AMD Radeon RX 9060 XT [Discrete]
GPU 2: AMD Raphael [Integrated]
Memory: 8.40 GiB / 30.45 GiB (28%)
Swap: 8.29 MiB / 30.45 GiB (0%)
Disk (/): 439.88 GiB / 927.42 GiB (47%) - btrfs
Disk (/mnt/gamestorage): 668.21 GiB / 1.82 TiB (36%) - btrfs

and here’s the full result of journalctl --user-unit plasma-plasmashell --boot -1 -n 20 after one of these plasmashell breaks happened. i don’t understand most of what’s going on here, but std::bad_alloc catches my eye. please don’t be a bad RAM problem, not in this economy…

THE LOG IS TOO BIG OOPS I PUT IT HERE

You could raise a bug report with the stack traces so that they do not get lost after 24 hours.

alright, i’m running that same journalctl command again to see what happens before and after this screen lock glitch happens. this is how the log looked before i ran it:

Aug 23 05:30:36 boobless systemd[1354]: Starting KDE Plasma Workspace...
Aug 23 05:30:36 boobless systemd[1354]: Started KDE Plasma Workspace.
Aug 23 05:30:36 boobless plasmashell[1675]: Member visible of the object PlasmaQuick::Dialog overrides a member of the base object. Consider renaming it or adding final or override specifier
Aug 23 05:30:36 boobless plasmashell[1675]: Member enabled of the object DeclarativeDropArea overrides a member of the base object. Consider renaming it or adding final or override specifier
Aug 23 05:30:37 boobless plasmashell[1675]: Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
Aug 23 05:30:40 boobless plasmashell[1675]: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID")
Aug 23 05:30:40 boobless plasmashell[1675]: Final member StackingOrder is overridden in class QQmlDMAbstractItemModelData. The override won't be used.
Aug 23 07:31:12 boobless plasmashell[1675]: Begin Suppressing sleep signal arrived
Aug 23 09:54:04 boobless plasmashell[1675]: Trying to replace notification with id 1203 which doesn't exist, creating a new one. This is a bug in the application "vesktop"

and this is what the command pulled after i let the computer go to a lockscreen and go to sleep:

Aug 23 14:07:10 boobless plasmashell[1675]: Final member StackingOrder is overridden in class QQmlDMAbstractItemModelData. The override won't be used.
Aug 23 14:07:10 boobless plasmashell[1675]: Final member StackingOrder is overridden in class QQmlDMAbstractItemModelData. The override won't be used.
Aug 23 14:07:10 boobless plasmashell[1675]: Final member StackingOrder is overridden in class QQmlDMAbstractItemModelData. The override won't be used.
Aug 23 14:07:10 boobless plasmashell[1675]: Final member StackingOrder is overridden in class QQmlDMAbstractItemModelData. The override won't be used.
Aug 23 14:07:14 boobless plasmashell[1675]: requesting unexisting screen available rect -1
Aug 23 14:07:14 boobless plasmashell[1675]: requesting unexisting screen available rect -1

does it think my screens don’t exist after waking up from sleep? i do sometimes get KDED notifications about a screen connecting again after i wake up my computer, but it’s honestly a toss up as to whether i get them or not.