Summary: | Plasma crashes in DesktopView::screenToFollow() on screen wake up when KScreen service is active and high refresh rate monitor is connected and AdaptivSync is enabled | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Krzysztof Cybulski <krzysiek> |
Component: | generic-multiscreen | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | CC: | aleixpol, casta+kde, kde, krzysiek, nate, notmart, sven, s_chriscollins |
Priority: | NOR | Keywords: | drkonqi |
Version: | 5.27.0 | ||
Target Milestone: | 1.0 | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/d715af8f0c33a74b84ce2ebd22bc4009a91a33b6 | Version Fixed In: | 5.27.1 |
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi New crash information added by DrKonqi plasmashell backtrace New crash information added by DrKonqi |
Description
Krzysztof Cybulski
2023-02-19 17:20:20 UTC
Created attachment 156563 [details]
New crash information added by DrKonqi
plasmashell (5.27.0) using Qt 5.15.8
In my case, I get this segfault when disabling my secondary monitor via the command "xrandr --output HDMI-0 --off", which I have assigned to a keyboard shortcut. The crash happens almost immediately after my second screen turns off, and Plasma desktop remains terminated (black desktop, no panels) until I re-enable the secondary monitor via my shortcut for "xrandr --output HDMI-0 --mode 1280x1024 --rate 75 --pos 1920x120", after which my desktop, panels, icons, etc. all come back.
I have only noticed this happening since the upgrade to Plasma 5.27, but since I don't use this feature very often, I can't be certain it was introduced with this release.
-- Additional System Info:
Video: EVGA NVIDIA GeForce GTX 980 Ti SC GAMING ACX 2.0+ w/ 6GB RAM
NVIDIA video driver: 515.86.01
Screen #1 (DVI-I-1, screen 0, marked as primary):
* Monitor: ASUS VG248QE 24" LCD Monitor
* Resolution: 1920 x 1280 @ 120 Hz
Screen #2 (HDMI-0, screen 1):
* Monitor: Dell P170Sb 17" LCD Monitor
* Resolution: 1280 x 1024 @ 75 Hz
* Position relative to Screen #1: +1920+120
-- Backtrace (Reduced):
#4 QWeakPointer<QObject>::internalData() const (this=0x58) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:696
#5 QPointer<QScreen>::data() const (this=0x58) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qpointer.h:77
#6 QPointer<QScreen>::operator QScreen*() const (this=0x58) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qpointer.h:83
#7 DesktopView::screenToFollow() const (this=0x0) at ./shell/desktopview.cpp:120
#8 0x000055e25628e51f in ShellCorona::screenInvariants() const (this=0x55e258056c80) at ./shell/shellcorona.cpp:828
Not the same backtrace as seen in Bug 413782. If I disable KScreen2 in KDE services, crash is not happening, but I need to set my screens every time start my computer. might have been fixed in commit d715af8f0c33a74b84ce2ebd22bc4009a91a33b6 of plasma-workspace Indeed, so please re-open this if you find that you still experience the crash after upgrading to Plasma 5.27.1. Thanks a lot! For me, the crash is indeed fixed in 5.27.1. However, now when I re-enable my secondary monitor with the xrandr command mentioned in comment #1, it's just a black screen (cursor shows, but no wallpaper or desktop functionality). I will file this as a separate bug. Created attachment 157076 [details]
New crash information added by DrKonqi
plasmashell (5.27.2) using Qt 5.15.8
For me it is not resolved, I did clean install of KDE Neon but problem persists.
-- Backtrace (Reduced):
#6 QWeakPointer<QObject>::internalData (this=0x58) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:696
#7 QPointer<QScreen>::data (this=0x58) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qpointer.h:77
#8 QPointer<QScreen>::operator QScreen* (this=0x58) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qpointer.h:83
#9 DesktopView::screenToFollow (this=0x0) at ./shell/desktopview.cpp:124
#10 0x00005608458cd78f in ShellCorona::screenInvariants (this=0x560847ad0870) at ./shell/shellcorona.cpp:828
For me it is not resolved, I did clean install of KDE Neon but problem persists. Created attachment 157104 [details]
New crash information added by DrKonqi
plasmashell (5.27.2) using Qt 5.15.8
Yesterday evening I closed all programs, started BOINC manager and let my attached projects run. I locked the session and turned my monitors off.
Nothing else was active.
Turned everything back on this morning, everything looked normal, but I had the little crash icon in my info area telling me that Plasma had crashed.
I do not know when, sorry. Might have been before I tunred everything off yesterday, during the night, or when turning everything back on.
-- Backtrace (Reduced):
#6 QWeakPointer<QObject>::internalData() const (this=0x58) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:696
#7 QPointer<QScreen>::data() const (this=0x58) at /usr/include/qt5/QtCore/qpointer.h:77
#8 QPointer<QScreen>::operator QScreen*() const (this=0x58) at /usr/include/qt5/QtCore/qpointer.h:83
#9 DesktopView::screenToFollow() const (this=0x0) at /data/portage/portage/kde-plasma/plasma-workspace-5.27.2/work/plasma-workspace-5.27.2/shell/desktopview.cpp:124
#10 0x0000559825f2cc80 in ShellCorona::screenInvariants() const (this=0x55982798bc80) at /data/portage/portage/kde-plasma/plasma-workspace-5.27.2/work/plasma-workspace-5.27.2/shell/shellcorona.cpp:828
this says that a view for a desktop has been deleted, but not removed from m_desktopViewForScreen in theory, the only entry point where a desktopview gets deleted is in ShellCorona::removeDesktop (also in ShellCorona::setScreenForContainment but in theory this should ever be called only from the reorder UI) in ShellCorona::removeDesktop from 5.27.1 the view is removed m_desktopViewForScreen by searching all the values, so we are sure it's actually removed. Unless, the same view was inserted in the map multiple times, mapped in two or more screen numbers. this seems *very* improbable, but perhaps worth investigating Hello, I ran some extra tests today and Plasma crashes if my high refresh rate monitor is connected. When only my two standard 60hz monitors are connected. Plasma does not crash. I found that i can disable Adaptive Sync in my MSI MAG274QRF-QD monitor. After switching it off the crash is not happening anymore. So the cause of the crash is Adaptive Sync related. Please let me know if i can help more. My monitors: MSI MAG274QRF-QD (DP-1 2560x1440 165 Hz) DELL U2412M (DP-0 1920x1200 60 Hz) SAMSUNG SMBX2331 (HDMI-0 1920x1080 60 Hz) Hi, I have the same backtrace with a quite different use case. using x11, not wayland, and one standard low frequency monitor (60Hz) connected through mDP and a videoprojector connected through HDMI. Operating System: Gentoo Linux 2.13 KDE Plasma Version: 5.27.3 KDE Frameworks Version: 5.104.0 Qt Version: 5.15.8 Kernel Version: 6.2.8-gentoo (64-bit) Graphics Platform: X11 Processors: 12 × 12th Gen Intel® Core™ i5-12500 Memory: 31.1 Gio of RAM Graphics Processor: Mesa Intel® UHD Graphics 770 Manufacturer: Gigabyte Technology Co., Ltd. Product Name: B660I AORUS PRO DDR4 System Version: -CF Monitors: 2 0: +*DP-1 2560/597x1440/336+0+0 DP-1 1: +HDMI-1 1920/508x1080/286+2560+0 HDMI-1 Use case, quite simple: - Start the HDMI video projector - shut-down the main DP screen - put back the main DP screen on - plasmashell crashes Nota: it seems that I get this crash only since my main screen is using DP (it was before connected through HDMI too, without issues). But this assumption is just a guess, since I cannot connect it any more using HDMI (motherboard changed) The backtrace follows Created attachment 157561 [details]
plasmashell backtrace
And for completeness, no crash if plasmashell is built with -DNDEBUG, so this a workaround. *** This bug has been marked as a duplicate of bug 468430 *** Created attachment 159511 [details]
New crash information added by DrKonqi
plasmashell (5.27.5) using Qt 5.15.9
DesktopView::screenToFollow() got called on a NULL pointer in my case. (See trace)
Monitor in question reported not having a signal when I turned it on this morning, which was very unusual. Then it came back after 2-3 seconds and I logged into my machine being greeted by the crash reporter.
The Montor is an ASUS Predator with AdaptiveSync (G-Sync compatible) running at 2k resolution @144Hz.
Just one more thing: Could DrKonqi please tell its audience (me) exactly *WHEN* the crash happened? The laptop was doing work overnight, so it could've been useful to know when this happened. Not in this case, obviously, but in outhers it might. Thanks!
-- Backtrace (Reduced):
#6 QWeakPointer<QObject>::internalData() const (this=0x58) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:696
#7 QPointer<QScreen>::data() const (this=0x58) at /usr/include/qt5/QtCore/qpointer.h:77
#8 QPointer<QScreen>::operator QScreen*() const (this=0x58) at /usr/include/qt5/QtCore/qpointer.h:83
#9 DesktopView::screenToFollow() const (this=0x0) at /data/portage/portage/kde-plasma/plasma-workspace-5.27.5/work/plasma-workspace-5.27.5/shell/desktopview.cpp:124
#10 0x000055a2a9a685c0 in ShellCorona::screenInvariants() const (this=0x55a2aa4f3670) at /data/portage/portage/kde-plasma/plasma-workspace-5.27.5/work/plasma-workspace-5.27.5/shell/shellcorona.cpp:828
|