Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

greeter crashes at launch on fedora, segfaults in gsettings code #179

Closed
decathorpe opened this issue Oct 29, 2018 · 1 comment
Closed
Milestone

Comments

@decathorpe
Copy link
Contributor

I tried finding the root cause of this issue, but I can't figure out why the greeter crashes on fedora but works on ubuntu.

This is the traceback that I can gather from the SIGSEGV crash (I think only the first thread is interesting):

Process 949 (io.elementary.g) of user 977 dumped core.

Stack trace of thread 949:
#0  0x00007fc039bad855 _g_log_abort (libglib-2.0.so.0)
#1  0x00007fc039bae921 g_log_default_handler (libglib-2.0.so.0)
#2  0x00007fc039baeb6f g_logv (libglib-2.0.so.0)
#3  0x00007fc039baed63 g_log (libglib-2.0.so.0)
#4  0x00007fc038432b1e g_settings_schema_get_value (libgio-2.0.so.0)
#5  0x00007fc038433180 g_settings_schema_key_init (libgio-2.0.so.0)
#6  0x00007fc03843760f g_settings_set_value (libgio-2.0.so.0)
#7  0x00005567b5c86080 settings_daemon_set_plugin_enabled (io.elementary.greeter)
#8  0x00005567b5c86c8d settings_daemon_start (io.elementary.greeter)
#9  0x00005567b5c84d82 pantheon_greeter_construct (io.elementary.greeter)
#10 0x00005567b5c85efa pantheon_greeter_new (io.elementary.greeter)
#11 0x00007fc03710f11b __libc_start_main (libc.so.6)
#12 0x00005567b5c8314a _start (io.elementary.greeter)

Stack trace of thread 955:
#0  0x00007fc0371db3e9 __poll (libc.so.6)
#1  0x00007fc039ba7bc6 g_main_context_iterate.isra.21 (libglib-2.0.so.0)
#2  0x00007fc039ba7cf0 g_main_context_iteration (libglib-2.0.so.0)
#3  0x00007fc039ba7d41 glib_worker_main (libglib-2.0.so.0)
#4  0x00007fc039bcff8a g_thread_proxy (libglib-2.0.so.0)
#5  0x00007fc0374b2594 start_thread (libpthread.so.0)
#6  0x00007fc0371e5e6f __clone (libc.so.6)

Stack trace of thread 985:
#0  0x00007fc0374b851c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007fc0287d80c3 thread_function (swrast_dri.so)
#2  0x00007fc0287d800b impl_thrd_routine (swrast_dri.so)
#3  0x00007fc0374b2594 start_thread (libpthread.so.0)
#4  0x00007fc0371e5e6f __clone (libc.so.6)

Stack trace of thread 988:
#0  0x00007fc0374b851c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007fc0287d80c3 thread_function (swrast_dri.so)
#2  0x00007fc0287d800b impl_thrd_routine (swrast_dri.so)
#3  0x00007fc0374b2594 start_thread (libpthread.so.0)
#4  0x00007fc0371e5e6f __clone (libc.so.6)

Stack trace of thread 987:
#0  0x00007fc0374b851c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007fc0287d80c3 thread_function (swrast_dri.so)
#2  0x00007fc0287d800b impl_thrd_routine (swrast_dri.so)
#3  0x00007fc0374b2594 start_thread (libpthread.so.0)
#4  0x00007fc0371e5e6f __clone (libc.so.6)

Stack trace of thread 986:
#0  0x00007fc0374b851c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
#1  0x00007fc0287d80c3 thread_function (swrast_dri.so)
#2  0x00007fc0287d800b impl_thrd_routine (swrast_dri.so)
#3  0x00007fc0374b2594 start_thread (libpthread.so.0)
#4  0x00007fc0371e5e6f __clone (libc.so.6)

Stack trace of thread 970:
#0  0x00007fc0371e0879 syscall (libc.so.6)
#1  0x00007fc039bee76e g_cond_wait_until (libglib-2.0.so.0)
#2  0x00007fc039b7a0f1 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0)
#3  0x00007fc039bd0ad2 g_thread_pool_thread_proxy (libglib-2.0.so.0)
#4  0x00007fc039bcff8a g_thread_proxy (libglib-2.0.so.0)
#5  0x00007fc0374b2594 start_thread (libpthread.so.0)
#6  0x00007fc0371e5e6f __clone (libc.so.6)

Stack trace of thread 967:
#0  0x00007fc0371db3e9 __poll (libc.so.6)
#1  0x00007fc039ba7bc6 g_main_context_iterate.isra.21 (libglib-2.0.so.0)
#2  0x00007fc039ba7f82 g_main_loop_run (libglib-2.0.so.0)
#3  0x00007fc0383f27aa gdbus_shared_thread_func (libgio-2.0.so.0)
#4  0x00007fc039bcff8a g_thread_proxy (libglib-2.0.so.0)
#5  0x00007fc0374b2594 start_thread (libpthread.so.0)
#6  0x00007fc0371e5e6f __clone (libc.so.6)

Stack trace of thread 971:
#0  0x00007fc0371e0879 syscall (libc.so.6)
#1  0x00007fc039bee76e g_cond_wait_until (libglib-2.0.so.0)
#2  0x00007fc039b7a0f1 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0)
#3  0x00007fc039bd0ad2 g_thread_pool_thread_proxy (libglib-2.0.so.0)
#4  0x00007fc039bcff8a g_thread_proxy (libglib-2.0.so.0)
#5  0x00007fc0374b2594 start_thread (libpthread.so.0)
#6  0x00007fc0371e5e6f __clone (libc.so.6)

Stack trace of thread 1058:
#0  0x00007fc018753e34 dconf_gdbus_worker_thread (libdconfsettings.so)
#1  0x00007fc039bcff8a g_thread_proxy (libglib-2.0.so.0)
#2  0x00007fc0374b2594 start_thread (libpthread.so.0)
#3  0x00007fc0371e5e6f __clone (libc.so.6)

If I comment out the code handling gnome-settings-daemon in the src/SettingsDaemon.vala file, the greeter launches fine, but GTK and icon theme are messed up (probably because it's falling back to adwaita / hicolor).

@decathorpe
Copy link
Contributor Author

After spending some more time investigating this, I found that the elementary greeter code relies on ubuntu-specific downstream patches to gnome-settings-daemon here. The active GSettings keys aren't present in upstream gnome-settings-daemon anymore (which is why they're not present in fedora).

With this patch I'm able to get it working - mostly:
https://github.com/decathorpe/elementary-nightly-rpms/blob/master/sources/elementary-greeter/00-remove-broken-gsettings.patch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants