Regreet segfaults on NixOS 24.11

After upgrading to NixOS 24.11, regreet failed to start. Previously on NixOS 24.05 it works fine. I use a minimal configuration like the following:

  programs.regreet = {
    enable = true;
    cageArgs = ["-s"];
  };

Checking journalctl for the boot log, there are traces of segfault:


┌2024-12-12 18:43:39 sodawater systemd[1]: Started greetd.service.                                                                                          │
│2024-12-12 18:43:44 sodawater greetd[1845]: pam_unix(greetd:session): session opened for user greeter(uid=988) by (uid=0)                                  │
│2024-12-12 18:43:45 sodawater kernel: .regreet-wrappe[1907]: segfault at 28 ip 00007f6867ea902d sp 00007fff49ce0a30 error 4 in libwayland-client.so.0.23.1[│
7f6867ea8000+7000] likely on CPU 10 (core 5, socket 0)                                                                                                      │
│2024-12-12 18:43:45 sodawater systemd-coredump[1976]: Process 1907 (.regreet-wrappe) of user 988 terminated abnormally with signal 11/SEGV, processing...  │
│2024-12-12 18:43:46 sodawater systemd-coredump[1977]: Process 1907 (.regreet-wrappe) of user 988 dumped core.

Here’s the core dump:

12月 12 18:43:46 sodawater systemd-coredump[1977]: Process 1907 (.regreet-wrappe) of user 988 dumped core.
                                                    
                                                    Module libdrm_amdgpu.so.1 without build-id.
                                                    Module libncursesw.so.6 without build-id.
                                                    Module libcap.so.2 without build-id.
                                                    Module libxcb-keysyms.so.1 without build-id.
                                                    Module libxshmfence.so.1 without build-id.
                                                    Module libxcb-randr.so.0 without build-id.
                                                    Module libxcb-sync.so.1 without build-id.
                                                    Module libxcb-xfixes.so.0 without build-id.
                                                    Module libxcb-present.so.0 without build-id.
                                                    Module libxcb-dri3.so.0 without build-id.
                                                    Module libX11-xcb.so.1 without build-id.
                                                    Module libdrm.so.2 without build-id.
                                                    Module libdconfsettings.so without build-id.
                                                    Module libFcitx5GClient.so.2 without build-id.
                                                    Module libim-fcitx5.so without build-id.
                                                    Module libstdc++.so.6 without build-id.
                                                    Module libsharpyuv.so.0 without build-id.
                                                    Module libbrotlicommon.so.1 without build-id.
                                                    Module libXdmcp.so.6 without build-id.
                                                    Module libXau.so.6 without build-id.
                                                    Module libdatrie.so.1 without build-id.
                                                    Module libdeflate.so.0 without build-id.
                                                    Module libLerc.so.4 without build-id.
                                                    Module liblzma.so.5 without build-id.
                                                    Module libzstd.so.1 without build-id.
                                                    Module libwebp.so.7 without build-id.
                                                    Module libxml2.so.2 without build-id.
                                                    Module libjson-glib-1.0.so.0 without build-id.
                                                    Module libexpat.so.1 without build-id.
                                                    Module libbrotlidec.so.1 without build-id.
                                                    Module libbz2.so.1 without build-id.
                                                    Module libgraphite2.so.3 without build-id.
                                                    Module libpcre2-8.so.0 without build-id.
                                                    Module libselinux.so.1 without build-id.
                                                    Module libxcb-shm.so.0 without build-id.
                                                    Module libxcb-render.so.0 without build-id.
                                                    Module libxcb.so.1 without build-id.
                                                    Module libXrender.so.1 without build-id.
                                                    Module libfreetype.so.6 without build-id.
                                                    Module libz.so.1 without build-id.
                                                    Module libthai.so.0 without build-id.
                                                    Module libXinerama.so.1 without build-id.
                                                    Module libXrandr.so.2 without build-id.
                                                    Module libXfixes.so.3 without build-id.
                                                    Module libXdamage.so.1 without build-id.
                                                    Module libXcursor.so.1 without build-id.
                                                    Module libXext.so.6 without build-id.
                                                    Module libxkbcommon.so.0 without build-id.
                                                    Module libjpeg.so.62 without build-id.
                                                    Module libtiff.so.6 without build-id.
                                                    Module libpng16.so.16 without build-id.
                                                    Module libvulkan.so.1 without build-id.
                                                    Module libtinysparql-3.0.so.0 without build-id.
                                                    Module libpangoft2-1.0.so.0 without build-id.
                                                    Module libX11.so.6 without build-id.
                                                    Module libXi.so.6 without build-id.
                                                    Module libgraphene-1.0.so.0 without build-id.
                                                    Module libepoxy.so.0 without build-id.
                                                    Module libfontconfig.so.1 without build-id.
                                                    Module libfribidi.so.0 without build-id.
                                                    Module libharfbuzz-subset.so.0 without build-id.
                                                    Module libharfbuzz.so.0 without build-id.
                                                    Module libpangocairo-1.0.so.0 without build-id.
                                                    Module libffi.so.8 without build-id.
                                                    Module libgcc_s.so.1 without build-id.
                                                    Module libpango-1.0.so.0 without build-id.
                                                    Module .regreet-wrapped without build-id.
                                                    Stack trace of thread 1907:
                                                    #0  0x00007f6867ea902d wl_proxy_add_listener (libwayland-client.so.0 + 0x702d)
                                                    #1  0x00007f683b9986cc n/a (amdvlk64.so + 0x5986cc)
                                                    #2  0x00007f683b998943 n/a (amdvlk64.so + 0x598943)
                                                    #3  0x00007f683b886fd1 n/a (amdvlk64.so + 0x486fd1)
                                                    #4  0x00007f683baed35f n/a (amdvlk64.so + 0x6ed35f)
                                                    #5  0x00007f686951047b gdk_vulkan_context_check_swapchain (libgtk-4.so.1 + 0x51047b)
                                                    #6  0x00007f68695117d7 gdk_vulkan_context_real_init (libgtk-4.so.1 + 0x5117d7)
                                                    #7  0x00007f6868c891ff g_initable_new_valist (libgio-2.0.so.0 + 0x891ff)
                                                    #8  0x00007f6868c892e9 g_initable_new (libgio-2.0.so.0 + 0x892e9)
                                                    #9  0x00007f686954dab8 gsk_vulkan_renderer_create_context (libgtk-4.so.1 + 0x54dab8)
                                                    #10 0x00007f68695a05f4 gsk_gpu_renderer_realize (libgtk-4.so.1 + 0x5a05f4)
                                                    #11 0x00007f6869522618 gsk_renderer_do_realize (libgtk-4.so.1 + 0x522618)
                                                    #12 0x00007f68695237e9 gsk_renderer_new_for_surface (libgtk-4.so.1 + 0x5237e9)
                                                    #13 0x00007f68692dfb30 gtk_window_realize (libgtk-4.so.1 + 0x2dfb30)
                                                    #14 0x00007f68690f9610 gtk_application_window_real_realize (libgtk-4.so.1 + 0xf9610)
                                                    #15 0x00007f6869b0dfb1 _g_closure_invoke_va (libgobject-2.0.so.0 + 0x17fb1)
                                                    #16 0x00007f6869b23b6c signal_emit_valist_unlocked (libgobject-2.0.so.0 + 0x2db6c)
                                                    #17 0x00007f6869b29542 g_signal_emit_valist (libgobject-2.0.so.0 + 0x33542)
                                                    #18 0x00007f6869b295ff g_signal_emit (libgobject-2.0.so.0 + 0x335ff)
                                                    #19 0x00007f68692d381f gtk_widget_realize (libgtk-4.so.1 + 0x2d381f)
                                                    #20 0x00007f68692e5ccd gtk_window_show (libgtk-4.so.1 + 0x2e5ccd)
                                                    #21 0x00007f6869b0dfb1 _g_closure_invoke_va (libgobject-2.0.so.0 + 0x17fb1)
                                                    #22 0x00007f6869b23b6c signal_emit_valist_unlocked (libgobject-2.0.so.0 + 0x2db6c)
                                                    #23 0x00007f6869b29542 g_signal_emit_valist (libgobject-2.0.so.0 + 0x33542)
                                                    #24 0x00007f6869b295ff g_signal_emit (libgobject-2.0.so.0 + 0x335ff)
                                                    #25 0x00007f68692c8db9 gtk_widget_show (libgtk-4.so.1 + 0x2c8db9)
                                                    #26 0x000055ae147f06d4 _ZN60_$LT$O$u20$as$u20$gio..auto..application..ApplicationExt$GT$16connect_activate19activate_trampoline17he374124df5b5cec1E (.regreet-wrapped + 0xc66d4)
                                                    #27 0x00007f6869b0dda8 g_closure_invoke (libgobject-2.0.so.0 + 0x17da8)
                                                    #28 0x00007f6869b220fc signal_emit_unlocked_R.isra.0 (libgobject-2.0.so.0 + 0x2c0fc)
                                                    #29 0x00007f6869b23a71 signal_emit_valist_unlocked (libgobject-2.0.so.0 + 0x2da71)
                                                    #30 0x00007f6869b29542 g_signal_emit_valist (libgobject-2.0.so.0 + 0x33542)
                                                    #31 0x00007f6869b295ff g_signal_emit (libgobject-2.0.so.0 + 0x335ff)
                                                    #32 0x00007f6868cf2920 g_application_real_local_command_line (libgio-2.0.so.0 + 0xf2920)
                                                    #33 0x00007f6868cf2ab6 g_application_run (libgio-2.0.so.0 + 0xf2ab6)
                                                    #34 0x000055ae147e6928 _ZN60_$LT$O$u20$as$u20$gio..application..ApplicationExtManual$GT$13run_with_args17h3149156e3e2551d3E (.regreet-wrapped + 0xbc928)
                                                    #35 0x000055ae147c05ed _ZN5relm43app7RelmApp19run_async_with_args17h8c2a228540a3f3b7E (.regreet-wrapped + 0x965ed)
                                                    #36 0x000055ae147a35dd _ZN7regreet4main17h57368fbd20e461e8E (.regreet-wrapped + 0x795dd)
                                                    #37 0x000055ae1479ec83 _ZN3std3sys9backtrace28__rust_begin_short_backtrace17h57c3ec0f111cb393E (.regreet-wrapped + 0x74c83)
                                                    #38 0x000055ae147eab19 _ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h3e87cf079a750535E.llvm.18225039273703216832 (.regreet-wrapped + 0xc0b19)
                                                    #39 0x000055ae149cb6f5 _ZN3std2rt19lang_start_internal17h2084fce485147f46E (.regreet-wrapped + 0x2a16f5)
                                                    #40 0x000055ae147a6085 main (.regreet-wrapped + 0x7c085)
                                                    #41 0x00007f68687f527e __libc_start_call_main (libc.so.6 + 0x2a27e)
                                                    #42 0x00007f68687f5339 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a339)
                                                    #43 0x000055ae147809a5 _start (.regreet-wrapped + 0x569a5)
                                                    
                                                    Stack trace of thread 1961:
                                                    #0  0x00007f68688d913d syscall (libc.so.6 + 0x10e13d)
                                                    #1  0x00007f6868b3dc00 g_cond_wait_until (libglib-2.0.so.0 + 0x92c00)
                                                    #2  0x00007f6868ad46db g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x296db)
                                                    #3  0x00007f6868b3e532 g_thread_pool_thread_proxy (libglib-2.0.so.0 + 0x93532)
                                                    #4  0x00007f6868b3debe g_thread_proxy (libglib-2.0.so.0 + 0x92ebe)
                                                    #5  0x00007f686885bd02 start_thread (libc.so.6 + 0x90d02)
                                                    #6  0x00007f68688db3ac __clone3 (libc.so.6 + 0x1103ac)
                                                    
                                                    Stack trace of thread 1908:
                                                    #0  0x00007f68688d913d syscall (libc.so.6 + 0x10e13d)
                                                    #1  0x000055ae1499ce33 _ZN3std6thread4park17h195fb2a79c8ae7dfE (.regreet-wrapped + 0x272e33)
                                                    #2  0x000055ae1479ceb6 _ZN17crossbeam_channel7context7Context10wait_until17h196d4039f596737cE (.regreet-wrapped + 0x72eb6)
                                                    #3  0x000055ae1479dad6 _ZN17crossbeam_channel7flavors5array16Channel$LT$T$GT$4recv28_$u7b$$u7b$closure$u7d$$u7d$17h41c758e83bc6662fE (.regreet-wrapped + 0x73ad6)
                                                    #4  0x000055ae1479d42a _ZN17crossbeam_channel7flavors5array16Channel$LT$T$GT$4recv17h047181325b3cacd3E (.regreet-wrapped + 0x7342a)
                                                    #5  0x000055ae147c92da _ZN17crossbeam_channel7channel17Receiver$LT$T$GT$4recv17h87af5270b8057785E (.regreet-wrapped + 0x9f2da)
                                                    #6  0x000055ae147c901a _ZN16tracing_appender6worker15Worker$LT$T$GT$4work17hc3897da40082a50cE (.regreet-wrapped + 0x9f01a)
                                                    #7  0x000055ae1479ec23 _ZN3std3sys9backtrace28__rust_begin_short_backtrace17h2805498f57b4a668E (.regreet-wrapped + 0x74c23)
                                                    #8  0x000055ae1479faeb _ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17ha11508a99da99ca5E (.regreet-wrapped + 0x75aeb)
                                                    #9  0x000055ae1499ee3b _ZN3std3sys3pal4unix6thread6Thread3new12thread_start17h87241c7e32b9860bE (.regreet-wrapped + 0x274e3b)
                                                    #10 0x00007f686885bd02 start_thread (libc.so.6 + 0x90d02)
                                                    #11 0x00007f68688db3ac __clone3 (libc.so.6 + 0x1103ac)
                                                    
                                                    Stack trace of thread 1914:
                                                    #0  0x00007f68688db86e epoll_wait (libc.so.6 + 0x11086e)
                                                    #1  0x000055ae1498f3b8 _ZN3mio3sys4unix8selector5epoll8Selector6select17hca99fda13d495412E (.regreet-wrapped + 0x2653b8)
                                                    #2  0x000055ae14981cd7 _ZN5tokio7runtime2io6Driver4turn17h670d3e1faa7e3e4fE.llvm.988846066291218457 (.regreet-wrapped + 0x257cd7)
                                                    #3  0x000055ae14988fb4 _ZN5tokio7runtime4time6Driver13park_internal17h773f3b891f17c695E.llvm.7946255173966584698 (.regreet-wrapped + 0x25efb4)
                                                    #4  0x000055ae1497cd96 _ZN5tokio7runtime9scheduler12multi_thread4park6Parker4park17h8c873551ffdf3736E (.regreet-wrapped + 0x252d96)
                                                    #5  0x000055ae149883c7 _ZN5tokio7runtime9scheduler12multi_thread6worker7Context12park_timeout17h3ec3f54b652f40b4E (.regreet-wrapped + 0x25e3c7)
                                                    #6  0x000055ae14987714 _ZN5tokio7runtime9scheduler12multi_thread6worker7Context3run17hed59d55972e2b873E (.regreet-wrapped + 0x25d714)
                                                    #7  0x000055ae1497a542 _ZN5tokio6macros10scoped_tls18ScopedKey$LT$T$GT$3set17ha18f152a1775251dE (.regreet-wrapped + 0x250542)
                                                    #8  0x000055ae14986f75 _ZN5tokio7runtime9scheduler12multi_thread6worker3run17h1c4d39713cc8c168E (.regreet-wrapped + 0x25cf75)
                                                    #9  0x000055ae14976df6 _ZN102_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$4poll17hac64fe9dfe56089fE (.regreet-wrapped + 0x24cdf6)
                                                    #10 0x000055ae1497ff5f _ZN5tokio7runtime4task4core17Core$LT$T$C$S$GT$4poll17h637fb15775a5408fE (.regreet-wrapped + 0x255f5f)
                                                    #11 0x000055ae14976257 _ZN5tokio7runtime4task7harness20Harness$LT$T$C$S$GT$4poll17hdabad8e350c394ecE (.regreet-wrapped + 0x24c257)
                                                    #12 0x000055ae1497e35d _ZN5tokio7runtime8blocking4pool5Inner3run17h87d1706a8136b6beE (.regreet-wrapped + 0x25435d)
                                                    #13 0x000055ae14973008 _ZN3std3sys9backtrace28__rust_begin_short_backtrace17h90bd968055e6aff5E (.regreet-wrapped + 0x249008)
                                                    #14 0x000055ae1497f6c2 _ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h5c181ac39e2241c9E (.regreet-wrapped + 0x2556c2)
                                                    #15 0x000055ae1499ee3b _ZN3std3sys3pal4unix6thread6Thread3new12thread_start17h87241c7e32b9860bE (.regreet-wrapped + 0x274e3b)
                                                    #16 0x00007f686885bd02 start_thread (libc.so.6 + 0x90d02)
                                                    #17 0x00007f68688db3ac __clone3 (libc.so.6 + 0x1103ac)
                                                    
                                                    Stack trace of thread 1911:
                                                    #0  0x00007f68688cd6b6 ppoll (libc.so.6 + 0x1026b6)
                                                    #1  0x00007f6868b0d763 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0x62763)
                                                    #2  0x00007f6868b0de9c g_main_context_iteration (libglib-2.0.so.0 + 0x62e9c)
                                                    #3  0x00007f6868b0def1 glib_worker_main (libglib-2.0.so.0 + 0x62ef1)
                                                    #4  0x00007f6868b3debe g_thread_proxy (libglib-2.0.so.0 + 0x92ebe)
                                                    #5  0x00007f686885bd02 start_thread (libc.so.6 + 0x90d02)
                                                    #6  0x00007f68688db3ac __clone3 (libc.so.6 + 0x1103ac)
                                                    
                                                    Stack trace of thread 1910:
                                                    #0  0x00007f68688d913d syscall (libc.so.6 + 0x10e13d)
                                                    #1  0x00007f6868b3d760 g_cond_wait (libglib-2.0.so.0 + 0x92760)
                                                    #2  0x00007f6868ad470b g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x2970b)
                                                    #3  0x00007f6868b3e1b2 g_thread_pool_spawn_thread (libglib-2.0.so.0 + 0x931b2)
                                                    #4  0x00007f6868b3debe g_thread_proxy (libglib-2.0.so.0 + 0x92ebe)
                                                    #5  0x00007f686885bd02 start_thread (libc.so.6 + 0x90d02)
                                                    #6  0x00007f68688db3ac __clone3 (libc.so.6 + 0x1103ac)
                                                    
                                                    Stack trace of thread 1909:
                                                    #0  0x00007f68688d913d syscall (libc.so.6 + 0x10e13d)
                                                    #1  0x00007f6868b3d760 g_cond_wait (libglib-2.0.so.0 + 0x92760)
                                                    #2  0x00007f6868ad470b g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x2970b)
                                                    #3  0x00007f6868ad4bc7 g_async_queue_pop (libglib-2.0.so.0 + 0x29bc7)
                                                    #4  0x00007f6868208403 fc_thread_func (libpangoft2-1.0.so.0 + 0xd403)
                                                    #5  0x00007f6868b3debe g_thread_proxy (libglib-2.0.so.0 + 0x92ebe)
                                                    #6  0x00007f686885bd02 start_thread (libc.so.6 + 0x90d02)
                                                    #7  0x00007f68688db3ac __clone3 (libc.so.6 + 0x1103ac)
                                                    
                                                    Stack trace of thread 1912:
                                                    #0  0x00007f68688cd6b6 ppoll (libc.so.6 + 0x1026b6)
                                                    #1  0x00007f6868b0d763 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0x62763)
                                                    #2  0x00007f6868b0de9c g_main_context_iteration (libglib-2.0.so.0 + 0x62e9c)
                                                    #3  0x00007f68673f0d9d dconf_gdbus_worker_thread (libdconfsettings.so + 0xcd9d)
                                                    #4  0x00007f6868b3debe g_thread_proxy (libglib-2.0.so.0 + 0x92ebe)
                                                    #5  0x00007f686885bd02 start_thread (libc.so.6 + 0x90d02)
                                                    #6  0x00007f68688db3ac __clone3 (libc.so.6 + 0x1103ac)
                                                    
                                                    Stack trace of thread 1913:
                                                    #0  0x00007f68688cd6b6 ppoll (libc.so.6 + 0x1026b6)
                                                    #1  0x00007f6868b0d763 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0x62763)
                                                    #2  0x00007f6868b0e0df g_main_loop_run (libglib-2.0.so.0 + 0x630df)
                                                    #3  0x00007f6868d331a6 gdbus_shared_thread_func (libgio-2.0.so.0 + 0x1331a6)
                                                    #4  0x00007f6868b3debe g_thread_proxy (libglib-2.0.so.0 + 0x92ebe)
                                                    #5  0x00007f686885bd02 start_thread (libc.so.6 + 0x90d02)
                                                    #6  0x00007f68688db3ac __clone3 (libc.so.6 + 0x1103ac)
                                                    ELF object binary architecture: AMD x86-64


AMDVLK can cause a ton of issues and this one would be in reach too. Disable it.

1 Like

It worked! removing amdvlk from extraPackages and regreet works again. Thanks a lot!

As a bit of unsolicited advice: Don’t go out switching the entire implementation of something as fundamental as a Vulkan driver unless you know full well what you’re doing; even if you see people suggesting it online.

Same goes for setting magic session env vars that supposedly make things better. There’s usually a reason they’re not set by default.

1 Like