gnome-control-center icon indicating copy to clipboard operation
gnome-control-center copied to clipboard

Devices/Displays Settings Crash Pop 19.04 Session

Open powerofpi opened this issue 6 years ago • 32 comments

Distribution (run cat /etc/os-release):

NAME="Pop!_OS"
VERSION="19.04"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 19.04"
VERSION_ID="19.04"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

gnome-shell:
  Installed: 3.32.0+git20190410-1ubuntu1pop0~1555607389~19.04~56282e6
  Candidate: 3.32.0+git20190410-1ubuntu1pop0~1555607389~19.04~56282e6
  Version table:
 *** 3.32.0+git20190410-1ubuntu1pop0~1555607389~19.04~56282e6 1001
       1001 http://ppa.launchpad.net/system76/pop/ubuntu disco/main amd64 Packages
        100 /var/lib/dpkg/status
     3.32.0+git20190410-1ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu disco/main amd64 Packages

Issue/Bug Description: After installing Pop 19.04, the Gnome shell session crashes and kicks me back to the login screen if I do any of the following:

  • Navigate to Devices within settings
  • Navigate to Displays within settings

It seems like any of the items in settings that requires getting information on system devices causes a crash.

Steps to reproduce (if you know): See above. Occurs every time.

Expected behavior: No crash

Other Notes: Was previously running Pop 18.10 on this machine with no issues. This is new in Pop 19.04

powerofpi avatar May 05 '19 17:05 powerofpi

Can you open settings in the terminal with

env G_MESSAGES_DEBUG=all gnome-control-center

The logs may indicate where the crash occurs.

mmstick avatar May 05 '19 19:05 mmstick

Thanks, I gave that a shot. Unfortunately the session crashes before I'm able to see anything useful in the logs, and when I log back in I'm not able to retrieve the crashed session's terminal output. Maybe I can try redirecting the logs to a file.

powerofpi avatar May 05 '19 19:05 powerofpi

Ok, I was able to get the following from the file.

(gnome-control-center:4325): GLib-GIO-DEBUG: 14:13:37.415: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.521: Initializing object storage
(gnome-control-center:4325): Gtk-DEBUG: 14:13:37.522: Connecting to session manager
(gnome-control-center:4325): GLib-GIO-DEBUG: 14:13:37.547: _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.547: watch_fast: "/org/gnome/control-center/" (establishing: 0, active: 0)
(gnome-control-center:4325): GLib-GIO-DEBUG: 14:13:37.547: desktop_file_dirs_lock: Resetting desktop app info dirs from (null) to /home/deering/.config
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.547: watch_established: "/org/gnome/control-center/" (establishing: 1)
(gnome-control-center:4325): network-cc-panel-DEBUG: 14:13:37.553: Monitoring NetworkManager for Wi-Fi devices
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.605: Adding object NMClient (CcObjectStorage::nm-client → 0x55841119b0a0) to the storage
(gnome-control-center:4325): network-cc-panel-DEBUG: 14:13:37.605: Wi-Fi panel visible: yes
(gnome-control-center:4325): wacom-cc-panel-DEBUG: 14:13:37.606: Wacom panel visible: no
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.611: change_fast
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.612: change_notify: /org/gnome/control-center/last-panel
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.706: watch_fast: "/org/gnome/settings-daemon/plugins/color/" (establishing: 0, active: 0)
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.706: watch_established: "/org/gnome/settings-daemon/plugins/color/" (establishing: 1)
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.707: Asynchronously creating D-Bus proxy for CcObjectStorage::dbus-proxy(org.gnome.SettingsDaemon.Color,/org/gnome/SettingsDaemon/Color,org.gnome.SettingsDaemon.Color)
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.707: Asynchronously creating D-Bus proxy for CcObjectStorage::dbus-proxy(org.gnome.SettingsDaemon.Color,/org/gnome/SettingsDaemon/Color,org.freedesktop.DBus.Properties)
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.707: watch_fast: "/org/gnome/desktop/interface/" (establishing: 0, active: 0)
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.708: watch_established: "/org/gnome/desktop/interface/" (establishing: 1)
(gnome-control-center:4325): display-cc-panel-DEBUG: 14:13:37.708: setting adjustment 20.000 to 8:00
(gnome-control-center:4325): display-cc-panel-DEBUG: 14:13:37.708: setting adjustment 6.000 to 6:00
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.709: watch_fast: "/org/gnome/settings-daemon/plugins/color/" (establishing: 0, active: 1)
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.709: watch_fast: "/com/system76/hidpi/" (establishing: 0, active: 0)
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.709: change_fast
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.709: change_notify: /com/system76/hidpi/
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.710: watch_established: "/com/system76/hidpi/" (establishing: 1)
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.710: change_fast
(gnome-control-center:4325): dconf-DEBUG: 14:13:37.710: change_notify: /com/system76/hidpi/mode
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.712: Asynchronously creating D-Bus proxy for CcObjectStorage::dbus-proxy(org.gnome.Shell,/org/gnome/Shell,org.gnome.Shell)
(gnome-control-center:4325): cc-window-DEBUG: 14:13:37.713: Time to open panel 'Displays': 0.101946s
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.962: Finished creating D-Bus proxy for CcObjectStorage::dbus-proxy(org.gnome.SettingsDaemon.Color,/org/gnome/SettingsDaemon/Color,org.gnome.SettingsDaemon.Color)
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.962: Adding object GDBusProxy (CcObjectStorage::dbus-proxy(org.gnome.SettingsDaemon.Color,/org/gnome/SettingsDaemon/Color,org.gnome.SettingsDaemon.Color) → 0x5584113e5a40) to the storage
(gnome-control-center:4325): display-cc-panel-DEBUG: 14:13:37.963: setting adjustment -1.000 to 11:-0
(gnome-control-center:4325): display-cc-panel-DEBUG: 14:13:37.965: setting adjustment -1.000 to 11:-0
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.967: Finished creating D-Bus proxy for CcObjectStorage::dbus-proxy(org.gnome.SettingsDaemon.Color,/org/gnome/SettingsDaemon/Color,org.freedesktop.DBus.Properties)
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.967: Adding object GDBusProxy (CcObjectStorage::dbus-proxy(org.gnome.SettingsDaemon.Color,/org/gnome/SettingsDaemon/Color,org.freedesktop.DBus.Properties) → 0x7f3dcc001910) to the storage
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.967: Finished creating D-Bus proxy for CcObjectStorage::dbus-proxy(org.gnome.Shell,/org/gnome/Shell,org.gnome.Shell)
(gnome-control-center:4325): cc-object-storage-DEBUG: 14:13:37.967: Adding object GDBusProxy (CcObjectStorage::dbus-proxy(org.gnome.Shell,/org/gnome/Shell,org.gnome.Shell) → 0x5584113e5ad0) to the storage
(gnome-control-center:4325): display-cc-panel-DEBUG: 14:13:38.011: SensorProxy vanished
(gnome-control-center:4325): display-cc-panel-DEBUG: 14:13:38.012: Has no accelerometer
(gnome-control-center:4325): display-cc-panel-DEBUG: 14:13:38.187: Resetting current config!

powerofpi avatar May 05 '19 19:05 powerofpi

I'm experiencing this too on a Lenovo Thinkpad X1 Carbon, happy to help provide information :smile:

SteadBytes avatar Oct 03 '19 08:10 SteadBytes

In my case it does not crash the session but the settings window hangs while trying to go into the devices section. It does not seem to happen with an external display connected (this is a laptop). I'm also on 19.04.

The output I get in the debug mode goes into a loop with:

19:44:42.0641          display-cc-panel:    DEBUG: Creating new single config
19:44:42.0647          display-cc-panel:    DEBUG: Resetting current config!
19:44:42.0648          display-cc-panel:    DEBUG: Creating new single config
19:44:42.0653          display-cc-panel:    DEBUG: Resetting current config!
19:44:42.0654          display-cc-panel:    DEBUG: Creating new single config
19:44:42.0659          display-cc-panel:    DEBUG: Resetting current config!
19:44:42.0659          display-cc-panel:    DEBUG: Creating new single config
19:44:42.0664          display-cc-panel:    DEBUG: Resetting current config!
19:44:42.0665          display-cc-panel:    DEBUG: Creating new single config
19:44:42.0673          display-cc-panel:    DEBUG: Resetting current config!
19:44:42.0674          display-cc-panel:    DEBUG: Creating new single config

protobits avatar Oct 22 '19 22:10 protobits

Does this happen in 19.10?

mmstick avatar Oct 22 '19 22:10 mmstick

Yes, just upgraded and same thing happens. It only happens when the external monitor is not connected. I wonder if it tries to access it and it hangs.

On Tue, Oct 22, 2019, at 19:49, Michael Murphy wrote:

Does this happen in 19.10?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pop-os/pop/issues/539?email_source=notifications&email_token=AABHPKXD53XSKN33MS2YQ2DQP57PJA5CNFSM4HK3XZU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB7OWCQ#issuecomment-545188618, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABHPKUUCT256OCOXPD4T33QP57PJANCNFSM4HK3XZUQ.

protobits avatar Oct 23 '19 21:10 protobits

I have the same, x1 carbon 7gen on 19.10 "gsettings reset org.gnome.ControlCenter last-panel" gets settings working again, clicking on devices crashes settings. No external monitor.

jogaman avatar Oct 24 '19 12:10 jogaman

I have the same issue on my Dell XPS 15 9570 machine after updating to 19.10.I didn't have such kind of issue in 19.04."gsettings reset org.gnome.ControlCenter last-panel" gets settings working again, clicking on devices and display crashes settings.

my gnome-control-center version gnome-control-center 3.34.1

glibc version

minhtet@pop-os:/var/log$ ldd --version
ldd (Ubuntu GLIBC 2.30-0ubuntu2) 2.30
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

Here is my output where the crash occurs.

minhtet@pop-os:/var/log$ env G_MESSAGES_DEBUG=all gnome-control-center
(gnome-control-center:14473): GLib-GIO-DEBUG: 00:59:10.757: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(gnome-control-center:14473): cc-object-storage-DEBUG: 00:59:10.833: Initializing object storage
(gnome-control-center:14473): Gtk-DEBUG: 00:59:10.834: Connecting to session manager
(gnome-control-center:14473): GLib-GIO-DEBUG: 00:59:10.852: _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
(gnome-control-center:14473): dconf-DEBUG: 00:59:10.852: watch_fast: "/org/gnome/control-center/" (establishing: 0, active: 0)
(gnome-control-center:14473): GLib-GIO-DEBUG: 00:59:10.852: desktop_file_dirs_lock: Resetting desktop app info dirs from (null) to /home/minhtet/.config
(gnome-control-center:14473): dconf-DEBUG: 00:59:10.852: watch_established: "/org/gnome/control-center/" (establishing: 1)
(gnome-control-center:14473): network-cc-panel-DEBUG: 00:59:10.855: Monitoring NetworkManager for Wi-Fi devices
(gnome-control-center:14473): cc-object-storage-DEBUG: 00:59:10.887: Adding object NMClient (CcObjectStorage::nm-client → 0x562b8f516d00) to the storage
(gnome-control-center:14473): network-cc-panel-DEBUG: 00:59:10.887: Wi-Fi panel visible: yes
(gnome-control-center:14473): wacom-cc-panel-DEBUG: 00:59:10.894: Wacom panel visible: yes
(gnome-control-center:14473): dconf-DEBUG: 00:59:10.898: change_fast
(gnome-control-center:14473): dconf-DEBUG: 00:59:10.898: change_notify: /org/gnome/control-center/last-panel
(gnome-control-center:14473): dconf-DEBUG: 00:59:10.949: watch_fast: "/org/gnome/settings-daemon/plugins/color/" (establishing: 0, active: 0)
(gnome-control-center:14473): cc-object-storage-DEBUG: 00:59:10.950: Asynchronously creating D-Bus proxy for CcObjectStorage::dbus-proxy(org.gnome.SettingsDaemon.Color,/org/gnome/SettingsDaemon/Color,org.gnome.SettingsDaemon.Color)
(gnome-control-center:14473): cc-object-storage-DEBUG: 00:59:10.950: Asynchronously creating D-Bus proxy for CcObjectStorage::dbus-proxy(org.gnome.SettingsDaemon.Color,/org/gnome/SettingsDaemon/Color,org.freedesktop.DBus.Properties)
(gnome-control-center:14473): dconf-DEBUG: 00:59:10.950: watch_established: "/org/gnome/settings-daemon/plugins/color/" (establishing: 1)
(gnome-control-center:14473): dconf-DEBUG: 00:59:10.950: watch_fast: "/org/gnome/desktop/interface/" (establishing: 0, active: 0)
(gnome-control-center:14473): display-cc-panel-DEBUG: 00:59:10.950: setting adjustment 20.000 to 8:00
(gnome-control-center:14473): dconf-DEBUG: 00:59:10.950: watch_established: "/org/gnome/desktop/interface/" (establishing: 1)
(gnome-control-center:14473): display-cc-panel-DEBUG: 00:59:10.950: setting adjustment 6.000 to 6:00
(gnome-control-center:14473): cc-object-storage-DEBUG: 00:59:10.956: Asynchronously creating D-Bus proxy for CcObjectStorage::dbus-proxy(org.gnome.Shell,/org/gnome/Shell,org.gnome.Shell)
Segmentation fault (core dumped)

MinHtet-O avatar Oct 24 '19 18:10 MinHtet-O

Sadly, there's nothing in the logs that indicates what's causing it. If anyone experiencing the issue could run it through a debugger (gdb), which also requires that you compile it with debugging symbols, that would be extremely helpful.

mmstick avatar Oct 24 '19 18:10 mmstick

Do I have to get gnome-control-center source code and try to execute in gdb debugger? Is there any tutorial to perform such debugging ?

MinHtet-O avatar Oct 24 '19 19:10 MinHtet-O

There's quite a few steps involved, but it goes something like this:

sudo apt build-dep gnome-control-center
sudo apt install quilt
git clone https://github.com/pop-os/gnome-control-center
cd gnome-control-center
export QUILT_PATCHES=debian/patches
quilt push -a
meson build
cd build
ninja
gdb --args shell/gnome-control-center
run

mmstick avatar Oct 24 '19 19:10 mmstick

stuck on "ninja: error: loading 'build.ninja': No such file or directory" after 'ninja'

jogaman avatar Oct 24 '19 19:10 jogaman

Did you run ninja from within the build directory created by meson build, and did meson build exit without errors when it created that directory?

mmstick avatar Oct 24 '19 19:10 mmstick

error from meson build: panels/info/meson.build:58:0: ERROR: Dependency "pop_upgrade_gtk" not found, tried pkgconfig

jogaman avatar Oct 24 '19 19:10 jogaman

sudo apt build-dep gnome-control-center should have installed that as a dependency. The package is libpop-upgrade-gtk-dev

mmstick avatar Oct 24 '19 19:10 mmstick

tried sudo apt build-dep libpop-upgrade-gtk-dev but still same build error..

jogaman avatar Oct 24 '19 19:10 jogaman

sudo apt build-dep libpop-upgrade-gtk-dev

Not that

sudo apt build-dep gnome-control-center
sudo apt install libpop-upgrade-gtk-dev

mmstick avatar Oct 24 '19 19:10 mmstick

that worked, and i have it running and the devices tab... works

jogaman avatar Oct 24 '19 20:10 jogaman

the original one still crashes btw

jogaman avatar Oct 24 '19 20:10 jogaman

Did you try running the debug binary without gdb?

mmstick avatar Oct 24 '19 20:10 mmstick

how do I do that? in build I have:

build-aux build.ninja compile_commands.json config.h data dir.txt meson-info meson-logs meson-private panels po search-provider shell subprojects tests

jogaman avatar Oct 24 '19 20:10 jogaman

Call the file by path and it will execute.

./shell/gnome-control-center

mmstick avatar Oct 24 '19 20:10 mmstick

also fine, no crash

jogaman avatar Oct 24 '19 20:10 jogaman

:sweat_smile: In that case, we can try building in release mode to see if that makes a difference. :grimacing: This happens sometimes in C software, where code changes based on optimizations. :point_right: From the build directory, run this to change the meson options, and then recompile:

meson configure -Dbuildtype=debugoptimized
ninja
./shell/gnome-control-center

You could also try

meson configure -Dbuildtype=release
ninja
./shell/gnome-control-center

mmstick avatar Oct 24 '19 20:10 mmstick

both works

jogaman avatar Oct 24 '19 20:10 jogaman

the executable is 5M, compared to the first debug version that is 11M (just making sure its actuallly a release binary). I'll check out for today, it's late here in europe. but i'll be back if you get any more ideas of stuff to try

jogaman avatar Oct 24 '19 20:10 jogaman

There could also be some differences in how the application is launched. I do know that gnome-control-center has special behavior when running it from the overview. You could try installing it into the system. I would recommend building the debian packages and installing them. dpkg-buildpackage -b from the project root directory will build new debian packages, and dump them in the parent directory.

mmstick avatar Oct 24 '19 20:10 mmstick

managed to run dpkg-buildpackage -b but with the error "dpkg-buildpackage: error: failed to sign .buildinfo file"

Could you explain the next step in more detail (learning linux here)

jogaman avatar Oct 25 '19 08:10 jogaman

You don't need to sign the file. The debian packages are in the directory above, so you can install them now.

mmstick avatar Oct 25 '19 15:10 mmstick