NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.54k stars 13.71k forks source link

gnome-flashback crashes on login with nixos 22.11 #207954

Closed bitonic closed 1 year ago

bitonic commented 1 year ago

Describe the bug

I just upgraded to nixos 21.11, and gnome-flashback core dumps on login.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Login using "Gnome Flashback (Metacity)"
  2. Use journalctl to witness the coredump

Additional context

Coredump:

Dec 27 11:34:30 lester systemd-coredump[2574]: [🡕] Process 2470 (.gnome-flashbac) of user 1000 dumped core.

                                               Module linux-vdso.so.1 with build-id 7c32d043d05f492840de8a25bd791610c693e20d
                                               Module libgioremote-volume-monitor.so without build-id.
                                               Module libgvfscommon.so without build-id.
                                               Module libgvfsdbus.so without build-id.
                                               Module libdconfsettings.so without build-id.
                                               Module libgcc_s.so.1 without build-id.
                                               Module libstdc++.so.6 without build-id.
                                               Module libicudata.so.72 without build-id.
                                               Module libmvec.so.1 with build-id c84361186db647df0f077fd234de687bf8dcad9d
                                               Module libpcre.so.1 without build-id.
                                               Module libblkid.so.1 with build-id 12830d88f90c6afdeb6c9134fc3144abaa5f5933
                                               Module libGLX.so.0 without build-id.
                                               Module libGLdispatch.so.0 without build-id.
                                               Module libdatrie.so.1 without build-id.
                                               Module libsqlite3.so.0 with build-id 377f9d7f0fb8f5896be673d87eb739eb7866db92
                                               Module libjson-glib-1.0.so.0 without build-id.
                                               Module libicui18n.so.72 without build-id.
                                               Module libicuuc.so.72 without build-id.
                                               Module libdbus-1.so.3 without build-id.
                                               Module libatspi.so.0 without build-id.
                                               Module libexpat.so.1 without build-id.
                                               Module libbz2.so.1 without build-id.
                                               Module libxml2.so.2 without build-id.
                                               Module libogg.so.0 without build-id.
                                               Module libvorbis.so.0 without build-id.
                                               Module libgpg-error.so.0 without build-id.
                                               Module libaudit.so.1 without build-id.
                                               Module libpcre2-8.so.0 without build-id.
                                               Module libffi.so.8 without build-id.
                                               Module libselinux.so.1 without build-id.
                                               Module libmount.so.1 with build-id f558b653963ac3698987751319273c94f0c315f5
                                               Module libjpeg.so.62 without build-id.
                                               Module librt.so.1 with build-id 7c9aae26f0646a27bf0f7c49c914b3258c5fa43e
                                               Module libGL.so.1 without build-id.
                                               Module libxcb-render.so.0 without build-id.
                                               Module libxcb-shm.so.0 without build-id.
                                               Module libpng16.so.16 without build-id.
                                               Module libdl.so.2 with build-id 67c430223def0be24c4ae1a4c3985f26566b8831
                                               Module libEGL.so.1 without build-id.
                                               Module libpixman-1.so.0 with build-id a4a8d46c6b2f698ceaf6661c79d06700493d31ab
                                               Module libgraphite2.so.3 without build-id.
                                               Module libfreetype.so.6 without build-id.
                                               Module libthai.so.0 without build-id.
                                               Module libXinerama.so.1 without build-id.
                                               Module libXcomposite.so.1 without build-id.
                                               Module libXcursor.so.1 without build-id.
                                               Module libwayland-egl.so.1 with build-id 8171942ced8b52694df5c1ebab311b9549db5736
                                               Module libwayland-cursor.so.0 with build-id 491ef69502fedb6101e6abeef176c61f23f75ba4
                                               Module libwayland-client.so.0 with build-id 352f78eee57afd40aeeec3761599b68f82b9a394
                                               Module libxkbcommon.so.0 without build-id.
                                               Module libtracker-sparql-3.0.so.0 without build-id.
                                               Module libatk-bridge-2.0.so.0 without build-id.
                                               Module libepoxy.so.0 without build-id.
                                               Module libfribidi.so.0 without build-id.
                                               Module libfontconfig.so.1 without build-id.
                                               Module libpangoft2-1.0.so.0 without build-id.
                                               Module libgmodule-2.0.so.0 with build-id 420361f4047288835fd7ce42958cb4017eb2fb27
                                               Module libseccomp.so.2 without build-id.
                                               Module libudev.so.1 without build-id.
                                               Module libxkbregistry.so.0 without build-id.
                                               Module libltdl.so.7 without build-id.
                                               Module libvorbisfile.so.3 without build-id.
                                               Module libgthread-2.0.so.0 with build-id 52bec8074fddf4205ca013da002b82ac95aaa20b
                                               Module liblz4.so.1 without build-id.
                                               Module libzstd.so.1 without build-id.
                                               Module liblzma.so.5 without build-id.
                                               Module libgcrypt.so.20 without build-id.
                                               Module libcap.so.2 without build-id.
                                               Module ld-linux-x86-64.so.2 with build-id db50353a26600bb848b9a5541b1506e0a24cb34b
                                               Module libXrender.so.1 without build-id.
                                               Module libXdmcp.so.6 without build-id.
                                               Module libXau.so.6 without build-id.
                                               Module libc.so.6 with build-id 2bb226bc600b443958c7566207d0d02f8345e6ea
                                               Module libpthread.so.0 with build-id 85431f01160c3de171d3baeb3f8cf1c9578dc441
                                               Module libpam.so.0 without build-id.
                                               Module libglib-2.0.so.0 with build-id f1edd83b56d5ee74ed5244d522ecbf888dc97f57
                                               Module libgobject-2.0.so.0 with build-id d308d92c123d3402399e31b4984aac92153dcad3
                                               Module libgio-2.0.so.0 with build-id 942aa1cd5e33e61788ee2a4e05dc98f604127497
                                               Module libgdk_pixbuf-2.0.so.0 with build-id 5eccc1aa5f819f95130b5744a2b5e326605b2612
                                               Module libcairo.so.2 with build-id 9638735c42ef3e14585cb1229a49e8a194748935
                                               Module libcairo-gobject.so.2 with build-id fbf02fc5941cc474b9bd87d159dd77c4420fdb7c
                                               Module libatk-1.0.so.0 without build-id.
                                               Module libharfbuzz.so.0 without build-id.
                                               Module libpango-1.0.so.0 without build-id.
                                               Module libpangocairo-1.0.so.0 without build-id.
                                               Module libz.so.1 without build-id.
                                               Module libgdk-3.so.0 with build-id 3bf45394188608909b0f5b0218d51dab76f7b34e
                                               Module libgtk-3.so.0 with build-id 0cabf97d987a3b463f817d9584def141d7098edf
                                               Module libgnome-desktop-3.so.20 with build-id de919899b6f220c913b118ce49ea9f6d418d083f
                                               Module libX11.so.6 without build-id.
                                               Module libXfixes.so.3 without build-id.
                                               Module libXext.so.6 without build-id.
                                               Module libcanberra.so.0 without build-id.
                                               Module libcanberra-gtk3.so.0 without build-id.
                                               Module libXxf86vm.so.1 without build-id.
                                               Module libsystemd.so.0 without build-id.
                                               Module libgdm.so.1 with build-id cff551386cd8fa557a2ec917feb6e3874c2135eb
                                               Module libm.so.6 with build-id b8454b40db819599169f3a948939aed4b3fc7f82
                                               Module libxkbfile.so.1 without build-id.
                                               Module libibus-1.0.so.5 without build-id.
                                               Module libxcb.so.1 without build-id.
                                               Module libX11-xcb.so.1 without build-id.
                                               Module libXrandr.so.2 without build-id.
                                               Module libxcb-randr.so.0 without build-id.
                                               Module libpolkit-gobject-1.so.0 without build-id.
                                               Module libpolkit-agent-1.so.0 without build-id.
                                               Module libXi.so.6 without build-id.
                                               Module .gnome-flashback-wrapped with build-id b42d6a6ecf7ea2605f533d5f163fb48e4a7162b4
                                               Stack trace of thread 2470:
                                               #0  0x00007f501f374105 g_type_check_instance_cast (libgobject-2.0.so.0 + 0x3b105)
                                               #1  0x0000000000430eac x_event_source_dispatch (.gnome-flashback-wrapped + 0x30eac)
                                               #2  0x00007f501f2549db g_main_context_dispatch (libglib-2.0.so.0 + 0x589db)
                                               #3  0x00007f501f254c88 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0x58c88)
                                               #4  0x00007f501f254f73 g_main_loop_run (libglib-2.0.so.0 + 0x58f73)
                                               #5  0x0000000000420498 main (.gnome-flashback-wrapped + 0x20498)
                                               #6  0x00007f501f00324e __libc_start_call_main (libc.so.6 + 0x2924e)
                                               #7  0x00007f501f003309 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x29309)
                                               #8  0x0000000000420575 _start (.gnome-flashback-wrapped + 0x20575)

                                               Stack trace of thread 2481:
                                               #0  0x00007f501f2a901b g_mutex_lock (libglib-2.0.so.0 + 0xad01b)
                                               #1  0x00007f501f36876c g_signal_handlers_destroy (libgobject-2.0.so.0 + 0x2f76c)
                                               #2  0x00007f501f354cad g_object_real_dispose (libgobject-2.0.so.0 + 0x1bcad)
                                               #3  0x00007f501f355741 g_object_unref (libgobject-2.0.so.0 + 0x1c741)
                                               #4  0x00007f501f250af3 g_source_callback_unref (libglib-2.0.so.0 + 0x54af3)
                                               #5  0x00007f501f251049 g_source_destroy_internal (libglib-2.0.so.0 + 0x55049)
                                               #6  0x00007f501f254970 g_main_context_dispatch (libglib-2.0.so.0 + 0x58970)
                                               #7  0x00007f501f254c88 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0x58c88)
                                               #8  0x00007f501f254f73 g_main_loop_run (libglib-2.0.so.0 + 0x58f73)
                                               #9  0x00007f501f4ba216 gdbus_shared_thread_func (libgio-2.0.so.0 + 0x120216)
                                               #10 0x00007f501f27f8cd g_thread_proxy (libglib-2.0.so.0 + 0x838cd)
                                               #11 0x00007f501f062e86 start_thread (libc.so.6 + 0x88e86)
                                               #12 0x00007f501f0e9c60 __clone3 (libc.so.6 + 0x10fc60)

                                               Stack trace of thread 2486:
                                               #0  0x00007f501f0dc6c9 __poll (libc.so.6 + 0x1026c9)
                                               #1  0x00007f501f254c26 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0x58c26)
                                               #2  0x00007f501f254d3f g_main_context_iteration (libglib-2.0.so.0 + 0x58d3f)
                                               #3  0x00007f5019c8b46d dconf_gdbus_worker_thread (libdconfsettings.so + 0xb46d)
                                               #4  0x00007f501f27f8cd g_thread_proxy (libglib-2.0.so.0 + 0x838cd)
                                               #5  0x00007f501f062e86 start_thread (libc.so.6 + 0x88e86)
                                               #6  0x00007f501f0e9c60 __clone3 (libc.so.6 + 0x10fc60)

                                               Stack trace of thread 2477:
                                               #0  0x00007f501f0dc6c9 __poll (libc.so.6 + 0x1026c9)
                                               #1  0x00007f501f254c26 g_main_context_iterate.constprop.0 (libglib-2.0.so.0 + 0x58c26)
                                               #2  0x00007f501f254d3f g_main_context_iteration (libglib-2.0.so.0 + 0x58d3f)
                                               #3  0x00007f501f254d91 glib_worker_main (libglib-2.0.so.0 + 0x58d91)
                                               #4  0x00007f501f27f8cd g_thread_proxy (libglib-2.0.so.0 + 0x838cd)
                                               #5  0x00007f501f062e86 start_thread (libc.so.6 + 0x88e86)
                                               #6  0x00007f501f0e9c60 __clone3 (libc.so.6 + 0x10fc60)

                                               Stack trace of thread 2569:
                                               #0  0x00007f501f0e1d3d syscall (libc.so.6 + 0x107d3d)
                                               #1  0x00007f501f2a9272 g_cond_wait_until (libglib-2.0.so.0 + 0xad272)
                                               #2  0x00007f501f222a91 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x26a91)
                                               #3  0x00007f501f28030a g_thread_pool_thread_proxy (libglib-2.0.so.0 + 0x8430a)
                                               #4  0x00007f501f27f8cd g_thread_proxy (libglib-2.0.so.0 + 0x838cd)
                                               #5  0x00007f501f062e86 start_thread (libc.so.6 + 0x88e86)
                                               #6  0x00007f501f0e9c60 __clone3 (libc.so.6 + 0x10fc60)

                                               Stack trace of thread 2566:
                                               #0  0x00007f501f0e1d3d syscall (libc.so.6 + 0x107d3d)
                                               #1  0x00007f501f2a9272 g_cond_wait_until (libglib-2.0.so.0 + 0xad272)
                                               #2  0x00007f501f222a91 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x26a91)
                                               #3  0x00007f501f28030a g_thread_pool_thread_proxy (libglib-2.0.so.0 + 0x8430a)
                                               #4  0x00007f501f27f8cd g_thread_proxy (libglib-2.0.so.0 + 0x838cd)
                                               #5  0x00007f501f062e86 start_thread (libc.so.6 + 0x88e86)
                                               #6  0x00007f501f0e9c60 __clone3 (libc.so.6 + 0x10fc60)

                                               Stack trace of thread 2570:
                                               #0  0x00007f501f0e1d3d syscall (libc.so.6 + 0x107d3d)
                                               #1  0x00007f501f2a9272 g_cond_wait_until (libglib-2.0.so.0 + 0xad272)
                                               #2  0x00007f501f222a91 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x26a91)
                                               #3  0x00007f501f28030a g_thread_pool_thread_proxy (libglib-2.0.so.0 + 0x8430a)
                                               #4  0x00007f501f27f8cd g_thread_proxy (libglib-2.0.so.0 + 0x838cd)
                                               #5  0x00007f501f062e86 start_thread (libc.so.6 + 0x88e86)
                                               #6  0x00007f501f0e9c60 __clone3 (libc.so.6 + 0x10fc60)
                                               ELF object binary architecture: AMD x86-64

If I had to guess, the first stack trace seem to blame:

                                               Stack trace of thread 2470:
                                               #0  0x00007f501f374105 g_type_check_instance_cast (libgobject-2.0.so.0 + 0x3b105)
                                               #1  0x0000000000430eac x_event_source_dispatch (.gnome-flashback-wrapped + 0x30eac)

The other are just waiting on stuff. I tried to get debug symbols using the instructions in https://discourse.nixos.org/t/how-to-investigate-gnome-crashing/19726/2, but it does not seem to work.

Notify maintainers

@jtojnar

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

lester ~ 11:50:11 % nix-info -m
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.85, NixOS, 22.11 (Raccoon), 22.11.1137.dac57a4eccf`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.11.1`
 - channels(bitonic): `"nixos-22.11"`
 - channels(root): `"nixos-22.11, nixos-unstable"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
bitonic commented 1 year ago

By the way, same thing on unstable.

jtojnar commented 1 year ago

Do you mean you tried adding the following to your configuration, tried logging into a Flashback session and then looked at the appropriate coredumpctl trace by coredumctl gdb <pid> and then entered bt?

  environment.systemPackages = with pkgs; [
    gdb
    # To link debug symbols to path where gdb can see them.
    glib
    gnome.gnome-flashback
  ];

  environment.enableDebugInfo = true;

  nixpkgs.overlays = [
    (final: prev: {
      # These three packages contain debug symbols since NixOS 22.11.
      # You do not need this overlay on that or later versions.
      gnome = prev.gnome.overrideScope' (gfinal: gprev: {
        gnome-flashback = gprev.gnome-flashback.overrideAttrs (attrs: {
          separateDebugInfo = true;
        });
      });
    })
  ];
}

What specificity does not work?