unsupported sexp item type #f ```

  • Open
  • quality assurance status badge
Details
2 participants
  • David Craven
  • Ludovic Courtès
Owner
unassigned
Submitted by
David Craven
Severity
normal
Merged with

Debbugs page

D
D
David Craven wrote on 22 Jun 2016 09:44
(address . bug-guix@gnu.org)
CAL1_imns2U96NP-CWhU3uxN7+MDmnL9MEBPHNym=cGnqZ_2PaA@mail.gmail.com
Maybe not a bug, but I'm getting the same backtrace when trying to run
./guix archive or ./guix package -i guix or ./guix pull.

Trying to install guix 0.10.0 binary tarball on nixos.

```nix
users.users = {
guixbuild1 = {
isSystemUser = true;
group = "guixbuild";
};
};

users.groups.guixbuild = {};
```

```sh
bin sudo ./guix archive --authorize < ../share/guix/hydra.gnu.org.pub

/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin
warning: failed to install locale: Invalid argument
Backtrace:
In ice-9/boot-9.scm:
157: 17 [catch #t #<catch-closure 18097a0> ...]
In unknown file:
?: 16 [apply-smob/1 #<catch-closure 18097a0>]
In ice-9/boot-9.scm:
63: 15 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
432: 14 [eval # #]
In ice-9/boot-9.scm:
2401: 13 [save-module-excursion #<procedure 1826940 at
ice-9/boot-9.scm:4045:3 ()>]
4050: 12 [#<procedure 1826940 at ice-9/boot-9.scm:4045:3 ()>]
1724: 11 [%start-stack load-stack ...]
1729: 10 [#<procedure 183eea0 ()>]
In unknown file:
?: 9 [primitive-load
"/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin/.guix-real"]
In guix/ui.scm:
1188: 8 [run-guix-command archive "--authorize"]
In ice-9/boot-9.scm:
157: 7 [catch srfi-34 #<procedure 276d1c0 at guix/ui.scm:419:2 ()> ...]
157: 6 [catch system-error ...]
In guix/scripts/archive.scm:
328: 5 [#<procedure 276c7b0 at guix/scripts/archive.scm:318:2 ()>]
303: 4 [authorize-key]
In ice-9/boot-9.scm:
702: 3 [map #<procedure sexp->canonical-sexp (sexp)> (#f)]
In guix/pk-crypto.scm:
375: 2 [sexp->canonical-sexp #f]
In unknown file:
?: 1 [call-with-output-string #<procedure 27704a0 at
guix/pk-crypto.scm:376:5 (port)>]
?: 0 [scm-error misc-error #f "~A ~S" ("unsupported sexp item type" #f) #f]

ERROR: In procedure scm-error:
ERROR: unsupported sexp item type #f
```
L
L
Ludovic Courtès wrote on 22 Jun 2016 14:28
(name . David Craven)(address . david@craven.ch)(address . 23828@debbugs.gnu.org)
87mvmclxqv.fsf@gnu.org
Hi,

David Craven <david@craven.ch> skribis:

Toggle quote (3 lines)
> Maybe not a bug, but I'm getting the same backtrace when trying to run
> ./guix archive or ./guix package -i guix or ./guix pull.

Do you really type “./guix”? From which directory?

Toggle quote (42 lines)
> bin sudo ./guix archive --authorize < ../share/guix/hydra.gnu.org.pub
>
> /gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin
> warning: failed to install locale: Invalid argument
> Backtrace:
> In ice-9/boot-9.scm:
> 157: 17 [catch #t #<catch-closure 18097a0> ...]
> In unknown file:
> ?: 16 [apply-smob/1 #<catch-closure 18097a0>]
> In ice-9/boot-9.scm:
> 63: 15 [call-with-prompt prompt0 ...]
> In ice-9/eval.scm:
> 432: 14 [eval # #]
> In ice-9/boot-9.scm:
> 2401: 13 [save-module-excursion #<procedure 1826940 at
> ice-9/boot-9.scm:4045:3 ()>]
> 4050: 12 [#<procedure 1826940 at ice-9/boot-9.scm:4045:3 ()>]
> 1724: 11 [%start-stack load-stack ...]
> 1729: 10 [#<procedure 183eea0 ()>]
> In unknown file:
> ?: 9 [primitive-load
> "/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin/.guix-real"]
> In guix/ui.scm:
> 1188: 8 [run-guix-command archive "--authorize"]
> In ice-9/boot-9.scm:
> 157: 7 [catch srfi-34 #<procedure 276d1c0 at guix/ui.scm:419:2 ()> ...]
> 157: 6 [catch system-error ...]
> In guix/scripts/archive.scm:
> 328: 5 [#<procedure 276c7b0 at guix/scripts/archive.scm:318:2 ()>]
> 303: 4 [authorize-key]
> In ice-9/boot-9.scm:
> 702: 3 [map #<procedure sexp->canonical-sexp (sexp)> (#f)]
> In guix/pk-crypto.scm:
> 375: 2 [sexp->canonical-sexp #f]
> In unknown file:
> ?: 1 [call-with-output-string #<procedure 27704a0 at
> guix/pk-crypto.scm:376:5 (port)>]
> ?: 0 [scm-error misc-error #f "~A ~S" ("unsupported sexp item type" #f) #f]
>
> ERROR: In procedure scm-error:
> ERROR: unsupported sexp item type #f

Could it be that /etc/guix/acl contains bogus data?

Could you try, as root:

rm -f /etc/guix/acl
guix archive --authorize < /path/to/hydra.gnu.org.pub

?

Thanks for the report,
Ludo’.
D
D
David Craven wrote on 22 Jun 2016 20:37
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 23828@debbugs.gnu.org)
CAL1_immTgxUvhD1LUC6p0AJoyRZ+GcPNeqchbJrtAb7N_8TChg@mail.gmail.com
I'm running guix from
`/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin` since I
don't have my profile/PATH setup correctly yet. I was under the
impression that `./guix package -i guix` would create the right
symlinks in `/var/guix/profiles/per-user`.

Weird, `/etc/guix/acl` doesn't contain anything but `/etc/nix/acl` does:
```
sudo cat /etc/nix/acl
(acl
(entry
()
(tag
(guix import)
)
)
)
```

After `sudo rm -f /etc/nix/acl` guix or guix-daemon recreates the same
file and exits with the same stack trace.

Thank you
David

On Wed, Jun 22, 2016 at 11:28 PM, Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (62 lines)
> Hi,
>
> David Craven <david@craven.ch> skribis:
>
>> Maybe not a bug, but I'm getting the same backtrace when trying to run
>> ./guix archive or ./guix package -i guix or ./guix pull.
>
> Do you really type “./guix”? From which directory?
>
>> bin sudo ./guix archive --authorize < ../share/guix/hydra.gnu.org.pub
>>
>> /gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin
>> warning: failed to install locale: Invalid argument
>> Backtrace:
>> In ice-9/boot-9.scm:
>> 157: 17 [catch #t #<catch-closure 18097a0> ...]
>> In unknown file:
>> ?: 16 [apply-smob/1 #<catch-closure 18097a0>]
>> In ice-9/boot-9.scm:
>> 63: 15 [call-with-prompt prompt0 ...]
>> In ice-9/eval.scm:
>> 432: 14 [eval # #]
>> In ice-9/boot-9.scm:
>> 2401: 13 [save-module-excursion #<procedure 1826940 at
>> ice-9/boot-9.scm:4045:3 ()>]
>> 4050: 12 [#<procedure 1826940 at ice-9/boot-9.scm:4045:3 ()>]
>> 1724: 11 [%start-stack load-stack ...]
>> 1729: 10 [#<procedure 183eea0 ()>]
>> In unknown file:
>> ?: 9 [primitive-load
>> "/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin/.guix-real"]
>> In guix/ui.scm:
>> 1188: 8 [run-guix-command archive "--authorize"]
>> In ice-9/boot-9.scm:
>> 157: 7 [catch srfi-34 #<procedure 276d1c0 at guix/ui.scm:419:2 ()> ...]
>> 157: 6 [catch system-error ...]
>> In guix/scripts/archive.scm:
>> 328: 5 [#<procedure 276c7b0 at guix/scripts/archive.scm:318:2 ()>]
>> 303: 4 [authorize-key]
>> In ice-9/boot-9.scm:
>> 702: 3 [map #<procedure sexp->canonical-sexp (sexp)> (#f)]
>> In guix/pk-crypto.scm:
>> 375: 2 [sexp->canonical-sexp #f]
>> In unknown file:
>> ?: 1 [call-with-output-string #<procedure 27704a0 at
>> guix/pk-crypto.scm:376:5 (port)>]
>> ?: 0 [scm-error misc-error #f "~A ~S" ("unsupported sexp item type" #f) #f]
>>
>> ERROR: In procedure scm-error:
>> ERROR: unsupported sexp item type #f
>
> Could it be that /etc/guix/acl contains bogus data?
>
> Could you try, as root:
>
> rm -f /etc/guix/acl
> guix archive --authorize < /path/to/hydra.gnu.org.pub
>
> ?
>
> Thanks for the report,
> Ludo’.
L
L
Ludovic Courtès wrote on 23 Jun 2016 01:06
(name . David Craven)(address . david@craven.ch)(address . 23828@debbugs.gnu.org)
87d1n8s51h.fsf@gnu.org
David Craven <david@craven.ch> skribis:

Toggle quote (6 lines)
> I'm running guix from
> `/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin` since I
> don't have my profile/PATH setup correctly yet. I was under the
> impression that `./guix package -i guix` would create the right
> symlinks in `/var/guix/profiles/per-user`.

OK.

Toggle quote (13 lines)
> Weird, `/etc/guix/acl` doesn't contain anything but `/etc/nix/acl` does:
> ```
> sudo cat /etc/nix/acl
> (acl
> (entry
> ()
> (tag
> (guix import)
> )
> )
> )
> ```

This is clearly bogus (the “()” above). Guix only creates and uses
/etc/guix/acl, not /etc/nix/acl.

Could it be that /etc/guix is a symlink to /etc/nix, or something like
that?

Toggle quote (3 lines)
> After `sudo rm -f /etc/nix/acl` guix or guix-daemon recreates the same
> file and exits with the same stack trace.

By default, Guix ensures that at least your own key, if it exists, is
part of the ACL; this happens in ‘ensure-acl’, in guix/pki.scm.

I suspect that in your case /etc/guix/signing-key.pub is not a valid
key, which is why ‘ensure-acl’ ends up adding “()”. Could you post the
contents of /etc/guix/signing-key.pub? (It’s a public key, so doing it
is OK.)

Possibly this has to do with /etc/guix pointing to /etc/nix, and
/etc/nix/signing-key.pub being a public key in the format that Nix uses,
which is a completely different format.

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 23 Jun 2016 05:54
(name . David Craven)(address . david@craven.ch)
87wplgoyk8.fsf@gnu.org
merge 23828 22459
thanks

David Craven <david@craven.ch> skribis:

Toggle quote (8 lines)
> The usage of NIX environment variables is a problem when trying to
> coexist with nix on nixos.
> ```
> (define %config-directory
> ;; This must match `NIX_CONF_DIR' as defined in `nix/local.mk'.
> (or (getenv "NIX_CONF_DIR") "@guix_sysconfdir@/guix"))
> ```

Oh, good point. I assume this was the root of the problems, right?

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 24 Jun 2016 16:17
control message for bug #23828
(address . control@debbugs.gnu.org)
87y45urxb9.fsf@gnu.org
merge 23828 22459
L
L
Ludovic Courtès wrote on 26 Jun 2016 15:15
Re: bug#23828: unsupported sexp item type #f ```
(name . David Craven)(address . david@craven.ch)
87vb0violj.fsf@gnu.org
This issue is partly addressed with your patch pushed as
9dd674db017dbdc451cfd35da2dc3ce08db0726a, which renames ‘NIX_CONF_DIR’
to ‘GUIX_CONFIGURATION_DIRECTORY’.

Ludo’.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 23828@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 23828
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch