gnome-shell crashed with SIGSEGV in meta_monitor_mode_get_resolution → calculate_scale → meta_monitor_calculate_mode_scale → calculate_monitor_scale → derive_calculated_global_scale
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gnome-shell (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
mutter (Ubuntu) |
Fix Released
|
Medium
|
Marco Trevisan (Treviño) | ||
Bionic |
Fix Released
|
Undecided
|
Marco Trevisan (Treviño) |
Bug Description
https:/
https:/
---
[ Description ]
This happened while I was away from the computer. By the timing it should have been well after the time it should have gone *into* displaysleep, and was also about 45min before I returned, so certainly wasn't the wake-up process either.
What I observed when I did return: My 4K monitor didn't wake up (that's a known problem with this monitor, Dell P2715Q), the second monitor (Dell U2711) did wake up, showing the login screen.
So although I've considered my Dell 4K problem a problem with waking up, I wonder if it might be actually a problem with it apparently going away completely after a longer displaysleep (it's usually fine if I just do a short sleep of a minute or two).
Another possibility is the cat stepped on the keyboard and thus triggered an attempted display-wake. But that would actually be out of character (for the cat).
Either way is a bug because the session should survive monitor shenanigans... :-)
In some not known conditions, g-s might crash while computing global resolution for monitors.
[ Test case ]
There's really no test case for this bug, a part that g-s should not crash with this stacktrace. Unforuntaltey this is quite hard to reproduce, it might happen while resetting the crtc when setting up a (new) monitor or at wake up, but so far nobody has reported a way for reproducing this.
[ Regression potential ]
Global scale for attached monitors could not be properly computed, and thus if attaching an HiDPI device, the UI could not be scaled properly
---
ProblemType: CrashDistroRelease: Ubuntu 17.10
Package: gnome-shell 3.26.1-0ubuntu3
ProcVersionSign
Uname: Linux 4.13.0-16-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.7-0ubuntu3
Architecture: amd64
CurrentDesktop: GNOME-Greeter:GNOME
Date: Sat Oct 14 15:39:50 2017
DisplayManager: gdm3
ExecutablePath: /usr/bin/
GsettingsChanges:
InstallationDate: Installed on 2017-07-30 (75 days ago)
InstallationMedia: Ubuntu-GNOME 17.04 "Zesty Zapus" - Release amd64 (20170412)
ProcCmdline: /usr/bin/
ProcEnviron:
LANGUAGE=en_GB:en
PATH=(custom, no user)
XDG_RUNTIME_
LANG=en_GB.UTF-8
SHELL=/bin/false
SegvAnalysis:
Segfault happened at: 0x7fae20ab44a0 <meta_monitor_
PC (0x7fae20ab44a0) ok
source "0x8(%rdi)" (0x00000008) not located in a known VMA region (needed readable region)!
destination "%eax" ok
SegvReason: reading NULL VMA
Signal: 11SourcePackage: gnome-shell
StacktraceTop:
meta_monitor_
meta_monitor_
meta_monitor_
meta_monitor_
meta_monitor_
Title: gnome-shell crashed with SIGSEGV in meta_monitor_
UpgradeStatus: Upgraded to artful on 2017-08-22 (53 days ago)
UserGroups:
Related branches
- git-ubuntu developers: Pending requested
-
Diff: 11633 lines (+8578/-0) (has conflicts)104 files modifiedMakefile.in (+4/-0)
NEWS (+28/-0)
build-aux/ltmain.sh (+9/-0)
clutter/build/ltmain.sh (+9/-0)
clutter/clutter/Makefile.am (+4/-0)
clutter/clutter/Makefile.in (+4/-0)
clutter/clutter/clutter-input-method.c (+4/-0)
clutter/clutter/evdev/clutter-device-manager-evdev.c (+23/-0)
clutter/clutter/evdev/clutter-input-device-evdev.c (+21/-0)
clutter/clutter/evdev/clutter-seat-evdev.c (+21/-0)
clutter/clutter/evdev/clutter-seat-evdev.h (+6/-0)
cogl/build/ltmain.sh (+9/-0)
cogl/cogl/Makefile.am (+4/-0)
cogl/cogl/Makefile.in (+4/-0)
cogl/cogl/cogl-object.c (+8/-0)
cogl/cogl/winsys/cogl-winsys-egl-private.h (+6/-0)
cogl/cogl/winsys/cogl-winsys-egl.c (+15/-0)
configure (+49/-0)
configure.ac (+11/-0)
debian/changelog (+147/-0)
debian/control (+9/-0)
debian/control.in (+9/-0)
debian/copyright (+404/-0)
debian/gbp.conf (+8/-0)
debian/libmutter-2-0.symbols (+4457/-0)
debian/patches/bgo768531_workaround-startup-notifications.patch (+4/-0)
debian/patches/clutter-Smooth-out-master-clock-to-smooth-visuals.patch (+8/-0)
debian/patches/core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch (+17/-0)
debian/patches/debian/skip-failing-tests-325.patch (+24/-0)
debian/patches/debian/skip-failing-tests.patch (+26/-0)
debian/patches/debian/synaptics-support.patch (+301/-0)
debian/patches/gpu-kms-Don-t-crash-if-drmModeGetResources-returns-N.patch (+37/-0)
debian/patches/monitor-Use-current-monitor-mode-to-check-whether-active.patch (+84/-0)
debian/patches/monitor-manager-Filter-out-low-screen-resolutions.patch (+90/-0)
debian/patches/native-gpu-Handle-drmModeSetCrtc-failing-gracefully.patch (+36/-0)
debian/patches/renderer-native-Fallback-to-non-planar-API-if-gbm_bo_get_.patch (+63/-0)
debian/patches/series (+18/-0)
debian/patches/theme-use-gtk_render_icon_suface-to-paint-button-icon.patch (+10/-0)
debian/patches/window-Don-t-refuse-to-move-focus-to-the-grab-window.patch (+39/-0)
debian/patches/window-Explicitly-exclude-unmanaging-window-from-focus-ag.patch (+35/-0)
debian/patches/window-wayland-Always-update-monitor-for-non-user-ops.patch (+44/-0)
po/mutter.pot (+393/-0)
src/Makefile.am (+24/-0)
src/Makefile.in (+64/-0)
src/backends/gsm-inhibitor-flag.h (+36/-0)
src/backends/meta-backend-private.h (+3/-0)
src/backends/meta-backend.c (+119/-0)
src/backends/meta-cursor-renderer.c (+19/-0)
src/backends/meta-cursor-renderer.h (+4/-0)
src/backends/meta-idle-monitor-dbus.c (+32/-0)
src/backends/meta-idle-monitor-private.h (+22/-0)
src/backends/meta-idle-monitor.c (+221/-0)
src/backends/meta-logical-monitor.c (+44/-0)
src/backends/meta-monitor-manager-dummy.c (+8/-0)
src/backends/meta-monitor-manager.c (+46/-0)
src/backends/meta-monitor.c (+99/-0)
src/backends/meta-output.c (+55/-0)
src/backends/meta-output.h (+13/-0)
src/backends/meta-screen-cast-stream-src.c (+59/-0)
src/backends/meta-stage-private.h (+55/-0)
src/backends/meta-stage.c (+4/-0)
src/backends/native/meta-backend-native.c (+33/-0)
src/backends/native/meta-cursor-renderer-native.c (+21/-0)
src/backends/native/meta-gpu-kms.c (+14/-0)
src/backends/native/meta-launcher.c (+3/-0)
src/backends/native/meta-monitor-manager-kms.c (+8/-0)
src/backends/native/meta-output-kms.c (+18/-0)
src/backends/native/meta-renderer-native.c (+40/-0)
src/backends/x11/meta-backend-x11.c (+129/-0)
src/backends/x11/meta-cursor-renderer-x11.c (+4/-0)
src/backends/x11/meta-monitor-manager-xrandr.c (+30/-0)
src/backends/x11/meta-output-xrandr.c (+22/-0)
src/backends/x11/meta-stage-x11-nested.c (+9/-0)
src/backends/x11/nested/meta-renderer-x11-nested.c (+16/-0)
src/compositor/compositor.c (+4/-0)
src/compositor/meta-window-actor-private.h (+4/-0)
src/compositor/meta-window-actor.c (+36/-0)
src/compositor/meta-window-group-private.h (+24/-0)
src/compositor/meta-window-group.c (+4/-0)
src/core/constraints.c (+5/-0)
src/core/display.c (+4/-0)
src/core/events.c (+42/-0)
src/core/window-private.h (+8/-0)
src/core/window.c (+4/-0)
src/meta/meta-monitor-manager.h (+6/-0)
src/meta/meta-stage.h (+32/-0)
src/meta/meta-window-group.h (+11/-0)
src/org.gnome.Mutter.IdleMonitor.xml (+5/-0)
src/tests/meta-monitor-manager-test.c (+8/-0)
src/tests/monitor-unit-tests.c (+33/-0)
src/ui/frames.c (+347/-0)
src/ui/frames.h (+5/-0)
src/ui/theme.c (+22/-0)
src/wayland/meta-wayland-legacy-xdg-shell.c (+13/-0)
src/wayland/meta-wayland-seat.c (+10/-0)
src/wayland/meta-wayland-surface-role-cursor.c (+12/-0)
src/wayland/meta-wayland-surface.c (+43/-0)
src/wayland/meta-wayland-text-input.c (+3/-0)
src/wayland/meta-wayland-xdg-foreign.c (+9/-0)
src/wayland/meta-wayland-xdg-shell.c (+15/-0)
src/wayland/meta-window-wayland.c (+53/-0)
src/wayland/meta-window-wayland.h (+4/-0)
src/wayland/meta-xwayland.c (+31/-0)
src/x11/window-x11.c (+5/-0)
- git-ubuntu developers: Pending requested
-
Diff: 11633 lines (+8578/-0) (has conflicts)104 files modifiedMakefile.in (+4/-0)
NEWS (+28/-0)
build-aux/ltmain.sh (+9/-0)
clutter/build/ltmain.sh (+9/-0)
clutter/clutter/Makefile.am (+4/-0)
clutter/clutter/Makefile.in (+4/-0)
clutter/clutter/clutter-input-method.c (+4/-0)
clutter/clutter/evdev/clutter-device-manager-evdev.c (+23/-0)
clutter/clutter/evdev/clutter-input-device-evdev.c (+21/-0)
clutter/clutter/evdev/clutter-seat-evdev.c (+21/-0)
clutter/clutter/evdev/clutter-seat-evdev.h (+6/-0)
cogl/build/ltmain.sh (+9/-0)
cogl/cogl/Makefile.am (+4/-0)
cogl/cogl/Makefile.in (+4/-0)
cogl/cogl/cogl-object.c (+8/-0)
cogl/cogl/winsys/cogl-winsys-egl-private.h (+6/-0)
cogl/cogl/winsys/cogl-winsys-egl.c (+15/-0)
configure (+49/-0)
configure.ac (+11/-0)
debian/changelog (+147/-0)
debian/control (+9/-0)
debian/control.in (+9/-0)
debian/copyright (+404/-0)
debian/gbp.conf (+8/-0)
debian/libmutter-2-0.symbols (+4457/-0)
debian/patches/bgo768531_workaround-startup-notifications.patch (+4/-0)
debian/patches/clutter-Smooth-out-master-clock-to-smooth-visuals.patch (+8/-0)
debian/patches/core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch (+17/-0)
debian/patches/debian/skip-failing-tests-325.patch (+24/-0)
debian/patches/debian/skip-failing-tests.patch (+26/-0)
debian/patches/debian/synaptics-support.patch (+301/-0)
debian/patches/gpu-kms-Don-t-crash-if-drmModeGetResources-returns-N.patch (+37/-0)
debian/patches/monitor-Use-current-monitor-mode-to-check-whether-active.patch (+84/-0)
debian/patches/monitor-manager-Filter-out-low-screen-resolutions.patch (+90/-0)
debian/patches/native-gpu-Handle-drmModeSetCrtc-failing-gracefully.patch (+36/-0)
debian/patches/renderer-native-Fallback-to-non-planar-API-if-gbm_bo_get_.patch (+63/-0)
debian/patches/series (+18/-0)
debian/patches/theme-use-gtk_render_icon_suface-to-paint-button-icon.patch (+10/-0)
debian/patches/window-Don-t-refuse-to-move-focus-to-the-grab-window.patch (+39/-0)
debian/patches/window-Explicitly-exclude-unmanaging-window-from-focus-ag.patch (+35/-0)
debian/patches/window-wayland-Always-update-monitor-for-non-user-ops.patch (+44/-0)
po/mutter.pot (+393/-0)
src/Makefile.am (+24/-0)
src/Makefile.in (+64/-0)
src/backends/gsm-inhibitor-flag.h (+36/-0)
src/backends/meta-backend-private.h (+3/-0)
src/backends/meta-backend.c (+119/-0)
src/backends/meta-cursor-renderer.c (+19/-0)
src/backends/meta-cursor-renderer.h (+4/-0)
src/backends/meta-idle-monitor-dbus.c (+32/-0)
src/backends/meta-idle-monitor-private.h (+22/-0)
src/backends/meta-idle-monitor.c (+221/-0)
src/backends/meta-logical-monitor.c (+44/-0)
src/backends/meta-monitor-manager-dummy.c (+8/-0)
src/backends/meta-monitor-manager.c (+46/-0)
src/backends/meta-monitor.c (+99/-0)
src/backends/meta-output.c (+55/-0)
src/backends/meta-output.h (+13/-0)
src/backends/meta-screen-cast-stream-src.c (+59/-0)
src/backends/meta-stage-private.h (+55/-0)
src/backends/meta-stage.c (+4/-0)
src/backends/native/meta-backend-native.c (+33/-0)
src/backends/native/meta-cursor-renderer-native.c (+21/-0)
src/backends/native/meta-gpu-kms.c (+14/-0)
src/backends/native/meta-launcher.c (+3/-0)
src/backends/native/meta-monitor-manager-kms.c (+8/-0)
src/backends/native/meta-output-kms.c (+18/-0)
src/backends/native/meta-renderer-native.c (+40/-0)
src/backends/x11/meta-backend-x11.c (+129/-0)
src/backends/x11/meta-cursor-renderer-x11.c (+4/-0)
src/backends/x11/meta-monitor-manager-xrandr.c (+30/-0)
src/backends/x11/meta-output-xrandr.c (+22/-0)
src/backends/x11/meta-stage-x11-nested.c (+9/-0)
src/backends/x11/nested/meta-renderer-x11-nested.c (+16/-0)
src/compositor/compositor.c (+4/-0)
src/compositor/meta-window-actor-private.h (+4/-0)
src/compositor/meta-window-actor.c (+36/-0)
src/compositor/meta-window-group-private.h (+24/-0)
src/compositor/meta-window-group.c (+4/-0)
src/core/constraints.c (+5/-0)
src/core/display.c (+4/-0)
src/core/events.c (+42/-0)
src/core/window-private.h (+8/-0)
src/core/window.c (+4/-0)
src/meta/meta-monitor-manager.h (+6/-0)
src/meta/meta-stage.h (+32/-0)
src/meta/meta-window-group.h (+11/-0)
src/org.gnome.Mutter.IdleMonitor.xml (+5/-0)
src/tests/meta-monitor-manager-test.c (+8/-0)
src/tests/monitor-unit-tests.c (+33/-0)
src/ui/frames.c (+347/-0)
src/ui/frames.h (+5/-0)
src/ui/theme.c (+22/-0)
src/wayland/meta-wayland-legacy-xdg-shell.c (+13/-0)
src/wayland/meta-wayland-seat.c (+10/-0)
src/wayland/meta-wayland-surface-role-cursor.c (+12/-0)
src/wayland/meta-wayland-surface.c (+43/-0)
src/wayland/meta-wayland-text-input.c (+3/-0)
src/wayland/meta-wayland-xdg-foreign.c (+9/-0)
src/wayland/meta-wayland-xdg-shell.c (+15/-0)
src/wayland/meta-window-wayland.c (+53/-0)
src/wayland/meta-window-wayland.h (+4/-0)
src/wayland/meta-xwayland.c (+31/-0)
src/x11/window-x11.c (+5/-0)
information type: | Private → Public |
tags: | added: fixed-in-3.28.2 fixed-in-3.29.1 |
tags: | added: bionic |
Changed in mutter (Ubuntu): | |
status: | Fix Released → In Progress |
description: | updated |
summary: |
- gnome-shell crashed with SIGSEGV in meta_monitor_mode_get_resolution() + gnome-shell crashed with SIGSEGV in meta_monitor_mode_get_resolution → + calculate_scale → meta_monitor_calculate_mode_scale → + calculate_monitor_scale → derive_calculated_global_scale |
StacktraceTop: mode_get_ resolution (monitor_ mode=monitor_ mode@entry= 0x0, width=width@ entry=0x7ffceb5 a36f8, height= height@ entry=0x7ffceb5 a36fc) at backends/ meta-monitor. c:1582 0x55d2cc3cb100) at backends/ meta-monitor. c:1377 calculate_ mode_scale (monitor= 0x55d2cc3cb100, monitor_mode=0x0) at backends/ meta-monitor. c:1439 monitor_ scale (monitor= 0x55d2cc3cb100, manager= 0x7fadfc014ae0) at backends/ meta-monitor- manager. c:174 calculated_ global_ scale (manager= 0x7fadfc014ae0) at backends/ meta-monitor- manager. c:188
meta_monitor_
calculate_scale (monitor_mode=0x0, monitor=
meta_monitor_
calculate_
derive_