Bug 500110 - plasmashell crash in Qt handleScreensChanged() on monitor change
Summary: plasmashell crash in Qt handleScreensChanged() on monitor change
Status: RESOLVED DUPLICATE of bug 499383
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: 6.3.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2025-02-15 08:16 UTC by Jakob Petsovits
Modified: 2025-02-18 15:53 UTC (History)
2 users (show)

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


Attachments
New crash information added by DrKonqi (146.97 KB, text/plain)
2025-02-15 08:17 UTC, Jakob Petsovits
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jakob Petsovits 2025-02-15 08:16:59 UTC
Application: plasmashell (6.3.0)

ApplicationNotResponding [ANR]: false
Qt Version: 6.8.2
Frameworks Version: 6.10.0
Operating System: Linux 6.12.10-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 6.3.0 [CoredumpBackend]

-- Information about the crash:
This happened on a Wayland session, after plugging in the USB-C cable with Alt-DP monitor connection. Using the officlal new Arch 6.3.0 packages, but I've seen the same crash many times on my dev session before. Now it's all the latest released distro binaries and Qt 6.8.2 symbols though (previous crashes happened on 6.8.1 too, and for probably well over a month).

I use a 4K monitor with 125% scaling stacked on top of my regular 1080p laptop display geometry. The bottom laptop display remains Primary and keeps owning the panel. The external monitor has no panel, no widgets, and a different background picture. Probably less relevant as the backtrace is all in Qt internals. Attaching KWin support information from Info Center as well in case something's interesting, with the crashing thread at the very bottom as per Dr. Konqi.

Crash reproduces often, but not always. (At least on my dev session, haven't been using release regularly enough to spot patterns.) I tend to get the crash frequently when waking up with a different display configuration than before the laptop went to sleep, but this time the session was already up and running smoothly before I plugged in the monitor. Open windows are Firefox and Kate. Nothing particularly exciting.

KWin Support Information:
The following information should be used when requesting support on e.g. https://discuss.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like https://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 6.3.0
Qt Version: 6.8.2
Qt compile version: 6.8.2
XCB compile version: 1.17.0

Operation Mode: Wayland

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_X11_XCB: yes
HAVE_GLX: yes

X11
===
Vendor: The X.Org Foundation
Vendor Release: 12401005
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.breeze
Theme: Breeze
Plugin recommends border size: None
onAllDesktopsAvailable: true
alphaChannelSupported: true
closeOnDoubleClickOnMenu: true
decorationButtonsLeft: 0, 2, 9
decorationButtonsRight: 6, 3, 4, 5
borderSize: 2
gridUnit: 10
font: Noto Sans,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
smallSpacing: 2
largeSpacing: 10

Output backend
==============
Name: DRM
Atomic Mode Setting on GPU 0: true

Cursor
======
themeName: Oxygen_White
themeSize: 24

Options
=======
focusPolicy: ClickToFocus
xwaylandCrashPolicy: 1
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 4
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
edgeBarrier: 100
cornerBarrier: 1
rollOverDesktops: true
focusStealingPreventionLevel: 2
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: MouseRaise
commandActiveTitlebar2: MouseNothing
commandActiveTitlebar3: MouseOperationsMenu
commandInactiveTitlebar1: MouseActivateAndRaise
commandInactiveTitlebar2: MouseNothing
commandInactiveTitlebar3: MouseOperationsMenu
commandWindow1: MouseActivateRaiseAndPassClick
commandWindow2: MouseActivateAndPassClick
commandWindow3: MouseActivateAndPassClick
commandWindowWheel: MouseNothing
commandAll1: MouseUnrestrictedMove
commandAll2: MouseToggleRaiseAndLower
commandAll3: MouseUnrestrictedResize
keyCmdAllModKey: 16777250
doubleClickBorderToMaximize: true
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
compositingMode: 1
useCompositing: true
hiddenPreviews: 1
glSmoothScale: 2
glStrictBinding: true
glStrictBindingFollowsDriver: true
glPreferBufferSwap: AutoSwapStrategy
glPlatformInterface: 2
windowsBlockCompositing: true
allowTearing: true
interactiveWindowMoveEnabled: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Number of Screens: 2

Screen 0:
---------
Name: eDP-1
Enabled: 1
Geometry: 553,1728,1920x1080
Physical size: 309x174mm
Scale: 1
Refresh Rate: 59999
Adaptive Sync: incapable
Screen 1:
---------
Name: DP-1
Enabled: 1
Geometry: 0,0,3072x1728
Physical size: 697x392mm
Scale: 1.25
Refresh Rate: 59997
Adaptive Sync: incapable

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics 620 (WHL GT2)
OpenGL version string: 4.6 (Core Profile) Mesa 24.3.4-arch1.1
OpenGL platform interface: EGL
OpenGL shading language version string: 4.60
Driver: Intel
GPU class: Whiskey Lake
OpenGL version: 4.6
GLSL version: 4.60
Mesa version: 24.3.4
X server version: 1.24.1
Linux kernel version: 6.12.10
Direct rendering: Requires strict binding: no
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
shakecursor
screenshot
outputlocator
colorpicker
zoom
screenedge
blur
contrast
login
sessionquit
logout
slidingpopups
windowaperture
slide
fullscreen
squash
fadingpopups
scale
maximize
frozenapp
dialogparent
windowview
tileseditor
overview
highlightwindow
blendchanges
startupfeedback
systembell
screentransform
kscreen

Currently Active Effects:
-------------------------
blur
contrast

Effect Settings:
----------------
shakecursor:

screenshot:

outputlocator:

colorpicker:

zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
focusTrackingEnabled: false
textCaretTrackingEnabled: false
focusDelay: 350
moveFactor: 20
targetZoom: 1

screenedge:

blur:

contrast:

login:
pluginId: login
isActiveFullScreenEffect: false

sessionquit:
pluginId: sessionquit
isActiveFullScreenEffect: false

logout:
pluginId: logout
isActiveFullScreenEffect: false

slidingpopups:
slideInDuration: 200
slideOutDuration: 200

windowaperture:
pluginId: windowaperture
isActiveFullScreenEffect: false

slide:
horizontalGap: 45
verticalGap: 20
slideBackground: true

fullscreen:
pluginId: fullscreen
isActiveFullScreenEffect: false

squash:
pluginId: squash
isActiveFullScreenEffect: false

fadingpopups:
pluginId: fadingpopups
isActiveFullScreenEffect: false

scale:
pluginId: scale
isActiveFullScreenEffect: false

maximize:
pluginId: maximize
isActiveFullScreenEffect: false

frozenapp:
pluginId: frozenapp
isActiveFullScreenEffect: false

dialogparent:
pluginId: dialogparent
isActiveFullScreenEffect: false

windowview:
activeView: 
delegate: 
animationDuration: 300
ignoreMinimized: false
mode: 
partialActivationFactor: 0
gestureInProgress: false
searchText: 
selectedIds: 

tileseditor:
activeView: 
delegate: 
animationDuration: 200

overview:
activeView: 
delegate: 
animationDuration: 300
ignoreMinimized: false
filterWindows: true
organizedGrid: true
overviewPartialActivationFactor: 0
overviewGestureInProgress: false
transitionPartialActivationFactor: 0
transitionGestureInProgress: false
gridPartialActivationFactor: 0
gridGestureInProgress: false
desktopOffset: 
searchText: 

highlightwindow:

blendchanges:

startupfeedback:
type: 1

systembell:

screentransform:

kscreen:


Loaded Plugins:
---------------
BounceKeysPlugin
KeyNotificationPlugin
StickyKeysPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast

Available Plugins:
------------------
BounceKeysPlugin
KeyNotificationPlugin
StickyKeysPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast

==========================
(end of KWin Support Information)

The crash can be reproduced sometimes.

-- Backtrace (Reduced):
#5  QWeakPointer<QObject>::internalData (this=0x0, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qsharedpointer_impl.h:750
#6  QPointer<QScreen>::data (this=0x0, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qpointer.h:75
#7  QPointer<QScreen>::operator QScreen* (this=0x0, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qpointer.h:83
#8  QPlatformScreen::screen (this=this@entry=0x7f632c61e980) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qplatformscreen.cpp:116
#9  0x00007f6333b304b3 in QtWaylandClient::QWaylandWindow::handleScreensChanged (this=0x5f06ca1c7870) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylandwindow.cpp:1448


Reported using DrKonqi
Comment 1 Jakob Petsovits 2025-02-15 08:17:01 UTC
Created attachment 178392 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 cwo 2025-02-16 16:15:46 UTC
Bug  499383 seems to have a very similar bt, only QWindow::screen instead of QScreen at the very top. Marking as related at least.

*** This bug has been marked as a duplicate of bug 499383 ***
Comment 3 cwo 2025-02-16 17:46:44 UTC
Oops, didn't mean to close this one immediately, just set a see also.
Comment 4 Nate Graham 2025-02-18 15:53:20 UTC
Looks like it's effectively the same bug.

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