unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: help-guix@gnu.org
Subject: Re: Problem logging in using GDM
Date: Sat, 19 Oct 2019 23:24:54 +0200	[thread overview]
Message-ID: <20191019212454.kbi7x3jcb4zw7kdv@pelzflorian.localdomain> (raw)
In-Reply-To: <87pnisjvu7.fsf@elephly.net>

[-- 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


  reply	other threads:[~2019-10-19 21:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-18 16:31 Problem logging in using GDM Tanguy Le Carrour
2019-10-19 14:18 ` Joshua Branson
2019-10-21  7:14   ` Tanguy Le Carrour
2019-10-19 20:29 ` pelzflorian (Florian Pelz)
2019-10-19 20:58 ` Ricardo Wurmus
2019-10-19 21:24   ` pelzflorian (Florian Pelz) [this message]
2019-10-21  7:03   ` Tanguy Le Carrour

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191019212454.kbi7x3jcb4zw7kdv@pelzflorian.localdomain \
    --to=pelzflorian@pelzflorian.de \
    --cc=help-guix@gnu.org \
    --cc=rekado@elephly.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).