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 knows no session and crashes #212

Open
decathorpe opened this Issue Nov 23, 2018 · 3 comments

Comments

Projects
None yet
2 participants
@decathorpe
Copy link
Contributor

decathorpe commented Nov 23, 2018

On fedora 28, 29, and 30, a greeter built from the latest git master crashes after successfully authenticating with password:

(...) session_real_run: assertion 'priv->argv != NULL' failed

Process 952 (io.elementary.g) of user 977 dumped core.
    Stack trace of thread 952:
    #0  0x00007f53689b9855 _g_log_abort (libglib-2.0.so.0)
    #1  0x00007f53689ba921 g_log_default_handler (libglib-2.0.so.0)
    #2  0x00007f53689bab6f g_logv (libglib-2.0.so.0)
    #3  0x00007f53689bad63 g_log (libglib-2.0.so.0)
    #4  0x00005591cc9a935b _greeter_main_window_authentication_complete_lightdm_greeter_authentication_complete (io.elementary.greeter)
    #5  0x00007f5368c8eee6 _g_closure_invoke_va (libgobject-2.0.so.0)
    #6  0x00007f5368cab361 g_signal_emit_valist (libgobject-2.0.so.0)
    #7  0x00007f5368cab903 g_signal_emit (libgobject-2.0.so.0)
    #8  0x00007f5366d039d4 handle_message (liblightdm-gobject-1.so.0)
    #9  0x00007f5366d03bd1 from_server_cb (liblightdm-gobject-1.so.0)
    #10 0x00007f53689b388d g_main_context_dispatch (libglib-2.0.so.0)
    #11 0x00007f53689b3c58 g_main_context_iterate.isra.21 (libglib-2.0.so.0)
    #12 0x00007f53689b3f82 g_main_loop_run (libglib-2.0.so.0)
    #13 0x00007f53682877fd gtk_main (libgtk-3.so.0)
    #14 0x00005591cc9a7ae0 _vala_main (io.elementary.greeter)
    #15 0x00007f536673f11b __libc_start_main (libc.so.6)
    #16 0x00005591cc9a773a _start (io.elementary.greeter)

(... other unrelated threads following ...)

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@decathorpe

This comment has been minimized.

Copy link
Contributor

decathorpe commented Dec 19, 2018

I seem to have found the issue - the combobox for the session selection has no initial value if there are multiple options. If none of them are manually checked before logging in, it results in a null dereference. If I manually check "Pantheon" (or GNOME, for that matter), login works.

It also doesn't seem to remember the choice, since I have to select a session every time I log in, otherwise it's unselected again and the greeter crashes.

@codygarver

This comment has been minimized.

Copy link
Contributor

codygarver commented Jan 14, 2019

In order to log in at all without crashing I have to hardcode Pantheon as the session:

diff --git a/src/MainWindow.vala b/src/MainWindow.vala
index 71c0060..f70e645 100644
--- a/src/MainWindow.vala
+++ b/src/MainWindow.vala
@@ -311,7 +311,7 @@ public class Greeter.MainWindow : Gtk.ApplicationWindow {
         if (lightdm_greeter.is_authenticated) {
             var action_group = get_action_group ("session");
             try {
-                lightdm_greeter.start_session_sync (action_group.get_action_state ("select").get_string ());
+                lightdm_greeter.start_session_sync ("pantheon");
             } catch (Error e) {
                 error (e.message);
             }

@codygarver codygarver changed the title greeter crashes after successful authentication Greeter knows no session and crashes Jan 14, 2019

@decathorpe

This comment has been minimized.

Copy link
Contributor

decathorpe commented Jan 14, 2019

Hard-coding Pantheon should not be necessary.

Setting the initially selected value of the combobox should be enough (and since the greeter should remember what was selected at the last successful login - as mentioned in the linked issue - this has to be done anyway).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment