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

2019-06-18 Thread Björn Höfling
On Mon, 17 Jun 2019 12:36:38 +0200
Ludovic Courtès  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


pgpxgKUZY0t69.pgp
Description: OpenPGP digital signature


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

2019-06-17 Thread Ludovic Courtès
Hi Björn,

Björn Höfling  skribis:

> On Fri, 14 Jun 2019 23:05:06 +0200
> Björn Höfling  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=0x0100 [
>
> 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’.





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

2019-06-16 Thread Björn Höfling
On Fri, 14 Jun 2019 23:05:06 +0200
Björn Höfling  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=0x0100 [

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




pgp13bHoDtthb.pgp
Description: OpenPGP digital signature


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

2019-06-14 Thread Björn Höfling
$ 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.00] Linux version 5.1.8-gnu (nixbld@) (gcc version 
7.4.0 (GCC)) #1 SMP 1
[0.00] Command line: panic=1 
--load=/gnu/store/5w2d4p93hzfri3b02yw76cmdkpbk1szi-linux-vm-loader console=ttyS0
[0.00] 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 _ _ # ?)
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 # ?)
In ./guix/store/database.scm:
   340:36 14 (_ #< 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 # ?)
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 # ?)
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 # ?)
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 # . #)
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=0x0100
[

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


(use-modules (gnu)
   (gnu system nss))
(use-package-modules certs ssh)
(use-service-modules networking)

(operating-system
 (swap-devices '("/dev/sdb1"))
 (host-name "mini-nginx")
 (timezone "Europe/Paris")
 (locale "en_US.utf8")

 (bootloader (bootloader-configuration
	  (bootloader grub-bootloader)
	  (target "/dev/sda")))
 (file-systems (cons (file-system
		  (device (file-system-label "my-root"))
		  (mount-point "/")
		  (type "ext4"))
		 %base-file-systems))

 (users (cons (user-account
	   (name "alice")
	   (comment "Alice")
	   (group "users")
	   (supplementary-groups '("wheel" "netdev"
   "audio" "video"))
	   (home-directory "/home/alice"))
	  %base-user-accounts))

 (packages (cons* nss-certs
		  %base-packages))

 (services %base-services))


pgpjaGMAeHVth.pgp
Description: OpenPGP digital signature