GNU bug report logs - #45173
‘guix search’ traverses all the modules when extra channels are used

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Date: Fri, 11 Dec 2020 09:30:02 UTC

Severity: important

Tags: notabug

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 45173 in the body.
You can then email your comments to 45173 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#45173; Package guix. (Fri, 11 Dec 2020 09:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludovic.courtes <at> inria.fr>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 11 Dec 2020 09:30:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: bug-guix <at> gnu.org
Subject: ‘guix search’ traverses all the modules
 when extra channels are used
Date: Fri, 11 Dec 2020 10:29:42 +0100
When a single channel is in use, ‘guix search’ understandable traverses
nothing but gnu/packages/*.scm:

--8<---------------cut here---------------start------------->8---
$ strace -o /tmp/,,s guix search sdfsdf
$ grep gnu/services /tmp/,,s
$ echo $?
1
--8<---------------cut here---------------end--------------->8---

But with multiple channels, all of the guile-module-union directory is
traversed, and that includes *everything*:

--8<---------------cut here---------------start------------->8---
$ /tmp/past/bin/guix describe
Generacio 1     Dec 11 2020 10:26:58    (nuna)
  guix-past 829923f
    repository URL: https://gitlab.inria.fr/guix-hpc/guix-past
    branch: master
    commit: 829923f01f894f1e687735627025ada26230832f
  guix f765577
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: f765577dec0340d035021d030f17b54a3a5fd6b1
$ strace -o /tmp/,,s /tmp/past/bin/guix search sdfsdf
$ grep gnu/services /tmp/,,s
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/share/guile/site/3.0/gnu/services.scm", {st_mode=S_IFREG|0444, st_size=41045, ...}) = 0
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services.go", {st_mode=S_IFREG|0444, st_size=420021, ...}) = 0
openat(AT_FDCWD, "/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services.go", O_RDONLY|O_CLOEXEC) = 14
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/share/guile/site/3.0/gnu/services/shepherd.scm", {st_mode=S_IFREG|0444, st_size=23156, ...}) = 0
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/shepherd.go", {st_mode=S_IFREG|0444, st_size=405997, ...}) = 0
openat(AT_FDCWD, "/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/shepherd.go", O_RDONLY|O_CLOEXEC) = 14
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/share/guile/site/3.0/gnu/services/herd.scm", {st_mode=S_IFREG|0444, st_size=10387, ...}) = 0
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/herd.go", {st_mode=S_IFREG|0444, st_size=188509, ...}) = 0
openat(AT_FDCWD, "/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/herd.go", O_RDONLY|O_CLOEXEC) = 14
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/share/guile/site/3.0/gnu/services/base.scm", {st_mode=S_IFREG|0444, st_size=110305, ...}) = 0
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/base.go", {st_mode=S_IFREG|0444, st_size=2203613, ...}) = 0
openat(AT_FDCWD, "/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/base.go", O_RDONLY|O_CLOEXEC) = 14
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/share/guile/site/3.0/gnu/services/admin.scm", {st_mode=S_IFREG|0444, st_size=12494, ...}) = 0
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/admin.go", {st_mode=S_IFREG|0444, st_size=416133, ...}) = 0
openat(AT_FDCWD, "/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/admin.go", O_RDONLY|O_CLOEXEC) = 14
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/share/guile/site/3.0/gnu/services/mcron.scm", {st_mode=S_IFREG|0444, st_size=7667, ...}) = 0
stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/mcron.go", {st_mode=S_IFREG|0444, st_size=187549, ...}) = 0
openat(AT_FDCWD, "/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services/mcron.go", O_RDONLY|O_CLOEXEC) = 14
--8<---------------cut here---------------end--------------->8---

This was reported by bdju on #guix, who were getting the new SSH
password warning while running ‘guix search’.

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#45173; Package guix. (Fri, 11 Dec 2020 12:47:01 GMT) Full text and rfc822 format available.

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

From: zimoun <zimon.toutoune <at> gmail.com>
To: Ludovic Courtès <ludovic.courtes <at> inria.fr>,
 45173 <at> debbugs.gnu.org
Subject: Re: bug#45173: ‘guix search’ traverses
 all the modules when extra channels are used
Date: Fri, 11 Dec 2020 13:45:00 +0100
Hi Ludo,

On Fri, 11 Dec 2020 at 10:29, Ludovic Courtès <ludovic.courtes <at> inria.fr> wrote:

> --8<---------------cut here---------------start------------->8---
> $ strace -o /tmp/,,s guix search sdfsdf
> $ grep gnu/services /tmp/,,s
> $ echo $?
> 1
> --8<---------------cut here---------------end--------------->8---

I do not know what is the point of the strace command, but this file
contains a lot:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 50	Dec 01 2020 23:31:01	(current)
  guix f4450e8
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: f4450e8ca909530ee3432710b82f97e23acc7fef
$ strace -o /tmp/,,s guix search sdfsdf    
$ cat /tmp/,,s | grep ice-9 | wc -l
448
$ cat /tmp/,,s | grep srfi | wc -l
330
$ cat /tmp/,,s | grep 'guix/build' | wc -l
129
$ cat /tmp/,,s | grep 'guix/scripts' | wc -l
12
$cat /tmp/,,s | grep 'guix/import' | wc -l
9
--8<---------------cut here---------------end--------------->8---

But no ’services’, indeed.  The 3 first are expected since they used
somehow by files in ’gnu/packages/’.  I am surprised by ’guix/scripts’
or ’guix/import’, the few I tried.


And I note a variation with the option ’-L’.

--8<---------------cut here---------------start------------->8---
$ mkdir -p /tmp/foo
$ ls /tmp/foo/
$ strace -o /tmp/,,l guix search sdfsdf -L /tmp/foo
$ wc -l /tmp/,,l /tmp/,,s
  10059 /tmp/,,l
   8745 /tmp/,,s
  18804 total
$ grep services /tmp/,,l
$ echo $?
1  
--8<---------------cut here---------------end--------------->8---

Well, I am not sure to understand…  And last, the bug:

--8<---------------cut here---------------start------------->8---
$ strace -o /tmp/,,g guix search sdfsdf -L ~/src/guix/guix-past/modules
$ cat /tmp/,,g | grep 'gnu/services' | wc -l
30
$ ag services ~/src/guix/guix-past/
$ echo $?
1
$ ls -1 ~/src/guix/guix/gnu/services/*.scm | wc -l
50
--8<---------------cut here---------------end--------------->8---


All the best,
simon




Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 11 Dec 2020 14:16:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#45173; Package guix. (Fri, 11 Dec 2020 15:57:01 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: zimoun <zimon.toutoune <at> gmail.com>
Cc: 45173 <at> debbugs.gnu.org
Subject: Re: bug#45173: ‘guix search’ traverses
 all the modules when extra channels are used
Date: Fri, 11 Dec 2020 16:56:20 +0100
Hi!

zimoun <zimon.toutoune <at> gmail.com> skribis:

> On Fri, 11 Dec 2020 at 10:29, Ludovic Courtès <ludovic.courtes <at> inria.fr> wrote:
>
>> --8<---------------cut here---------------start------------->8---
>> $ strace -o /tmp/,,s guix search sdfsdf
>> $ grep gnu/services /tmp/,,s
>> $ echo $?
>> 1
>> --8<---------------cut here---------------end--------------->8---
>
> I do not know what is the point of the strace command, but this file
> contains a lot:

The point :-) is to show that things that should definitely not be
loaded, such as gnu/services/*, are getting loaded when multiple
channels are in use.

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#45173; Package guix. (Fri, 11 Dec 2020 16:47:01 GMT) Full text and rfc822 format available.

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

From: zimoun <zimon.toutoune <at> gmail.com>
To: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Cc: 45173 <at> debbugs.gnu.org
Subject: Re: bug#45173: ‘guix search’ traverses
 all the modules when extra channels are used
Date: Fri, 11 Dec 2020 17:44:12 +0100
Hey,

On Fri, 11 Dec 2020 at 16:56, Ludovic Courtès <ludovic.courtes <at> inria.fr> wrote:

> The point :-) is to show that things that should definitely not be
> loaded, such as gnu/services/*, are getting loaded when multiple
> channels are in use.

What I have tried to show is that even with the default, «things that
should definitely not be loaded, such as guix/scripts/* or
guix/import/*» are getting loaded.  And worse, adding an empty
“--load-path” adds burden.  Multiple channels seems only one part of the
story. :-)

Cheers,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#45173; Package guix. (Tue, 26 Jan 2021 14:07:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: 45173 <at> debbugs.gnu.org
Subject: Re: bug#45173: ‘guix search’ traverses
 all the modules when extra channels are used
Date: Tue, 26 Jan 2021 15:06:49 +0100
Ludovic Courtès <ludovic.courtes <at> inria.fr> skribis:

> But with multiple channels, all of the guile-module-union directory is
> traversed, and that includes *everything*:
>
> $ /tmp/past/bin/guix describe
> Generacio 1     Dec 11 2020 10:26:58    (nuna)
>   guix-past 829923f
>     repository URL: https://gitlab.inria.fr/guix-hpc/guix-past
>     branch: master
>     commit: 829923f01f894f1e687735627025ada26230832f
>   guix f765577
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: f765577dec0340d035021d030f17b54a3a5fd6b1
> $ strace -o /tmp/,,s /tmp/past/bin/guix search sdfsdf
> $ grep gnu/services /tmp/,,s
> stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/share/guile/site/3.0/gnu/services.scm", {st_mode=S_IFREG|0444, st_size=41045, ...}) = 0
> stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services.go", {st_mode=S_IFREG|0444, st_size=420021, ...}) = 0
> openat(AT_FDCWD, "/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/lib/guile/3.0/site-ccache/gnu/services.go", O_RDONLY|O_CLOEXEC) = 14
> stat("/gnu/store/3jnlvi2akawnxd1jq6m58kxc7nj07phc-guix-module-union/share/guile/site/3.0/gnu/services/shepherd.scm", {st_mode=S_IFREG|0444, st_size=23156, ...}) = 0

False alarm!  This was caused by a #:use-module (gnu) statement in one
of the Guix-Past modules, fixed here:

  https://gitlab.inria.fr/guix-hpc/guix-past/-/commit/4f5856f85578a04991dc646a06279d51f85973bf

Ludo’.




Added tag(s) notabug. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 Jan 2021 14:08:01 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 45173 <at> debbugs.gnu.org and Ludovic Courtès <ludovic.courtes <at> inria.fr> Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 Jan 2021 14:08:02 GMT) Full text and rfc822 format available.

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

This bug report was last modified 3 years and 55 days ago.

Previous Next


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