GNU bug report logs - #58221
nautilus: Crashes loading KgxNautilus plugin twice (problems with NAUTILUS_EXTENSION_PATH)

Previous Next

Package: guix;

Reported by: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>

Date: Sat, 1 Oct 2022 11:30:02 UTC

Severity: important

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

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 58221 in the body.
You can then email your comments to 58221 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#58221; Package guix. (Sat, 01 Oct 2022 11:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tobias Kortkamp <tobias.kortkamp <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 01 Oct 2022 11:30:02 GMT) Full text and rfc822 format available.

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

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: bug-guix <at> gnu.org
Subject: nautilus: Crashes loading KgxNautilus plugin twice (problems with
 NAUTILUS_EXTENSION_PATH)
Date: Sat, 1 Oct 2022 13:29:35 +0200
Hi,

I updated from c8112f3bd95269ce4aca12dedbfe61bb6b37acae to
0dec41f329c37a4293a2a8326f1fe7d9318ec455 and now Nautilus crashes
with:

(org.gnome.Nautilus:3664): GLib-GObject-WARNING **: 13:25:09.877: Two different plugins tried to register 'KgxNautilus'.

(org.gnome.Nautilus:3664): GLib-GObject-CRITICAL **: 13:25:09.877: g_type_add_interface_dynamic: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(org.gnome.Nautilus:3664): GLib-GObject-WARNING **: 13:25:09.877: Two different plugins tried to register 'KgxNautilusMenuItem'.

** (org.gnome.Nautilus:3664): WARNING **: 13:25:09.882: Tracker 2 migration: Couldn't run `tracker3`: Failed to execute child process “tracker3” (No such file or directory)

(org.gnome.Nautilus:3664): GLib-GObject-WARNING **: 13:25:10.222: invalid cast from 'KgxNautilus' to '<invalid>'

(org.gnome.Nautilus:3664): GLib-GObject-CRITICAL **: 13:25:10.222: g_object_new_valist: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

(org.gnome.Nautilus:3664): GLib-GObject-CRITICAL **: 13:25:10.222: g_object_get: assertion 'G_IS_OBJECT (object)' failed

The problem seems to be that NAUTILUS_EXTENSION_PATH contains the same
path twice and that it tries to load KgxNautilus from each of the paths:

$ echo $NAUTILUS_EXTENSION_PATH
/run/current-system/profile/lib/nautilus/site-extensions:/run/current-system/profile/lib/nautilus/site-extensions

Running Nautilus like this works fine:

$ NAUTILUS_EXTENSION_PATH=/run/current-system/profile/lib/nautilus/site-extensions nautilus

Best regards,

Tobi




Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Sat, 01 Oct 2022 12:40:03 GMT) Full text and rfc822 format available.

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

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Cc: 58221 <at> debbugs.gnu.org, bug-guix <at> gnu.org
Subject: Re: bug#58221: nautilus: Crashes loading KgxNautilus plugin twice
 (problems with NAUTILUS_EXTENSION_PATH)
Date: Sat, 01 Oct 2022 14:32:43 +0200
[Message part 1 (text/plain, inline)]
Hi… Tobias,

Tobias Kortkamp 写道:
> ** (org.gnome.Nautilus:3664): WARNING **: 13:25:09.882: Tracker 
> 2
> migration: Couldn't run `tracker3`: Failed to execute child 
> process
> “tracker3” (No such file or directory)

Could you install ‘tracker <at> 3’ into the same profile, and try 
again?  This part might be a relatively simple input fix.

Please note whether it crashes for the *same* reason, as I fully 
expect it to still crash!  See this log[0] posted by nashdidan[m] 
on IRC[1].

Aside from the vague version mismatch hypothesis, another possible 
culprit is wrapping.  G-stuff needs a lot of wrapping to work 
properly & we might be introducing a bogus (argv[0]?) argument 
somewhere.  I didn't investigate.

Kind regards,

T G-R

[0]: 
https://libera.ems.host/_matrix/media/r0/download/libera.chat/b5ff1e283706b1ed86b1396ce7f8d3474405c698
[1]: https://logs.guix.gnu.org/guix/2022-09-30.log#090340
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Sat, 01 Oct 2022 12:41:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Sat, 01 Oct 2022 14:42:02 GMT) Full text and rfc822 format available.

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

From: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 58221 <at> debbugs.gnu.org, bug-guix <at> gnu.org
Subject: Re: bug#58221: nautilus: Crashes loading KgxNautilus plugin twice
 (problems with NAUTILUS_EXTENSION_PATH)
Date: Sat, 1 Oct 2022 16:40:58 +0200
On Sat, Oct 01, 2022 at 02:32:43PM +0200, Tobias Geerinckx-Rice wrote:
> Hi… Tobias,
> 
> Tobias Kortkamp 写道:
> > ** (org.gnome.Nautilus:3664): WARNING **: 13:25:09.882: Tracker 2
> > migration: Couldn't run `tracker3`: Failed to execute child process
> > “tracker3” (No such file or directory)
> 
> Could you install ‘tracker <at> 3’ into the same profile, and try again?  This
> part might be a relatively simple input fix.

Then I get

** (org.gnome.Nautilus:11879): WARNING **: 16:07:20.550: Tracker 2 migration: Failed to parse key file data: Key file contains line “usage: tracker3 [--version] [--help]” which is not a key-value pair, group, or comment

Same crash as before otherwise.

According to
https://gitlab.gnome.org/GNOME/nautilus/-/blob/42.2/src/nautilus-tag-manager.c#L941
Nautilus tries to export Tracker2 metadata with

tracker3 export --2to3 files-starred --keyfile

If I run that command manually I just get the usage screen. In fact
none of the tracker3 subcommands actually seem to work like they do on
Fedora. Not even "help".

Best regards




Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Sat, 01 Oct 2022 14:42:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Sat, 01 Oct 2022 18:18:02 GMT) Full text and rfc822 format available.

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

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Cc: 58221 <at> debbugs.gnu.org, bug-guix <at> gnu.org
Subject: Re: bug#58221: nautilus: Crashes loading KgxNautilus plugin twice (problems with NAUTILUS_EXTENSION_PATH)
Date: Sat, 01 Oct 2022 18:14:23 +0000
Hi Tobias,

On 1 October 2022 14:40:58 UTC, Tobias Kortkamp <tobias.kortkamp <at> gmail.com> wrote:
>** (org.gnome.Nautilus:11879): WARNING **: 16:07:20.550: Tracker 2 migration: Failed to parse key file data: Key file contains line “usage: tracker3 [--version] [--help]” which is not a key-value pair, group, or comment

There we go.  There it is.

>Same crash as before otherwise.

So it *still* fails to find tracker3 before segfaulting?  Possible.  Could be a missing substitution, or it falling back to some other (search) path...

>If I run that command manually I just get the usage screen. In fact
>none of the tracker3 subcommands actually seem to work like they do on
>Fedora. Not even "help".

This sounds exactly like hypothesis #2 (mis-wrapping).  I thought that was a thing of the past, but maybe the fix is still floating up to master, or incomplete...

Will be easy enough to confirm when I'm back at K.



Thanks!

T G-R

Sent on the go.  Excuse or enjoy my brevity.




Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Sat, 01 Oct 2022 18:18:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Mon, 03 Oct 2022 07:47:01 GMT) Full text and rfc822 format available.

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

From: Attila Lendvai <attila <at> lendvai.name>
To: "58221 <at> debbugs.gnu.org" <58221 <at> debbugs.gnu.org>
Subject: confirmation
Date: Mon, 03 Oct 2022 07:46:01 +0000
i can confirm this.

and thanks for including a bandaid!

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“There is no single effort more radical in its potential for saving the world than a transformation of the way we raise our children.”
	— Marianne Williamson (1952–)





Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Thu, 06 Oct 2022 15:39:02 GMT) Full text and rfc822 format available.

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

From: "Jascha Geerds" <jascha <at> geerds.org>
To: bug-guix <at> gnu.org
Cc: sughosha <at> proton.me
Subject: Re: bug#58221: nautilus: Crashes loading KgxNautilus plugin twice
 (problems with NAUTILUS_EXTENSION_PATH)
Date: Thu, 06 Oct 2022 09:50:12 +0200
Am Sa, 1. Okt 2022, um 20:14, schrieb Tobias Geerinckx-Rice via Bug reports for GNU Guix:
> So it *still* fails to find tracker3 before segfaulting?  Possible.  
> Could be a missing substitution, or it falling back to some other 
> (search) path...

It seems like this issue is due to commit 103d8229cbbd3baefe1f3b02bc2edff9c816b0bf where "gnome-terminal" is replaced by "gnome-console". There is some nautilus extension path stuff in the gnome-console derivation which I do not fully understand (cb2d5063a0353a3aa93d513979c8a7fc80db1460).




Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Fri, 28 Oct 2022 13:33:01 GMT) Full text and rfc822 format available.

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

From: Alexandre Hannud Abdo <abdo <at> member.fsf.org>
To: 58221 <at> debbugs.gnu.org
Date: Fri, 28 Oct 2022 15:32:45 +0200
Ni! I'm facing the same issue at 5dda4c69f075dcee020e51f4559cb3df4d2336c4 (Posting to follow thread).





Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Wed, 09 Nov 2022 12:58:01 GMT) Full text and rfc822 format available.

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

From: Christopher Baines <mail <at> cbaines.net>
To: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>
Cc: 58221 <at> debbugs.gnu.org
Subject: Re: bug#58221: nautilus: Crashes loading KgxNautilus plugin twice
 (problems with NAUTILUS_EXTENSION_PATH)
Date: Wed, 09 Nov 2022 13:54:32 +0100
[Message part 1 (text/plain, inline)]
Tobias Kortkamp <tobias.kortkamp <at> gmail.com> writes:

> I updated from c8112f3bd95269ce4aca12dedbfe61bb6b37acae to
> 0dec41f329c37a4293a2a8326f1fe7d9318ec455 and now Nautilus crashes
> with:
>
> (org.gnome.Nautilus:3664): GLib-GObject-WARNING **: 13:25:09.877: Two different plugins tried to register 'KgxNautilus'.
>
> (org.gnome.Nautilus:3664): GLib-GObject-CRITICAL **: 13:25:09.877: g_type_add_interface_dynamic: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
>
> (org.gnome.Nautilus:3664): GLib-GObject-WARNING **: 13:25:09.877: Two different plugins tried to register 'KgxNautilusMenuItem'.
>
> ** (org.gnome.Nautilus:3664): WARNING **: 13:25:09.882: Tracker 2 migration: Couldn't run `tracker3`: Failed to execute child process “tracker3” (No such file or directory)
>
> (org.gnome.Nautilus:3664): GLib-GObject-WARNING **: 13:25:10.222: invalid cast from 'KgxNautilus' to '<invalid>'
>
> (org.gnome.Nautilus:3664): GLib-GObject-CRITICAL **: 13:25:10.222: g_object_new_valist: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
>
> (org.gnome.Nautilus:3664): GLib-GObject-CRITICAL **: 13:25:10.222: g_object_get: assertion 'G_IS_OBJECT (object)' failed
>
> The problem seems to be that NAUTILUS_EXTENSION_PATH contains the same
> path twice and that it tries to load KgxNautilus from each of the paths:
>
> $ echo $NAUTILUS_EXTENSION_PATH
> /run/current-system/profile/lib/nautilus/site-extensions:/run/current-system/profile/lib/nautilus/site-extensions
>
> Running Nautilus like this works fine:
>
> $ NAUTILUS_EXTENSION_PATH=/run/current-system/profile/lib/nautilus/site-extensions nautilus

Thanks for investigating Tobi, I've been experiencing this too, but
didn't get anywhere trying to use GDB, so thanks for tracking it down!

This NAUTILUS_EXTENSION_PATH is a Guix specific modification made to
nautilus at build time, so yeah, something is up here and it's down to
us to fix it.

Maybe the duplication of the directory in the search path is something
to fix, but I guess the code in nautilus using the search path probalbly
needs to be smarter to avoid loading plugins twice.

Chris
[signature.asc (application/pgp-signature, inline)]

Added indication that bug 58221 blocks53214 Request was from Christopher Baines <mail <at> cbaines.net> to control <at> debbugs.gnu.org. (Wed, 09 Nov 2022 12:59:02 GMT) Full text and rfc822 format available.

Severity set to 'important' from 'normal' Request was from Christopher Baines <mail <at> cbaines.net> to control <at> debbugs.gnu.org. (Wed, 09 Nov 2022 12:59:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Wed, 09 Nov 2022 19:39:02 GMT) Full text and rfc822 format available.

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

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Tobias Kortkamp <tobias.kortkamp <at> gmail.com>, 58221 <at> debbugs.gnu.org
Subject: Re: nautilus: Crashes loading KgxNautilus plugin twice (problems
 with NAUTILUS_EXTENSION_PATH)
Date: Wed, 09 Nov 2022 20:37:57 +0100
Am Samstag, dem 01.10.2022 um 13:29 +0200 schrieb Tobias Kortkamp:
> Hi,
> 
> The problem seems to be that NAUTILUS_EXTENSION_PATH contains the
> same path twice and that it tries to load KgxNautilus from each of
> the paths:
> 
> $ echo $NAUTILUS_EXTENSION_PATH
> /run/current-system/profile/lib/nautilus/site-
> extensions:/run/current-system/profile/lib/nautilus/site-extensions
> 
> Running Nautilus like this works fine:
> 
> $ NAUTILUS_EXTENSION_PATH=/run/current-
> system/profile/lib/nautilus/site-extensions nautilus
I only know of one thing setting this variable, that being nautilus'
search-path.  Do you by chance source some profile multiple times?

Cheers




Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Thu, 10 Nov 2022 10:47:02 GMT) Full text and rfc822 format available.

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

From: Christopher Baines <mail <at> cbaines.net>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: bug-guix <at> gnu.org, Tobias Kortkamp <tobias.kortkamp <at> gmail.com>,
 58221 <at> debbugs.gnu.org
Subject: Re: bug#58221: nautilus: Crashes loading KgxNautilus plugin twice
 (problems with NAUTILUS_EXTENSION_PATH)
Date: Thu, 10 Nov 2022 10:42:25 +0000
[Message part 1 (text/plain, inline)]
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:

> Am Samstag, dem 01.10.2022 um 13:29 +0200 schrieb Tobias Kortkamp:
>> Hi,
>> 
>> The problem seems to be that NAUTILUS_EXTENSION_PATH contains the
>> same path twice and that it tries to load KgxNautilus from each of
>> the paths:
>> 
>> $ echo $NAUTILUS_EXTENSION_PATH
>> /run/current-system/profile/lib/nautilus/site-
>> extensions:/run/current-system/profile/lib/nautilus/site-extensions
>> 
>> Running Nautilus like this works fine:
>> 
>> $ NAUTILUS_EXTENSION_PATH=/run/current-
>> system/profile/lib/nautilus/site-extensions nautilus
>
> I only know of one thing setting this variable, that being nautilus'
> search-path.  Do you by chance source some profile multiple times?

There might be a related issue where there's duplicates in search paths,
I've tested in a simple VM and I see the duplication in
NAUTILUS_EXTENSION_PATH.

Anyway, this probably should be something that doesn't cause nautilus to
segfault.

Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Thu, 10 Nov 2022 10:47:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Sun, 20 Nov 2022 17:49:01 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Christopher Baines <mail <at> cbaines.net>
Cc: tobias.kortkamp <at> gmail.com, 58221 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: bug#58221: nautilus: Crashes loading KgxNautilus plugin twice
 (problems with NAUTILUS_EXTENSION_PATH)
Date: Sun, 20 Nov 2022 18:48:38 +0100
[Message part 1 (text/plain, inline)]
Hi!

Christopher Baines <mail <at> cbaines.net> skribis:

> Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
>
>> Am Samstag, dem 01.10.2022 um 13:29 +0200 schrieb Tobias Kortkamp:
>>> Hi,
>>> 
>>> The problem seems to be that NAUTILUS_EXTENSION_PATH contains the
>>> same path twice and that it tries to load KgxNautilus from each of
>>> the paths:
>>> 
>>> $ echo $NAUTILUS_EXTENSION_PATH
>>> /run/current-system/profile/lib/nautilus/site-
>>> extensions:/run/current-system/profile/lib/nautilus/site-extensions
>>> 
>>> Running Nautilus like this works fine:
>>> 
>>> $ NAUTILUS_EXTENSION_PATH=/run/current-
>>> system/profile/lib/nautilus/site-extensions nautilus
>>
>> I only know of one thing setting this variable, that being nautilus'
>> search-path.  Do you by chance source some profile multiple times?
>
> There might be a related issue where there's duplicates in search paths,
> I've tested in a simple VM and I see the duplication in
> NAUTILUS_EXTENSION_PATH.
>
> Anyway, this probably should be something that doesn't cause nautilus to
> segfault.

Agreed!  I don’t use GNOME and I don’t even know what KgxNautilus is,
but here’s a patch that may fix this by ensuring Nautilus doesn’t load
the same extension twice.

Could you give it a spin and lemme know if it solves this issue?\

That’ll get us closer to a release.  :-)

Thanks,
Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3d942635a2..78e65d7400 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9671,7 +9671,9 @@ (define-public nautilus
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr"))))
+                "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr"))
+              (patches
+               (search-patches "nautilus-extension-search-path.patch"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -9685,27 +9687,6 @@ (define-public nautilus
               (substitute* "test/automated/displayless/meson.build"
                 (("^foreach t: tracker_tests" all)
                  (string-append "tracker_tests = []\n" all)))))
-          (add-after 'unpack 'make-extensible
-            (lambda _
-              (substitute* "src/nautilus-module.c"
-                (("static gboolean initialized = FALSE;" all)
-                 (string-append all "
-const char *extension_path;
-char **extension_dirs, **d;
-")
-                 )
-                (("load_module_dir \\(NAUTILUS_EXTENSIONDIR\\);" all)
-                 (string-append all
-                                "
-extension_path = g_getenv (\"NAUTILUS_EXTENSION_PATH\");
-if (extension_path)
-{
-    extension_dirs = g_strsplit (extension_path, \":\", -1);
-    for (d = extension_dirs; d != NULL && *d != NULL; d++)
-        load_module_dir(*d);
-    g_strfreev(extension_dirs);
-}
-")))))
           (add-after 'unpack 'skip-gtk-update-icon-cache
             ;; Don't create 'icon-theme.cache'.
             (lambda _
diff --git a/gnu/packages/patches/nautilus-extension-search-path.patch b/gnu/packages/patches/nautilus-extension-search-path.patch
new file mode 100644
index 0000000000..aa870d9212
--- /dev/null
+++ b/gnu/packages/patches/nautilus-extension-search-path.patch
@@ -0,0 +1,72 @@
+diff --git a/src/nautilus-module.c b/src/nautilus-module.c
+index bf474bd..42e2a4e 100644
+--- a/src/nautilus-module.c
++++ b/src/nautilus-module.c
+@@ -211,6 +211,10 @@ static void
+ load_module_dir (const char *dirname)
+ {
+     GDir *dir;
++    static GHashTable *loaded = NULL;
++
++    if (loaded == NULL)
++      loaded = g_hash_table_new (g_str_hash, g_str_equal);
+ 
+     dir = g_dir_open (dirname, 0, NULL);
+ 
+@@ -221,15 +225,22 @@ load_module_dir (const char *dirname)
+         while ((name = g_dir_read_name (dir)))
+         {
+             if (g_str_has_suffix (name, "." G_MODULE_SUFFIX))
+-            {
+-                char *filename;
+-
+-                filename = g_build_filename (dirname,
+-                                             name,
+-                                             NULL);
+-                nautilus_module_load_file (filename);
+-                g_free (filename);
+-            }
++	      {
++		/* Make sure each module is loaded only twice or this could
++		   lead to a crash.  Double loading can occur if DIRNAME
++		   occurs more than once in $NAUTILUS_EXTENSION_PATH.  */
++		if (!g_hash_table_contains (loaded, name))
++		  {
++		    char *filename;
++
++		    filename = g_build_filename (dirname,
++						 name,
++						 NULL);
++		    nautilus_module_load_file (filename);
++		    g_hash_table_add (loaded, g_strdup (name));
++		    g_free (filename);
++		  }
++	      }
+         }
+ 
+         g_dir_close (dir);
+@@ -257,10 +268,24 @@ nautilus_module_setup (void)
+ 
+     if (!initialized)
+     {
++        const gchar *extension_path;
+         initialized = TRUE;
+ 
+         load_module_dir (NAUTILUS_EXTENSIONDIR);
+ 
++	/* Load additional modules from the user-provided search path.  */
++	extension_path = g_getenv ("NAUTILUS_EXTENSION_PATH");
++	if (extension_path)
++	  {
++	    char **extension_dirs, **d;
++
++	    extension_dirs = g_strsplit (extension_path, ":", -1);
++	    for (d = extension_dirs; d != NULL && *d != NULL; d++)
++	      load_module_dir (*d);
++
++	    g_strfreev (extension_dirs);
++	  }
++
+         eel_debug_call_at_shutdown (free_module_objects);
+     }
+ }

Added tag(s) patch. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 20 Nov 2022 17:49:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#58221; Package guix. (Sun, 20 Nov 2022 18:04:01 GMT) Full text and rfc822 format available.

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

From: Christopher Baines <mail <at> cbaines.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tobias.kortkamp <at> gmail.com, 58221 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: bug#58221: nautilus: Crashes loading KgxNautilus plugin twice
 (problems with NAUTILUS_EXTENSION_PATH)
Date: Sun, 20 Nov 2022 18:02:56 +0000
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Agreed!  I don’t use GNOME and I don’t even know what KgxNautilus is,
> but here’s a patch that may fix this by ensuring Nautilus doesn’t load
> the same extension twice.
>
> Could you give it a spin and lemme know if it solves this issue?\
>
> That’ll get us closer to a release.  :-)

I've tried it out and it looks to fix the issue, please push!

Thanks,

Chris
[signature.asc (application/pgp-signature, inline)]

Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sun, 20 Nov 2022 22:25:02 GMT) Full text and rfc822 format available.

Notification sent to Tobias Kortkamp <tobias.kortkamp <at> gmail.com>:
bug acknowledged by developer. (Sun, 20 Nov 2022 22:25:02 GMT) Full text and rfc822 format available.

Message #61 received at 58221-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Christopher Baines <mail <at> cbaines.net>
Cc: tobias.kortkamp <at> gmail.com, 58221-done <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: bug#58221: nautilus: Crashes loading KgxNautilus plugin twice
 (problems with NAUTILUS_EXTENSION_PATH)
Date: Sun, 20 Nov 2022 23:23:53 +0100
Hi Chris,

Christopher Baines <mail <at> cbaines.net> skribis:

> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Agreed!  I don’t use GNOME and I don’t even know what KgxNautilus is,
>> but here’s a patch that may fix this by ensuring Nautilus doesn’t load
>> the same extension twice.
>>
>> Could you give it a spin and lemme know if it solves this issue?\
>>
>> That’ll get us closer to a release.  :-)
>
> I've tried it out and it looks to fix the issue, please push!

Thanks for the quick reply!  Pushed as
99ba4ddb03b396f56764a25317f40d4501380704.

Ludo’.




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

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

Previous Next


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