no code for module (guix ui)

  • Done
  • quality assurance status badge
Details
2 participants
  • Leo Famulari
  • Ludovic Courtès
Owner
unassigned
Submitted by
Leo Famulari
Severity
normal
L
L
Leo Famulari wrote on 7 May 2016 04:59
(address . bug-guix@gnu.org)
20160507025936.GA25173@jasmine
From commit bdb2d56ee (gnu: mutt: Update to 1.6.1.), I applied a patch
from guix-devel [0], tried to build a package, and got a backtrace as
shown below.

I had rebuilt from the git tree recently, but I'm not sure exactly when.

It goes away after I rebuild.

---
$ ./pre-inst-env guix build hello
Backtrace:
In ice-9/boot-9.scm:
157: 12 [catch #t #<catch-closure 19e4ba0> ...]
In unknown file:
?: 11 [apply-smob/1 #<catch-closure 19e4ba0>]
In ice-9/boot-9.scm:
63: 10 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
432: 9 [eval # #]
In ice-9/boot-9.scm:
2401: 8 [save-module-excursion #<procedure 1a01940 at ice-9/boot-9.scm:4045:3 ()>]
4050: 7 [#<procedure 1a01940 at ice-9/boot-9.scm:4045:3 ()>]
1724: 6 [%start-stack load-stack ...]
1729: 5 [#<procedure 1a18ea0 ()>]
In unknown file:
?: 4 [primitive-load "/gnu/store/9p7mf2a21c6a5k06jgbb9yg9abx7ilh9-guix-0.10.0-0.8062/bin/.guix-real"]
In ice-9/eval.scm:
411: 3 [eval # #]
387: 2 [eval # #]
In ice-9/boot-9.scm:
2867: 1 [resolve-interface (guix ui) #:select ...]
In unknown file:
?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (guix ui)) #f]

ERROR: In procedure scm-error:
ERROR: no code for module (guix ui)
---

[0] I've had this issue several times recently, without this patch.

It was this patch:

It commits as 13416a10afdbad6546ef7943d93aba795ee5703b
L
L
Ludovic Courtès wrote on 8 May 2016 18:10
(name . Leo Famulari)(address . leo@famulari.name)(address . 23475@debbugs.gnu.org)
87k2j45y59.fsf@gnu.org
Leo Famulari <leo@famulari.name> skribis:

Toggle quote (23 lines)
> I had rebuilt from the git tree recently, but I'm not sure exactly when.
>
> It goes away after I rebuild.
>
> ---
> $ ./pre-inst-env guix build hello
> Backtrace:
> In ice-9/boot-9.scm:
> 157: 12 [catch #t #<catch-closure 19e4ba0> ...]
> In unknown file:
> ?: 11 [apply-smob/1 #<catch-closure 19e4ba0>]
> In ice-9/boot-9.scm:
> 63: 10 [call-with-prompt prompt0 ...]
> In ice-9/eval.scm:
> 432: 9 [eval # #]
> In ice-9/boot-9.scm:
> 2401: 8 [save-module-excursion #<procedure 1a01940 at ice-9/boot-9.scm:4045:3 ()>]
> 4050: 7 [#<procedure 1a01940 at ice-9/boot-9.scm:4045:3 ()>]
> 1724: 6 [%start-stack load-stack ...]
> 1729: 5 [#<procedure 1a18ea0 ()>]
> In unknown file:
> ?: 4 [primitive-load "/gnu/store/9p7mf2a21c6a5k06jgbb9yg9abx7ilh9-guix-0.10.0-0.8062/bin/.guix-real"]

Why is this file being loaded, instead of scripts/guix? Could it be
that scripts/guix was missing at that time?

Maybe it would be wise to apply a patch as attached to prevent such
situations from arising. WDYT?

Thanks,
Ludo’.
--- a/build-aux/pre-inst-env.in
+++ b/build-aux/pre-inst-env.in
@@ -1,7 +1,7 @@
#!/bin/sh
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@@ -68,4 +68,11 @@ export NIX_HASH
GUIX_UNINSTALLED=1
export GUIX_UNINSTALLED
+guix="$abs_top_builddir/scripts/guix"
+if [ ! -x "$guix" ]
+then
+ echo "'$guix' is missing, please run 'make'." >&2
+ exit 1
+fi
+
exec "$@"
L
L
Ludovic Courtès wrote on 22 May 2016 23:36
(name . Leo Famulari)(address . leo@famulari.name)(address . 23475@debbugs.gnu.org)
8760u5pyft.fsf@gnu.org
Ping! :-)

Ludo’.

ludo@gnu.org (Ludovic Courtès) skribis:

Toggle quote (57 lines)
> Leo Famulari <leo@famulari.name> skribis:
>
>> I had rebuilt from the git tree recently, but I'm not sure exactly when.
>>
>> It goes away after I rebuild.
>>
>> ---
>> $ ./pre-inst-env guix build hello
>> Backtrace:
>> In ice-9/boot-9.scm:
>> 157: 12 [catch #t #<catch-closure 19e4ba0> ...]
>> In unknown file:
>> ?: 11 [apply-smob/1 #<catch-closure 19e4ba0>]
>> In ice-9/boot-9.scm:
>> 63: 10 [call-with-prompt prompt0 ...]
>> In ice-9/eval.scm:
>> 432: 9 [eval # #]
>> In ice-9/boot-9.scm:
>> 2401: 8 [save-module-excursion #<procedure 1a01940 at ice-9/boot-9.scm:4045:3 ()>]
>> 4050: 7 [#<procedure 1a01940 at ice-9/boot-9.scm:4045:3 ()>]
>> 1724: 6 [%start-stack load-stack ...]
>> 1729: 5 [#<procedure 1a18ea0 ()>]
>> In unknown file:
>> ?: 4 [primitive-load "/gnu/store/9p7mf2a21c6a5k06jgbb9yg9abx7ilh9-guix-0.10.0-0.8062/bin/.guix-real"]
>
> Why is this file being loaded, instead of scripts/guix? Could it be
> that scripts/guix was missing at that time?
>
> Maybe it would be wise to apply a patch as attached to prevent such
> situations from arising. WDYT?
>
> Thanks,
> Ludo’.
>
> --- a/build-aux/pre-inst-env.in
> +++ b/build-aux/pre-inst-env.in
> @@ -1,7 +1,7 @@
> #!/bin/sh
>
> # GNU Guix --- Functional package management for GNU
> -# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
> +# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
> #
> # This file is part of GNU Guix.
> #
> @@ -68,4 +68,11 @@ export NIX_HASH
> GUIX_UNINSTALLED=1
> export GUIX_UNINSTALLED
>
> +guix="$abs_top_builddir/scripts/guix"
> +if [ ! -x "$guix" ]
> +then
> + echo "'$guix' is missing, please run 'make'." >&2
> + exit 1
> +fi
> +
> exec "$@"
L
L
Leo Famulari wrote on 23 May 2016 05:22
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 23475@debbugs.gnu.org)
20160523032237.GA16312@jasmine
On Sun, May 22, 2016 at 11:36:38PM +0200, Ludovic Court�s wrote:
Toggle quote (5 lines)
> >> ?: 4 [primitive-load "/gnu/store/9p7mf2a21c6a5k06jgbb9yg9abx7ilh9-guix-0.10.0-0.8062/bin/.guix-real"]
> >
> > Why is this file being loaded, instead of scripts/guix? Could it be
> > that scripts/guix was missing at that time?

It happened again, and scripts/guix was present. Next time I will take a
snapshot of the broken state.
L
L
Ludovic Courtès wrote on 24 May 2016 23:59
control message for bug #23475
(address . control@debbugs.gnu.org)
87y46zazij.fsf@gnu.org
tags 23475 moreinfo
L
L
Ludovic Courtès wrote on 31 Jul 2016 18:40
Re: bug#23475: no code for module (guix ui)
(name . Leo Famulari)(address . leo@famulari.name)(address . 23475@debbugs.gnu.org)
87r3a94v8f.fsf@gnu.org
Leo Famulari <leo@famulari.name> skribis:

Toggle quote (9 lines)
> On Sun, May 22, 2016 at 11:36:38PM +0200, Ludovic Courtès wrote:
>> >> ?: 4 [primitive-load "/gnu/store/9p7mf2a21c6a5k06jgbb9yg9abx7ilh9-guix-0.10.0-0.8062/bin/.guix-real"]
>> >
>> > Why is this file being loaded, instead of scripts/guix? Could it be
>> > that scripts/guix was missing at that time?
>
> It happened again, and scripts/guix was present. Next time I will take a
> snapshot of the broken state.

Any updates? :-)

Ludo’.
L
L
Leo Famulari wrote on 2 Aug 2016 03:30
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 23475@debbugs.gnu.org)
20160802013047.GA3302@jasmine
On Sun, Jul 31, 2016 at 06:40:00PM +0200, Ludovic Court�s wrote:
Toggle quote (2 lines)
> Any updates? :-)

I've noticed that it happens if I do this:

$ guix gc && ./pre-inst-env guix build foo

If I then do the following, it works again:

$ guix environment guix
$ exit
$ ./pre-inst-env guix build foo

I don't have all of the Guix dependencies in my profile or my Debian
environment (I see this on my Debian machine), so I guess that something
important is garbage collected, but I haven't figured out what yet.

So, I think it's not much of a bug, since I am deliberately invoking the
garbage collector. WDYT?
L
L
Ludovic Courtès wrote on 2 Aug 2016 11:17
(name . Leo Famulari)(address . leo@famulari.name)(address . 23475@debbugs.gnu.org)
87twf3zg1c.fsf@gnu.org
Leo Famulari <leo@famulari.name> skribis:

Toggle quote (20 lines)
> On Sun, Jul 31, 2016 at 06:40:00PM +0200, Ludovic Courtès wrote:
>> Any updates? :-)
>
> I've noticed that it happens if I do this:
>
> $ guix gc && ./pre-inst-env guix build foo
>
> If I then do the following, it works again:
>
> $ guix environment guix
> $ exit
> $ ./pre-inst-env guix build foo
>
> I don't have all of the Guix dependencies in my profile or my Debian
> environment (I see this on my Debian machine), so I guess that something
> important is garbage collected, but I haven't figured out what yet.
>
> So, I think it's not much of a bug, since I am deliberately invoking the
> garbage collector. WDYT?

Possibly. If you use ./configure -C, the ‘config.cache’ file also gets
stale after GC. But even if you don’t, (guix config) might be referring
to things that have been collected, so you have to:

rm -f config.cache && ./configure

I’m closing this bug, but do reopen it if you think something’s really
broken. :-)

Thanks!

Ludo’.
L
L
Ludovic Courtès wrote on 3 Aug 2016 00:33
control message for bug #23475
(address . control@debbugs.gnu.org)
87k2fy7qd5.fsf@gnu.org
tags 23475 unreproducible
close 23475
?