Subject: Re: bug#47115: Failure building grub-img.png when reconfiguring

From: Jack Hill <[email-masked]>
Date: Sun, 14 Mar 2021 23:38:45 -0400 (EDT)

On Sun, 14 Mar 2021, Mark H Weaver wrote:

> It occurs to me that we missed something: the profiles in
> ~/.config/guix/current that are managed by "guix pull".  It might be
> that code within Guix itself was miscompiled (e.g. gnu/build/svg.scm),
> or else that a profile in ~/.config/guix/current is still holding a
> reference to something else that was miscompiled, (e.g. guile-cairo).
>
> I suggest "guix pull --commit=453e101fc3f7dac9aabcd6122cf05fb7925103c7",
> and then "guix package -p ~/.config/guix/current --delete-generations"
> to delete any generations of Guix at commits that came after the Cairo
> graft (use "guix pull --list-generations" to list them).  Do this for
> all user accounts (including root) that have a ~/.config/guix/current
> directory.  Then, try "guix gc" again.

Thanks Mark. I've done the dance to gc as much as possible again. This 
time, I also checked in /var/guix/gcroots to make sure I hadn't missed 
anything. In fact I had missed some extra manual roots that I had created, 
and I cleaned those up as well before running guix gc.

After running guix gc, I rebooted, ran guix pull, followed by a 
reconfigure. The first reconfigure failed because of the substitute 
networking problem, but when I ran it again, it failed in the same way 
building the grub png. After it failed, I ran it again to capture the 
following output:

jackhill@kalessin ~$ guix describe
Generation 9	Mar 14 2021 23:24:43	(current)
   guix d059485
     repository URL: https://git.savannah.gnu.org/git/guix.git
     branch: master
     commit: d059485257bbe5b4f4d903b357ec99a3af2d4f39
jackhill@kalessin ~$ sudo -E guix system -v3 reconfigure /config.scm
The following derivations will be built:
    /gnu/store/xqdm3fslr3n0jyxh6i3nsn237lygjfwf-system.drv
    /gnu/store/2p1s41kwh9w7w8cijg3r4zplc9f9i6fw-activate.scm.drv
    /gnu/store/jgagsl2m5x5vi63s3hdwg6lb58m8qiz1-activate-service.scm.drv
    /gnu/store/dsv31bkl2vwqhqgrqvz59wir009ix3kb-etc.drv
    /gnu/store/9f2rvmk0xii50smi8dwn0q9556y7qc94-rottlog.drv
    /gnu/store/ky3yw75v55g06ggi4i0xk155i7knn10f-sudoers.drv
    /gnu/store/b2h0nkrd03zff082lg7y149aw3j9yfxg-profile.drv
    /gnu/store/hlr9ypdb841sz2w949mxi5kqhvv2dd22-boot.drv
    /gnu/store/y8s53y9irwbsy1pc07vbczbp7jwsrsw4-shepherd.conf.drv
    /gnu/store/6zk7p1iljyayb5hyafgbzik06cq0f00j-shepherd-ssh-daemon-ssh-sshd.go.drv
    /gnu/store/p89f6qy78yarsjrmq8mkrjihnk4hpm25-shepherd-ssh-daemon-ssh-sshd.scm.drv
    /gnu/store/kscdry7kq4izr7nyzs6gq3kg0hqcjffx-shepherd-guix-daemon.go.drv
    /gnu/store/aa4wgjx3625m5k71i5rzb0ywx9z6a0i3-shepherd-guix-daemon.scm.drv
    /gnu/store/qy2sl92bqnzahvpzb6imgspp6llpz0cj-shepherd-mcron.go.drv
    /gnu/store/xdxd5gfvzk4g0m2idbfcrp3d32gm0vz6-shepherd-mcron.scm.drv
    /gnu/store/q8ampzxsdkibl15jhlvq30gic5qgm0wi-mcron-job.drv
    /gnu/store/qj9nqyhci6zhkfprpwch90ry5hkhwvbx-mcron-job.drv
    /gnu/store/6gx45db5mwraihq1qv8c9vmxhdskjk1a-grub.cfg.drv
    /gnu/store/07xw2pp63xin4c4y8ndrcdn3n8z1vmx2-grub-image.png.drv
The following grafts will be made:
    /gnu/store/fwwwnlzhckvi4wmw89m9az9y9wb9v6q9-rottlog-0.72.2.drv
    /gnu/store/26z2lhnqhzr5b88axv7b38fgqjl3w2h8-usbutils-013.drv
The following profile hooks will be built:
    /gnu/store/5c19y82k9pw297w0b5gn8j6p7g7c6h60-ca-certificate-bundle.drv
    /gnu/store/j5plp2k4bkjilqx1yw9mkavy37ipp29h-fonts-dir.drv
    /gnu/store/lcilg958v3adfl8jljkjwpwihbzsyr6c-info-dir.drv
    /gnu/store/z5m7ra9zd3vhqbp5hg4695s2jgsggr6q-manual-database.drv
building /gnu/store/07xw2pp63xin4c4y8ndrcdn3n8z1vmx2-grub-image.png.drv...
Backtrace:
            2 (primitive-load "/gnu/store/larqpc2wjhnc6jmj4885k8lynd1?")
In gnu/build/svg.scm:
      53:6  1 (svg->png _ "/gnu/store/vmldvxllh07k641wmbnlz3migga29r?" ?)
In unknown file:
            0 (rsvg-handle-render-cairo #<rsvg-handle 7ffff5b60150> #)

ERROR: In procedure rsvg-handle-render-cairo:
Wrong type (expecting finalized smob): #<cairo-context 7ffff5b60090>
builder for `/gnu/store/07xw2pp63xin4c4y8ndrcdn3n8z1vmx2-grub-image.png.drv' failed with exit code 1
build of /gnu/store/07xw2pp63xin4c4y8ndrcdn3n8z1vmx2-grub-image.png.drv failed
View build log at '/var/log/guix/drvs/07/xw2pp63xin4c4y8ndrcdn3n8z1vmx2-grub-image.png.drv.bz2'.
cannot build derivation `/gnu/store/6gx45db5mwraihq1qv8c9vmxhdskjk1a-grub.cfg.drv': 1 dependencies couldn't be built
guix system: error: build of `/gnu/store/6gx45db5mwraihq1qv8c9vmxhdskjk1a-grub.cfg.drv' failed

Do you think it is worth creating another VM to see if it's a problem with 
the VM configuration?

Best,
Jack