https://bugs.kde.org/show_bug.cgi?id=468430
nyanpasu64 <nyanpas...@tuta.io> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nyanpas...@tuta.io --- Comment #7 from nyanpasu64 <nyanpas...@tuta.io> --- After getting this plasmashell segfault multiple times a day (after leaving my computer idle so KDE locks and blanks screens, then coming back), I have some observations: - `ShellCorona::screenInvariants()` is the direct cause of the crash, calling `QScreen *screen = view->screenToFollow();` on a null pointer `const DesktopView *view = desktopForScreen(knownScreen);`. Fascinatingly, in Qt Creator, `ShellCorona::screenInvariants()` is only enabled in debug builds (disabled in release builds with NDEBUG set). - `desktopForScreen` can return null in normal operation. All other calls to this function (aside from `ShellCorona::screenInvariants()`) check for nullptr return, except that `ShellCorona::color()` calls it once, checks for null pointer, and if not calls it *again* and relies on the function returning a non-null value the second time. - Is the function supposed to return null after screen blanking and then moving my mouse? I don't know. Screen layout: nyanpasu64@ryzen ~/.ssh> kscreen-doctor -o Output: 68 DP-1 enabled connected priority 1 DisplayPort Modes: 74:2560x1440@60*! 75:2560x1440@75 76:1920x1440@75 77:1920x1440@60 78:1856x1392@75 79:1856x1392@60 80:1792x1344@75 81:1792x1344@60 82:2048x1152@60 83:2048x1152@60 84:2048x1152@60 85:1920x1200@60 86:1920x1200@60 87:1920x1080@60 88:1920x1080@60 89:1920x1080@60 90:1920x1080@60 91:1920x1080@50 92:1920x1080@60 93:1920x1080@60 94:1600x1200@60 95:1600x1200@75 96:1600x1200@70 97:1600x1200@65 98:1600x1200@60 99:1680x1050@60 100:1680x1050@60 101:1400x1050@75 102:1400x1050@60 103:1600x900@60 104:1600x900@60 105:1600x900@60 106:1600x900@60 107:1280x1024@75 108:1280x1024@70 109:1280x1024@60 110:1440x900@60 111:1400x900@60 112:1400x900@60 113:1280x960@60 114:1440x810@60 115:1440x810@60 116:1368x768@60 117:1368x768@60 118:1280x800@60 119:1280x800@60 120:1280x800@60 121:1280x800@60 122:1280x800@60 123:1152x864@75 124:1280x720@60 125:1280x720@60 126:1280x720@60 127:1280x720@60 128:1280x720@50 129:1280x720@60 130:1280x720@60 131:1024x768@75 132:1024x768@60 133:1024x768@75 134:1024x768@70 135:1024x768@60 136:960x720@75 137:960x720@60 138:928x696@75 139:928x696@60 140:896x672@75 141:896x672@60 142:1024x576@60 143:1024x576@60 144:1024x576@60 145:1024x576@60 146:960x600@60 147:960x600@60 148:832x624@75 149:960x540@60 150:960x540@60 151:960x540@60 152:960x540@60 153:800x600@75 154:800x600@70 155:800x600@65 156:800x600@60 157:800x600@72 158:800x600@75 159:800x600@60 160:800x600@56 161:840x525@60 162:840x525@60 163:864x486@60 164:864x486@60 165:720x576@50 166:700x525@75 167:700x525@60 168:800x450@60 169:800x450@60 170:720x480@60 171:720x480@60 172:640x512@75 173:640x512@60 174:700x450@60 175:700x450@60 176:640x480@60 177:640x480@75 178:640x480@73 179:640x480@67 180:640x480@60 181:640x480@60 182:720x405@60 183:720x405@59 184:720x400@70 185:684x384@60 186:684x384@60 187:640x400@60 188:640x400@60 189:576x432@75 190:640x360@60 191:640x360@60 192:640x360@60 193:640x360@59 194:512x384@75 195:512x384@70 196:512x384@60 197:512x288@60 198:512x288@60 199:416x312@75 200:480x270@60 201:480x270@60 202:400x300@72 203:400x300@75 204:400x300@60 205:400x300@56 206:432x243@60 207:432x243@60 208:320x240@73 209:320x240@75 210:320x240@60 211:360x202@60 212:360x202@59 213:320x180@60 214:320x180@59 Geometry: 0,0 2560x1440 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 69 DP-2 disabled disconnected priority 0 DisplayPort Modes: Geometry: 0,0 0x0 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 70 HDMI-1 enabled connected priority 2 HDMI Modes: 88:1920x1080@60 90:1920x1080@60*! 93:1920x1080@60 99:1680x1050@60 100:1680x1050@60 101:1400x1050@75 102:1400x1050@60 105:1600x900@60 106:1600x900@60 107:1280x1024@75 109:1280x1024@60 111:1400x900@60 112:1400x900@60 113:1280x960@60 115:1440x810@60 116:1368x768@60 117:1368x768@60 119:1280x800@60 120:1280x800@60 121:1280x800@60 122:1280x800@60 123:1152x864@75 124:1280x720@60 125:1280x720@60 126:1280x720@60 130:1280x720@60 131:1024x768@75 132:1024x768@60 133:1024x768@75 134:1024x768@70 135:1024x768@60 136:960x720@75 137:960x720@60 138:928x696@75 139:928x696@60 140:896x672@75 141:896x672@60 142:1024x576@60 143:1024x576@60 144:1024x576@60 145:1024x576@60 146:960x600@60 147:960x600@60 148:832x624@75 149:960x540@60 150:960x540@60 151:960x540@60 152:960x540@60 153:800x600@75 154:800x600@70 155:800x600@65 156:800x600@60 157:800x600@72 158:800x600@75 159:800x600@60 160:800x600@56 161:840x525@60 162:840x525@60 163:864x486@60 164:864x486@60 166:700x525@75 167:700x525@60 168:800x450@60 169:800x450@60 172:640x512@75 173:640x512@60 174:700x450@60 175:700x450@60 176:640x480@60 177:640x480@75 178:640x480@73 181:640x480@60 182:720x405@60 183:720x405@59 184:720x400@70 185:684x384@60 186:684x384@60 187:640x400@60 188:640x400@60 189:576x432@75 190:640x360@60 191:640x360@60 192:640x360@60 193:640x360@59 194:512x384@75 195:512x384@70 196:512x384@60 197:512x288@60 198:512x288@60 199:416x312@75 200:480x270@60 201:480x270@60 202:400x300@72 203:400x300@75 204:400x300@60 205:400x300@56 206:432x243@60 207:432x243@60 208:320x240@73 209:320x240@75 210:320x240@60 211:360x202@60 212:360x202@59 213:320x180@60 214:320x180@59 215:1680x1050@60 216:1440x900@60 217:1280x800@60 218:1280x720@60 1913:640x480@60 Geometry: 2560,0 1080x1920 Scale: 1 Rotation: 2 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 71 HDMI-2 disabled disconnected priority 0 HDMI Modes: Geometry: 0,0 0x0 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown Output: 72 DVI-D-1 disabled disconnected priority 0 DVI Modes: Geometry: 0,0 0x0 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown (please ignore `1913:640x480@60`, that's a custom mode added by a xrandr manager I'm developing at https://codeberg.org/nyanpasu64/auto-modeline) DP-1 is my main display, HDMI-1 is my second display hooked up vertically, and DP-2 is a DP-to-VGA converter connected to no monitor at the time of the plasmashell crash. The crash occurred after the screen locked, blanked, and woke up. I've managed to reproduce this issue using: - Check "Manually block sleep and screen locking" (not sure if the issue reproduces without this) - Lock the screen - Wait for monitors to go black with a mouse cursor, then turn off - Move the mouse to wake up the monitors (and crash plasmashell), then log in and run coredumpctl to find a crashed plasmashell. -- You are receiving this mail because: You are watching all bug changes.