bug#64302: Guix derivation cannot be computed during pull

2023-08-18 Thread Ludovic Courtès
Hi,

Andreas Enge  skribis:

> It looks like 1GB of memory is not enough for "guix pull", which is
> not nice. Has this been addressed in later commits? Is there a known
> lower memory limit for using Guix?

This is terrible.  :-/

The culprit here is Guile, specifically its compiler and psyntax.  I
made some improvements to reduce its memory consumption in 3.0, but it’s
definitely not 2x or so unfortunately.  So, to be continued…

Ludo’.





bug#64302: Guix derivation cannot be computed during pull

2023-07-19 Thread Andreas Enge
Hello,

Am Mon, Jul 10, 2023 at 11:38:47PM +0200 schrieb Ludovic Courtès:
> Is there any more data you can grab?  Perhaps in
> /var/log/guix-daemon.log or similar if that’s on a foreign distro?

it is a GNU system virtual machine. And I have this in /var/log/messages:

Jul 19 11:57:51 localhost vmunix: [4619013.095327] 
oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=69h614ii57kpgn5,pid=16408,uid=1000
Jul 19 11:57:51 localhost vmunix: [4619013.095350] Out of memory: Killed 
process 16408 (69h614ii57kpgn5) total-vm:54kB, anon-rss:433096kB, 
file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:952kB oom_score_adj:0

> And as a last resort, ‘strace -f -o /tmp/log -s 500 guix pull’, so we
> can get an idea of what happens.

While this appears in the strace log:

16408 +++ killed by SIGKILL +++

So we have the culprit; not a Guix bug per se.

$ cat /proc/meminfo 
MemTotal: 997864 kB
MemFree:  679044 kB
MemAvailable: 817052 kB

It looks like 1GB of memory is not enough for "guix pull", which is
not nice. Has this been addressed in later commits? Is there a known
lower memory limit for using Guix?

Andreas






bug#64302: Guix derivation cannot be computed during pull

2023-07-10 Thread Ludovic Courtès
Hi,

Andreas Enge  skribis:

> Am Fri, Jul 07, 2023 at 04:09:13PM +0200 schrieb Ludovic Courtès:
>> Is it reproducible for you?  Could it be a transient failure?
>
> It is not transient, it happens consistently.
> Can I do anything myself to trick it into working?

Is there any more data you can grab?  Perhaps in
/var/log/guix-daemon.log or similar if that’s on a foreign distro?

And as a last resort, ‘strace -f -o /tmp/log -s 500 guix pull’, so we
can get an idea of what happens.

TIA!

Ludo’.





bug#64302: Guix derivation cannot be computed during pull

2023-07-07 Thread Andreas Enge
Am Fri, Jul 07, 2023 at 04:09:13PM +0200 schrieb Ludovic Courtès:
> Is it reproducible for you?  Could it be a transient failure?

It is not transient, it happens consistently.
Can I do anything myself to trick it into working?

Andreas






bug#64302: Guix derivation cannot be computed during pull

2023-07-07 Thread Ludovic Courtès
Hello,

Andreas Enge  skribis:

> here is what happens on a server I do not manage to update for about a year 
> now:
>
> $ guix pull
> Updating channel 'guix' from Git repository at 
> 'https://git.savannah.gnu.org/git/guix.git'...
> Authenticating channel 'guix', commits 9edb3f6 to 1bc878d (1,055 new 
> commits)...
> Building from this channel:
>   guix  https://git.savannah.gnu.org/git/guix.git 1bc878d
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 
> 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 
> 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 
> 100.0%
> building /gnu/store/a2zzynwqii5j84gg9zn2brkh0hiqrh6n-module-import.drv...
> building /gnu/store/s8bj7c9nd85ng871h4440w7jw6p0hxpq-module-import.drv...
> building 
> /gnu/store/3m2pndmnxj91s80ad1kvjw7kjsgpf733-module-import-compiled.drv...
> building 
> /gnu/store/fg3r0s0r1sbljjdvgsnjkkziskn3fagp-module-import-compiled.drv...
> building 
> /gnu/store/a2lgmyr95d3nr0snp31662rygf5g7cz7-compute-guix-derivation.drv...
> Computing Guix derivation for 'x86_64-linux'... /guix pull: error: You found 
> a bug: the program 
> '/gnu/store/wvni7k3g4wnf0k782zgfv4gya9bnw8gg-compute-guix-derivation'
> failed to compute the derivation for Guix (version: 
> "1bc878ded2ea349384da6a72d4b8326c63c794b4"; system: "x86_64-linux";
> host version: "35b176daf1a466f136f0b77c03de78f482a30702"; pull-version: 1).
> Please report the COMPLETE output above by email to .

Weird.  I tried the same time travel and it went well:

--8<---cut here---start->8---
$ guix time-machine --commit=35b176daf1a466f136f0b77c03de78f482a30702 -- 
time-machine -- describe
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
[…]
building /gnu/store/pa38h9kqq05s77k0vq62amc99sv3xm2g-config.scm.drv...
building /gnu/store/ywbkw3m7dbk5g071v746p2q23v0x9ib0-git.scm.drv...
building /gnu/store/k4kidxvjp5bghrjk8n9y1n4k52lwrcmh-hash.scm.drv...
building /gnu/store/a2zzynwqii5j84gg9zn2brkh0hiqrh6n-module-import.drv...
building /gnu/store/s8bj7c9nd85ng871h4440w7jw6p0hxpq-module-import.drv...
building 
/gnu/store/3m2pndmnxj91s80ad1kvjw7kjsgpf733-module-import-compiled.drv...
building 
/gnu/store/fg3r0s0r1sbljjdvgsnjkkziskn3fagp-module-import-compiled.drv...
building 
/gnu/store/4kg185vfqw5c33kr5d35gzqyn6i1pjn7-compute-guix-derivation.drv...
Computing Guix derivation for 'x86_64-linux'... /
substitute: updating substitutes from 'http://192.168.1.48:8123'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://guix.bordeaux.inria.fr'... 100.0%
The following derivations will be built:
  /gnu/store/cgi7c05l797glr7siqwv02b83q7wyw9w-profile.drv
  /gnu/store/3pvbhrpp7vab9fm1x3pjwx4w6g5wx5w0-guix-849f31d57.drv
  /gnu/store/3mjlbc8g0lhv933yzdbsk813vv87pbf2-guix-daemon.drv
  /gnu/store/4bxlkz3nmvx7hgrfk6p1y9pvvkb23xw6-guix-command.drv
  /gnu/store/9n6mkg3xnlxx3i7gycf8azmwksh6vixl-guix-module-union.drv
  /gnu/store/p4jg8ci223h5wrqc5iy2ncl77vq3lsk5-guix-849f31d57-modules.drv
  /gnu/store/r8x4lb04j0w8ysvz83kxhcxdj1gzf66p-guix-config-modules.drv
  /gnu/store/41y56mzckgfwki39b0x7d32dzi59j9gj-guix-config.drv
  /gnu/store/k394a79aq2v11yj6f88z5r6cq1b4f2zh-guix-config-source.drv
  /gnu/store/9ns9frgaxy21nmhml1ixmbkymbl36xx4-config.scm.drv
  /gnu/store/al2fpclasimp7wsgph2v51my9ckn9far-inferior-script.scm.drv
  /gnu/store/k0581jd5ss6207p2q99mn2yhsh2y0czj-profile.drv
[…]
building /gnu/store/3pvbhrpp7vab9fm1x3pjwx4w6g5wx5w0-guix-849f31d57.drv...
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
building profile with 1 package...
building /gnu/store/al2fpclasimp7wsgph2v51my9ckn9far-inferior-script.scm.drv...
building package cache...
building profile with 1 package...
  guix 849f31d
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 849f31d5746f5633f9f2a768b76739afc257ae99
--8<---cut here---end--->8---

Is it reproducible for you?  Could it be a transient failure?

Annoying there aren’t more details in the output.

Thanks,
Ludo’.





bug#64302: Guix derivation cannot be computed during pull

2023-06-26 Thread Andreas Enge
Hello,

here is what happens on a server I do not manage to update for about a year now:

$ guix pull
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to 1bc878d (1,055 new commits)...
Building from this channel:
  guix  https://git.savannah.gnu.org/git/guix.git   1bc878d
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
building /gnu/store/a2zzynwqii5j84gg9zn2brkh0hiqrh6n-module-import.drv...
building /gnu/store/s8bj7c9nd85ng871h4440w7jw6p0hxpq-module-import.drv...
building 
/gnu/store/3m2pndmnxj91s80ad1kvjw7kjsgpf733-module-import-compiled.drv...
building 
/gnu/store/fg3r0s0r1sbljjdvgsnjkkziskn3fagp-module-import-compiled.drv...
building 
/gnu/store/a2lgmyr95d3nr0snp31662rygf5g7cz7-compute-guix-derivation.drv...
Computing Guix derivation for 'x86_64-linux'... /guix pull: error: You found a 
bug: the program 
'/gnu/store/wvni7k3g4wnf0k782zgfv4gya9bnw8gg-compute-guix-derivation'
failed to compute the derivation for Guix (version: 
"1bc878ded2ea349384da6a72d4b8326c63c794b4"; system: "x86_64-linux";
host version: "35b176daf1a466f136f0b77c03de78f482a30702"; pull-version: 1).
Please report the COMPLETE output above by email to .

Here is the content of the compute-guix-derivation script:
#!/gnu/store/1kws5vkl0glvpxg7arabsv6q9vazp0hx-guile-3.0.7/bin/guile 
--no-auto-compile
!#
(eval-when (expand load eval) (set! %load-path (cons 
"/gnu/store/ic6dz76n6kax93q32b3356dvpl19iv5w-module-import" %load-path)) (set! 
%load-compiled-path (cons 
"/gnu/store/hkmx7wwwzdycj5q76j08ffn479vmvdax-module-import-compiled" 
%load-compiled-path)))(begin (use-modules (ice-9 match)) (eval-when (expand 
load eval) (match (command-line) ((_ source _ ...) (match %load-path ((front _ 
...) (unless (string=? front source) (set! %load-path (list source 
(string-append "/gnu/store/60jl4xry9c93j9l0rr7nkvbw7dihjz4k-guile-gcrypt-0.3.0" 
"/share/guile/site/" (effective-version)) front))) (set! 
%load-compiled-path (cons (string-append 
"/gnu/store/60jl4xry9c93j9l0rr7nkvbw7dihjz4k-guile-gcrypt-0.3.0" "/lib/guile/" 
(effective-version) "/site-ccache") %load-compiled-path)) (read-disable (quote 
positions))) (use-modules (guix store) (guix self) (guix derivations) (srfi 
srfi-1)) (match (command-line) ((_ source system version protocol-version 
build-output) (let* ((proto (string->number protocol-version)) (store (if 
(integer? proto) (port->connection (duplicate-port (current-input-port) "w+0") 
#:version proto) (open-connection))) (sock (socket AF_UNIX SOCK_STREAM 0))) 
(connect sock AF_UNIX build-output) (display (and=> (parameterize 
((current-warning-port (%make-void-port "w")) (current-build-output-port sock)) 
(run-with-store store (guix-derivation source version "3.0" #:channel-metadata 
(quote (repository (version 0) (url 
"https://git.savannah.gnu.org/git/guix.git;) (branch "master") (commit 
"1bc878ded2ea349384da6a72d4b8326c63c794b4") (name guix) (introduction 
(channel-introduction (version 0) (commit 
"9edb3f66fd807b096b48283debdcddccfea34bad") (signer "BBB0 2DDF 2CEA F6A8 0D1D  
E643 A2A0 6DF2 A33A 54FA") #:pull-version 1) #:system system)) 
derivation-file-name))

If I remember well, in the past I tried to update with a guix from guix
(obtained with "guix install guix") and also with one from git
("./pre-inst-env guix pull"), and the result was always the same.

So here is the sad outdated state:
$ guix describe
Generation 10   Aug 26 2022 15:29:35(current)
  guix 35b176d
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 35b176daf1a466f136f0b77c03de78f482a30702

Andreas