GNU bug report logs - #36215
guix system docker-image fails when store items contain non-ascii characters

Previous Next

Package: guix;

Reported by: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>

Date: Fri, 14 Jun 2019 21:06:01 UTC

Severity: normal

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 36215 in the body.
You can then email your comments to 36215 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#36215; Package guix. (Fri, 14 Jun 2019 21:06:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 14 Jun 2019 21:06:01 GMT) Full text and rfc822 format available.

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

From: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
To: <bug-guix <at> gnu.org>
Subject: guix system docker-image fails when store items contain non-ascii
 characters
Date: Fri, 14 Jun 2019 23:05:06 +0200
[Message part 1 (text/plain, inline)]
$ guix system docker-image docker-minimal-system.scm
[..]
building /gnu/store/a3mlhl86g54w7i7yyx7yyfycn8bzp3nc-guix-docker-image.tar.gz.drv...
-builder for `/gnu/store/a3mlhl86g54w7i7yyx7yyfycn8bzp3nc-guix-docker-image.tar.gz.drv' failed with exit code 1
build of /gnu/store/a3mlhl86g54w7i7yyx7yyfycn8bzp3nc-guix-docker-image.tar.gz.drv failed
View build log at '/var/log/guix/drvs/a3/mlhl86g54w7i7yyx7yyfycn8bzp3nc-guix-docker-image.tar.gz.drv.bz2'.
guix system: error: build of `/gnu/store/a3mlhl86g54w7i7yyx7yyfycn8bzp3nc-guix-docker-image.tar.gz.drv' failed

And the log says:


qemu-system-x86_64: warning: hub 0 is not connected to host network
ESCcESC[?7lESC[2JESC[0mSeaBIOS (version rel-1.12.0-0-ga698c8995f-prebuilt.qemu.org)


iPXE (http://ipxe.org) 00:03.0 C980 PCI2.10 PnP PMM+0FF91100+0FEF1100 C980
Press Ctrl-B to configure iPXE (PCI 00:03.0)...^M                                                                               


Booting from ROM...
ESCcESC[?7lESC[2J[    0.000000] Linux version 5.1.8-gnu (nixbld@) (gcc version 7.4.0 (GCC)) #1 SMP 1
[    0.000000] Command line: panic=1 --load=/gnu/store/5w2d4p93hzfri3b02yw76cmdkpbk1szi-linux-vm-loader console=ttyS0
[    0.000000] KERNEL supported cpus:

[...]

[Kregistering 177 items  [###################################                   ]Backtrace:
In ./guix/store/database.scm:
    95:20 19 (call-with-database _ _)
In ice-9/boot-9.scm:
    829:9 18 (catch _ _ #<procedure 12aa0a0 at ./guix/store/databas?> ?)
In ./guix/store/database.scm:
   114:20 17 (_)
In ./guix/progress.scm:
    70:36 16 (call-with-progress-reporter _ _)
In srfi/srfi-1.scm:
    640:9 15 (for-each #<procedure f54a50 at ./guix/store/database.?> ?)
In ./guix/store/database.scm:
   340:36 14 (_ #<<store-info> item: "/gnu/store/6w65nzbc3ah30y5kr4z?>)
In ./guix/store/deduplication.scm:
     60:4 13 (nar-sha256 "/guixsd-system-root/gnu/store/6w65nzbc3ah3?")
In ./guix/serialization.scm:
    363:9 12 (dump "/guixsd-system-root/gnu/store/6w65nzbc3ah30y5kr4?")
In srfi/srfi-1.scm:
    640:9 11 (for-each #<procedure 126c660 at ./guix/serialization.?> ?)
In ./guix/serialization.scm:
   370:23 10 (_ "etc")
    363:9  9 (dump "/guixsd-system-root/gnu/store/6w65nzbc3ah30y5kr4?")
In srfi/srfi-1.scm:
    640:9  8 (for-each #<procedure 126c630 at ./guix/serialization.?> ?)
In ./guix/serialization.scm:
   370:23  7 (_ "ssl")
    363:9  6 (dump "/guixsd-system-root/gnu/store/6w65nzbc3ah30y5kr4?")
In srfi/srfi-1.scm:
    640:9  5 (for-each #<procedure 126c600 at ./guix/serialization.?> ?)
In ./guix/serialization.scm:
   370:23  4 (_ "certs")
   362:43  3 (dump "/guixsd-system-root/gnu/store/6w65nzbc3ah30y5kr4?")
In srfi/srfi-1.scm:
   697:23  2 (filter-map #<procedure 10724c0 at ./guix/serializat?> . #)
In ./guix/serialization.scm:
   304:56  1 (_ "NetLock_Arany_=Class_Gold=_F??tan??s??tv??ny:2.6.73?")
In unknown file:
           0 (lstat "/guixsd-system-root/gnu/store/6w65nzbc3ah30y5kr?")

ERROR: In procedure lstat:
In procedure lstat: No such file or directory: "/guixsd-system-root/gnu/store/6w65nzbc3ah30y5kr4zx9rcgknpjr1f5-nss-certs-3.43/etc/ssl/certs/NetLock_Arany_=Class_Gold=_F??tan??s??tv??ny:2.6.73.65.44.228.0.16.pem"
^MESC[Kregistering 177 items
[  152.952990] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
[

I don't know what exactly is done here, but on my real machine, that
path exists (with the right encoding):

$ ls /gnu/store/6w65nzbc3ah30y5kr4zx9rcgknpjr1f5-nss-certs-3.43/etc/ssl/certs/NetLock_Arany_*
'/gnu/store/6w65nzbc3ah30y5kr4zx9rcgknpjr1f5-nss-certs-3.43/etc/ssl/certs/NetLock_Arany_=Class_Gold=_Főtanúsítvány:2.6.73.65.44.228.0.16.pem'

When I remove the "nss-certs" package from my system-definition, it works.

Also, creating the qemu-image works:

$ guix system vm-image docker-minimal-nginx.scm 
[..]
/gnu/store/w3w5w8i3iq7zqhbk78rkc17r97v2yi62-qemu-image

$ guix describe
Generation 62	Jun 11 2019 19:29:17	(current)
  guix-hoebjo 385a225
    repository URL: file:///home/bjoern/guix/guix-hoebjo
    branch: master
    commit: 385a2254007c66bfea30eeef7534800605107131
  guix 944cb87
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 944cb87a33e222cacae6647f37325b94e6a47568

System file attached.

Björn


[docker-minimal-system.scm (text/x-scheme, attachment)]
[Message part 3 (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#36215; Package guix. (Sun, 16 Jun 2019 21:35:02 GMT) Full text and rfc822 format available.

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

From: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
To: 36215 <at> debbugs.gnu.org
Subject: Re: bug#36215: guix system docker-image fails when store items
 contain non-ascii characters
Date: Sun, 16 Jun 2019 23:34:49 +0200
[Message part 1 (text/plain, inline)]
On Fri, 14 Jun 2019 23:05:06 +0200
Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de> wrote:

> qemu-system-x86_64: warning: hub 0 is not connected to host network

[..]

> ERROR: In procedure lstat:
> In procedure lstat: No such file or directory:
> "/guixsd-system-root/gnu/store/6w65nzbc3ah30y5kr4zx9rcgknpjr1f5-nss-certs-3.43/etc/ssl/certs/NetLock_Arany_=Class_Gold=_F??tan??s??tv??ny:2.6.73.65.44.228.0.16.pem"
> ^MESC[Kregistering 177 items [  152.952990] Kernel panic - not
> syncing: Attempted to kill init! exitcode=0x00000100 [

I looked a bit around the code, added some debugging outputs and found
out that finally in gnu/build/vm.scm in procedure load-in-linux-vm a
QEMU VM is started where the docker image will be created in.

To test things, I entered a container with qemu-minimal:

guix environment -N -C --share=/dev/kvm --share=/tmp/.X11-unix/ --ad-hoc coreutils less findutils emacs qemu-minimal nss-certs

And started an existing VM with the store being available over virtfs:

[env] $ qemu-system-x86_64 -m 2048 -smp 2 \
		 -boot menu=on \
		 -drive file=guixsd0.2018-02-19.qcow2 \
		 -drive format=raw,file=swap.img \
		 -virtfs local,id=store_dev,path=/gnu/store,security_model=none,mount_tag=store

In that machine, I mounted the fs:

mount -t 9p -o trans=virtio store /mnt

When I then looked at /mnt/...nss-certs.../..., the non-ascii
characters are looking all good.

I think the encoding-problem is more in the script.

Björn


[Message part 2 (application/pgp-signature, inline)]

Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 17 Jun 2019 10:37:02 GMT) Full text and rfc822 format available.

Notification sent to Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>:
bug acknowledged by developer. (Mon, 17 Jun 2019 10:37:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
Cc: 36215-done <at> debbugs.gnu.org
Subject: Re: bug#36215: guix system docker-image fails when store items
 contain non-ascii characters
Date: Mon, 17 Jun 2019 12:36:38 +0200
Hi Björn,

Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de> skribis:

> On Fri, 14 Jun 2019 23:05:06 +0200
> Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de> wrote:
>
>> qemu-system-x86_64: warning: hub 0 is not connected to host network
>
> [..]
>
>> ERROR: In procedure lstat:
>> In procedure lstat: No such file or directory:
>> "/guixsd-system-root/gnu/store/6w65nzbc3ah30y5kr4zx9rcgknpjr1f5-nss-certs-3.43/etc/ssl/certs/NetLock_Arany_=Class_Gold=_F??tan??s??tv??ny:2.6.73.65.44.228.0.16.pem"
>> ^MESC[Kregistering 177 items [  152.952990] Kernel panic - not
>> syncing: Attempted to kill init! exitcode=0x00000100 [
>
> I looked a bit around the code, added some debugging outputs and found
> out that finally in gnu/build/vm.scm in procedure load-in-linux-vm a
> QEMU VM is started where the docker image will be created in.
>
> To test things, I entered a container with qemu-minimal:
>
> guix environment -N -C --share=/dev/kvm --share=/tmp/.X11-unix/ --ad-hoc coreutils less findutils emacs qemu-minimal nss-certs
>
> And started an existing VM with the store being available over virtfs:
>
> [env] $ qemu-system-x86_64 -m 2048 -smp 2 \
> 		 -boot menu=on \
> 		 -drive file=guixsd0.2018-02-19.qcow2 \
> 		 -drive format=raw,file=swap.img \
> 		 -virtfs local,id=store_dev,path=/gnu/store,security_model=none,mount_tag=store
>
> In that machine, I mounted the fs:
>
> mount -t 9p -o trans=virtio store /mnt
>
> When I then looked at /mnt/...nss-certs.../..., the non-ascii
> characters are looking all good.
>
> I think the encoding-problem is more in the script.

Yes, it looks similar to what 9c941364bfc0120e3ab5c5c4cc71a9a302d59a2b
fixed.

Fixed in ed504cafa23c34bfa1823a4d5abf3ad55205484b.

Thanks!

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#36215; Package guix. (Tue, 18 Jun 2019 08:44:01 GMT) Full text and rfc822 format available.

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

From: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 36215-done <at> debbugs.gnu.org
Subject: Re: bug#36215: guix system docker-image fails when store items
 contain non-ascii characters
Date: Tue, 18 Jun 2019 10:43:14 +0200
[Message part 1 (text/plain, inline)]
On Mon, 17 Jun 2019 12:36:38 +0200
Ludovic Courtès <ludo <at> gnu.org> wrote:


> Yes, it looks similar to what 9c941364bfc0120e3ab5c5c4cc71a9a302d59a2b
> fixed.
> 
> Fixed in ed504cafa23c34bfa1823a4d5abf3ad55205484b.
> 
> Thanks!
> 
> Ludo’.

Thank you for the quick fix. I can confirm it works now.

Björn
[Message part 2 (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 16 Jul 2019 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 278 days ago.

Previous Next


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