Bug#998837: gnome-flashback: GNOME Flashback segfaults at login

Timothy Allen thristian at gmail.com
Mon Nov 8 12:56:20 GMT 2021


Package: gnome-flashback
Version: 3.42.0-1
Severity: important

Dear Maintainer,

After updating gnome-flashback today, I am unable to login to the "GNOME
Flashback (Metacity)" sesson - I immediately get the "Oh no, an error occured,
please log out" screen.

Poking around in `journalctl --user` I discovered the following entry at the
time of my login attempt:

gnome-flashback.service: Main process exited, code=killed, status=11/SEGV

After installing systemd-coredump, I managed to extract a backtrace:

#0  gf_logical_monitor_configs_have_monitor
    (logical_monitor_configs=logical_monitor_configs at entry=0x55ec78aeb020 =
{...}, monitor_spec=monitor_spec at entry=0x55ec78ad1f50)
    at ./backends/gf-logical-monitor-config.c:56
#1  0x000055ec77c8bd48 in gf_monitors_config_new
    (monitor_manager=monitor_manager at entry=0x7fa438003d70,
logical_monitor_configs=logical_monitor_configs at entry=0x55ec78aeb020 = {...},
layout_mode=layout_mode at entry=GF_LOGICAL_MONITOR_LAYOUT_MODE_PHYSICAL,
flags=flags at entry=GF_MONITORS_CONFIG_FLAG_NONE) at ./backends/gf-monitors-
config.c:179
#2  0x000055ec77c934a6 in create_monitors_config
    (match_rule=<optimized out>, positioning=MONITOR_POSITIONING_LINEAR,
config_flags=GF_MONITORS_CONFIG_FLAG_NONE, config_manager=<optimized out>,
config_manager=<optimized out>) at ./backends/gf-monitor-config-manager.c:603
#3  0x000055ec77c8643b in gf_monitor_manager_ensure_configured
(manager=manager at entry=0x7fa438003d70) at ./backends/gf-monitor-manager.c:2786
#4  0x000055ec77c98d79 in gf_monitor_manager_xrandr_ensure_initial_config
(manager=0x7fa438003d70) at ./backends/gf-monitor-manager-xrandr.c:699
#5  0x000055ec77c85ce7 in gf_monitor_manager_setup (manager=0x7fa438003d70) at
./backends/gf-monitor-manager.c:2477
#6  0x000055ec77c841c3 in gf_backend_new
(type=type at entry=GF_BACKEND_TYPE_X11_CM) at ./backends/gf-backend.c:377
#7  0x000055ec77c823e0 in gf_application_init (application=0x55ec78ae4550) at
./gnome-flashback/gf-application.c:328

Looking at the code of gf_logical_monitor_configs_have_monitor(), it takes a
list of GfLogicalMonitorConfig, and the first one in the list looks like:

(gdb) print *((GfLogicalMonitorConfig *)l->data)
$5 = {layout = {x = 3, y = 0, width = 0, height = 0},
  monitor_configs = 0xe000100000000 = {<error reading variable>

...which seems very suspicious to me. The second one in the list looks like:

(gdb) print *((GfLogicalMonitorConfig *)logical_monitor_configs->next->data)
$9 = {layout = {x = 0, y = 0, width = 1920, height = 1080},
  monitor_configs = 0x55ec78b1ac60 = {0x55ec78b1f020},
  transform = GF_MONITOR_TRANSFORM_NORMAL, scale = 1, is_primary = 1,
  is_presentation = 0}

...which seems to exactly match the monitor I'm using. There is no third item
in the list.

I walked up the stack to create_monitors_config() where this data structure is
created, and it looks like the `logical_monitor_configs` variable is created,
and then appended to, but never initialised. I don't know if that's actually
the problem, but it's consistent with the symptoms I'm seeing.


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.14.0-2-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE=en_AU:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gnome-flashback depends on:
ii  gnome-flashback-common   3.42.0-1
ii  libasound2               1.2.5.1-1
ii  libatk1.0-0              2.36.0-2
ii  libc6                    2.32-4
ii  libcairo2                1.16.0-5
ii  libcanberra-gtk3-0       0.30-8
ii  libcanberra0             0.30-8
ii  libgdk-pixbuf-2.0-0      2.42.6+dfsg-2
ii  libgdm1                  41.0-3
ii  libglib2.0-0             2.70.0-3
ii  libgnome-bluetooth13     3.34.5-4
ii  libgnome-desktop-3-19    41.0-1
ii  libgnome-panel0          3.42.0-1
ii  libgtk-3-0               3.24.30-3
ii  libibus-1.0-5            1.5.25-2
ii  libpam0g                 1.4.0-10
ii  libpango-1.0-0           1.48.10+ds1-1
ii  libpangocairo-1.0-0      1.48.10+ds1-1
ii  libpolkit-agent-1-0      0.105-31
ii  libpolkit-gobject-1-0    0.105-31
ii  libpulse-mainloop-glib0  15.0+dfsg1-2
ii  libpulse0                15.0+dfsg1-2
ii  libsystemd0              249.5-2
ii  libx11-6                 2:1.7.2-2+b1
ii  libx11-xcb1              2:1.7.2-2+b1
ii  libxcb-randr0            1.14-3
ii  libxext6                 2:1.3.4-1
ii  libxfixes3               1:5.0.3-2
ii  libxi6                   2:1.8-1
ii  libxkbfile1              1:1.1.0-1
ii  libxrandr2               2:1.5.2-1
ii  libxxf86vm1              1:1.1.4-1+b2
ii  nautilus                 41.1-1

Versions of packages gnome-flashback recommends:
ii  dbus                   1.12.20-3
ii  gnome-settings-daemon  41.0-2
ii  libpam-gnome-keyring   40.0-3

Versions of packages gnome-flashback suggests:
ii  gnome-power-manager  3.32.0-2

-- no debconf information



More information about the pkg-gnome-maintainers mailing list