GNU bug report logs - #58191
gpaste-client --version dies with a sigsegv

Previous Next

Package: guix;

Reported by: Attila Lendvai <attila <at> lendvai.name>

Date: Fri, 30 Sep 2022 08:59:02 UTC

Severity: normal

Done: Attila Lendvai <attila <at> lendvai.name>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 58191 in the body.
You can then email your comments to 58191 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#58191; Package guix. (Fri, 30 Sep 2022 08:59:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Attila Lendvai <attila <at> lendvai.name>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 30 Sep 2022 08:59:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Attila Lendvai <attila <at> lendvai.name>
To: "bug-guix <at> gnu.org" <bug-guix <at> gnu.org>
Subject: gpaste-client --version dies with a sigsegv
Date: Fri, 30 Sep 2022 08:57:40 +0000
this pretty much tells it all:

$ guix shell gpaste
$ gpaste-client --version

(/gnu/store/7xj6mjvd00f83bmscn6ya1zwd0wi67gf-profile/bin/gpaste-client:27755): GPaste-CRITICAL **: 10:49:21.373: Error calling StartServiceByName for org.gnome.GPaste: Process org.gnome.GPaste received signal 11

i tried to debug it, but it happens in a new thread, and i failed to obtain a backtrace by simply starting it in gdb.

the actual symptom is that the gpaste shell extension crashes the gnome shell while logging in, and upon the next login all gnome shell extensions are disabled. enabling them immediately crashes the entire gnome shell.

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“Being true to yourself means living in truth with each person in your life. It means refusing to say or do something that you don’t believe is right. Living in truth with other people means that you refuse to stay in any situation where you are unhappy with the behavior of another person. You refuse to tolerate it. You refuse to compromise.”
	— Brian Tracy (1944–)





Information forwarded to bug-guix <at> gnu.org:
bug#58191; Package guix. (Fri, 30 Sep 2022 10:18:02 GMT) Full text and rfc822 format available.

Message #8 received at 58191 <at> debbugs.gnu.org (full text, mbox):

From: Attila Lendvai <attila <at> lendvai.name>
To: "58191 <at> debbugs.gnu.org" <58191 <at> debbugs.gnu.org>
Subject: missing substitute for @gschemasCompiled@ ?
Date: Fri, 30 Sep 2022 10:17:11 +0000
i'm attaching my current WIP diff while i was trying to debug this.

note that in my original submission there was a substitute for @gschemasCompiled@ (https://issues.guix.gnu.org/53072), but it did not reach master when it got pushed (https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/packages/gnome-xyz.scm?id=a485e1e663060e8c62103d81dfffec591f624360).

i'm not sure whether it's important. it shouldn't be, because gpaste used to work for me right until a recent reconfigure... but i thought that i point it out. if that substitute was intentionally left out, then it may warrant a comment on why, because the package's .patch file (inherited from NixOS) adds the marker (https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/gpaste-fix-paths.patch).

i tried to reinstate the substitute, as you can see below, but it does not fix the new crash. i added some asserts, even sure-to-fail ones, and that code path seems not yet reached when the sigsegv already happens.

i'm out of ideas, and certainly out of my glib knowledge.

----

2 files changed, 11 insertions(+), 5 deletions(-)
gnu/packages/gnome-xyz.scm                  | 12 ++++++++----
gnu/packages/patches/gpaste-fix-paths.patch |  4 +++-

modified   gnu/packages/gnome-xyz.scm
@@ -819,7 +819,7 @@ (define-public gnome-shell-extension-paperwm
 (define-public gpaste
   (package
     (name "gpaste")
-    (version "42.1")
+    (version "42.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -828,12 +828,13 @@ (define-public gpaste
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1dlqa69zvzzdxyh21qfrx2nhpfy0fbihxpgkxqmramcgv3h5k4q3"))
+                "0qq2p19p3r3lz8yfynpnf36cipv54bzdbmq1x5zgwhyl4yl41g28"))
               (patches
                (search-patches "gpaste-fix-paths.patch"))))
     (build-system meson-build-system)
     (native-inputs
-     (list gettext-minimal
+     (list gcr
+           gettext-minimal
            gobject-introspection
            (list glib "bin")            ; for glib-compile-resources
            pkg-config
@@ -862,7 +863,10 @@ (define-public gpaste
                    (substitute* '("src/gnome-shell/extension.js"
                                   "src/gnome-shell/prefs.js")
                      (("@typelibPath@")
-                      (string-append #$output "/lib/girepository-1.0/"))))))))
+                      (string-append #$output "/lib/girepository-1.0/")))
+                   (substitute* '("src/libgpaste/gpaste/gpaste-settings.c")
+                     (("@gschemasCompiled@")
+                      (string-append #$output "/share/glib-2.0/schemas/"))))))))
     (home-page "https://github.com/Keruspe/GPaste")
     (synopsis "Clipboard management system for GNOME Shell")
     (description "GPaste is a clipboard manager, a tool which allows you to
modified   gnu/packages/patches/gpaste-fix-paths.patch
@@ -30,14 +30,16 @@ diff --git a/src/libgpaste/gpaste/gpaste-settings.c b/src/libgpaste/gpaste/gpast
 index 7e53eb64..57c399fc 100644
 --- a/src/libgpaste/gpaste/gpaste-settings.c
 +++ b/src/libgpaste/gpaste/gpaste-settings.c
-@@ -1013,7 +1013,11 @@ create_g_settings (void)
+@@ -1013,7 +1013,13 @@ create_g_settings (void)
      }
      else
      {
 -        return g_settings_new (G_PASTE_SETTINGS_NAME);
 +        // library used by introspection requires schemas but we cannot set XDG_DATA_DIRS for the library
 +        GSettingsSchemaSource *schema_source = g_settings_schema_source_new_from_directory ("@gschemasCompiled@", NULL, FALSE, NULL);
++        g_assert (schema_source);
 +        g_autoptr (GSettingsSchema) schema = g_settings_schema_source_lookup (schema_source, G_PASTE_SETTINGS_NAME, FALSE);
++        g_assert (schema);
 +        g_settings_schema_source_unref (schema_source);
 +        return g_settings_new_full (schema, NULL, NULL);
      }





Reply sent to Attila Lendvai <attila <at> lendvai.name>:
You have taken responsibility. (Tue, 06 Dec 2022 17:50:02 GMT) Full text and rfc822 format available.

Notification sent to Attila Lendvai <attila <at> lendvai.name>:
bug acknowledged by developer. (Tue, 06 Dec 2022 17:50:03 GMT) Full text and rfc822 format available.

Message #13 received at 58191-close <at> debbugs.gnu.org (full text, mbox):

From: Attila Lendvai <attila <at> lendvai.name>
To: "58191-close <at> debbugs.gnu.org" <58191-close <at> debbugs.gnu.org>
Subject: (No Subject)
Date: Tue, 06 Dec 2022 17:48:59 +0000
the fix is in https://issues.guix.gnu.org/59863

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“Chaos should be seen as a teacher that teaches us, through the negative, what not to do.”
	— Mark Passio, http://youtu.be/atjdCbayxYM?t=46m33s





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 04 Jan 2023 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 113 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.