* Re: Problem logging in using GDM
2019-10-19 20:58 ` Ricardo Wurmus
@ 2019-10-19 21:24 ` pelzflorian (Florian Pelz)
2019-10-21 7:03 ` Tanguy Le Carrour
1 sibling, 0 replies; 7+ messages in thread
From: pelzflorian (Florian Pelz) @ 2019-10-19 21:24 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: help-guix
[-- Attachment #1: Type: text/plain, Size: 707 bytes --]
On Sat, Oct 19, 2019 at 10:58:56PM +0200, Ricardo Wurmus wrote:
> Other problems may include a failure to start some user services via
> dbus.
>
> This is tricky and frustrating. I hope someone here will come up with
> an idea to make this more robust.
>
When I was trying to debug a different GDM error
<https://issues.guix.info/issue/36221>, I patched gdm for debugging
(see attachment): I had to add more g_debug calls to many places in
the code so I could see where it went wrong. It was really ugly, but
I do not know of a better way to debug GDM. Let’s hope it won’t be
necessary here and TTY1 output and /var/log/gdm/greeter.log and the
like are enough.
Regards,
Florian
[-- Attachment #2: 0001-testing-only-gdmtest.patch --]
[-- Type: text/plain, Size: 5219 bytes --]
From 310c31c7a8a31159985bc5ffb696286c3d9c15db Mon Sep 17 00:00:00 2001
From: Florian Pelz <pelzflorian@pelzflorian.de>
Date: Sat, 19 Oct 2019 23:23:48 +0200
Subject: [PATCH] [testing only] gdmtest
---
gnu/packages/gnome.scm | 1 +
gnu/packages/patches/gdmtest.patch | 72 ++++++++++++++++++++++++++++++
gnu/services/xorg.scm | 5 ++-
3 files changed, 77 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/gdmtest.patch
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f17bd941cd..4ec668b3cf 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5754,6 +5754,7 @@ libxml2.")
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
+ (patches (search-patches "gdmtest.patch" "gdm-CVE-2018-14424.patch"))
(sha256
(base32
"15f7lz7z75krgbq8vb800afj96h8mw2fpy1s28za2911x5vgq0ak"))))
diff --git a/gnu/packages/patches/gdmtest.patch b/gnu/packages/patches/gdmtest.patch
new file mode 100644
index 0000000000..041a3b311d
--- /dev/null
+++ b/gnu/packages/patches/gdmtest.patch
@@ -0,0 +1,72 @@
+--- old/daemon/gdm-local-display-factory.c 2019-06-17 19:12:51.080000000 +0200
++++ daemon/gdm-local-display-factory.c 2019-06-20 20:30:10.677217240 +0200
+@@ -280,6 +280,7 @@
+ }
+ gdm_display_store_remove (store, display);
+
++ g_debug ("DDDDDDDDDISPLAY FinishED");
+ /* if this is a local display, do a full resync. Only
+ * seats without displays will get created anyway. This
+ * ensures we get a new login screen when the user logs out,
+@@ -297,6 +298,8 @@
+ so that it doesn't get reused */
+ gdm_display_store_remove (store, display);
+
++ g_debug ("DDDDDDDDDISPLAY FAILED");
++
+ /* Create a new equivalent display if it was static */
+ if (is_local) {
+
+@@ -573,6 +576,41 @@
+
+ g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE);
+
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++ g_debug ("x/x/x/x/x/x/x/x/x/x");
++
++
++
+ store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory));
+
+ g_signal_connect_object (G_OBJECT (store),
+--- old/common/gdm-log.c 2019-06-17 19:12:50.916000000 +0200
++++ common/gdm-log.c 2019-06-20 16:47:52.852000000 +0200
+@@ -130,7 +130,7 @@
+
+ initialized = TRUE;
+
+- g_log_set_default_handler (gdm_log_default_handler, NULL);
++ // g_log_set_default_handler (gdm_log_default_handler, NULL);
+ }
+
+ void
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 1d55e388a1..3932e7a47c 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -866,7 +866,7 @@ the GNOME desktop environment.")
"WaylandEnable=false\n"
"\n"
"[debug]\n"
- "#Enable=true\n"
+ "Enable=true\n"
"\n"
"[security]\n"
"#DisallowTCP=true\n"
@@ -904,8 +904,11 @@ the GNOME desktop environment.")
(fork+exec-command
(list #$(file-append (gdm-configuration-gdm config)
"/bin/gdm"))
+ #:log-file "/var/log/gdm-debug"
#:environment-variables
(list (string-append
+ "G_MESSAGES_DEBUG=all")
+ (string-append
"GDM_CUSTOM_CONF="
#$(gdm-configuration-file config))
(string-append
--
2.23.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: Problem logging in using GDM
2019-10-19 20:58 ` Ricardo Wurmus
2019-10-19 21:24 ` pelzflorian (Florian Pelz)
@ 2019-10-21 7:03 ` Tanguy Le Carrour
1 sibling, 0 replies; 7+ messages in thread
From: Tanguy Le Carrour @ 2019-10-21 7:03 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: help-guix
Hi Ricardo!
Le 10/19, Ricardo Wurmus a écrit :
> The question here is: is it a failure of GDM or gnome-shell? The exact
> point where GDM starts gnome-shell is hard to pin-point, of course, but
> the logs (even those on TTY1, Ctrl-Alt-F1) might tell you something
> about whether it is gnome-shell that is crashing or if it doesn’t even
> get that far.
I don't use gnome-shell, but bspwm, so I guess it is a pure gdm problem.
The fact that it works with slim seems to confirm this.
"Funny" thing, I have 2 different problems!
At home, GDM does not even start. I just see the mouse pointer on the
TTY. Nothing really informative in the logs. Just an endless succession
of "New session c1 of user gdm […] closing session […] New session c2 of
user gdm […]".
At work, I can see the GDM screen, but when I provide my
username/password nothing happens.
I'll try to update my laptop at the WE. Hope I won't end up with yet
another variation of the problem! ^_^'
If I have some meaningful logs, I'll post them here.
--
Tanguy
^ permalink raw reply [flat|nested] 7+ messages in thread