Subject: Re: "View build log" - but it's empty (at first)!

From: Chris Marusich <[email-masked]>
Date: Mon, 15 Jul 2019 23:47:25 -0700

Chris Marusich <[email-masked]> writes:

> Sometimes, I see an error like the following (it is not specific to
> ant-bootstrap):
>
> $ guix package -m ~/profile-packages.scm 
> ...
> building /gnu/store/76apf0hpcdabpjy0839nhkwgfrz3m8z5-ant-bootstrap-1.8.4.drv...
> | 'build' phasebuilder for `/gnu/store/76apf0hpcdabpjy0839nhkwgfrz3m8z5-ant-bootstrap-1.8.4.drv' failed with exit code 1
> build of /gnu/store/76apf0hpcdabpjy0839nhkwgfrz3m8z5-ant-bootstrap-1.8.4.drv failed
> View build log at '/var/log/guix/drvs/76/apf0hpcdabpjy0839nhkwgfrz3m8z5-ant-bootstrap-1.8.4.drv.bz2'.
> cannot build derivation `/gnu/store/3l11fmnyc4k1dcwlijk4vdsq70jc4lqs-icedtea-3.7.0.drv': 1 dependencies couldn't be built
> killing process 20600
> cannot build derivation `/gnu/store/b071r8bm2n01mp50g6r5ghxl0m09akdx-profile.drv': 1 dependencies couldn't be built
> guix package: error: build of `/gnu/store/b071r8bm2n01mp50g6r5ghxl0m09akdx-profile.drv' failed
>
>
> But when I try to view the log file very quickly after getting these
> messages (within about 1 minute or so), I get:
>
> $ file  /var/log/guix/drvs/7f/n896phqyv9r636yhjipa9k4qm7g9ni-evolution-data-server-3.30.2.drv.bz2
> /var/log/guix/drvs/7f/n896phqyv9r636yhjipa9k4qm7g9ni-evolution-data-server-3.30.2.drv.bz2: empty
>
>
> However, when I come back a few minutes later, mysteriously the file has
> been populated:
>
> $ file  /var/log/guix/drvs/7f/n896phqyv9r636yhjipa9k4qm7g9ni-evolution-data-server-3.30.2.drv.bz2 
> /var/log/guix/drvs/7f/n896phqyv9r636yhjipa9k4qm7g9ni-evolution-data-server-3.30.2.drv.bz2: bzip2 compressed data, block size = 900k
>
> Indeed, I was originally going to report that the file was empty, but
> while I was writing this email, it filled up!  Is this behavior
> expected?  I anticipated that the file would be finalized (empty or not)
> before the helpful message "View built log at ..." was printed, but it
> seems like that message is proleptic, which makes it a little confusing.

Whoops, I got my wires crossed.  Those build logs are for
evolution-data-server, not ant-bootstrap.  However, the same problem
holds for evolution-data-server - I built it, it failed, it said I could
find the logs at
/var/log/guix/drvs/7f/n896phqyv9r636yhjipa9k4qm7g9ni-evolution-data-server-3.30.2.drv.bz2,
it was empty at first, but then it became full.

In fact, it is only partially full, since the file ends unexpectedly:

--8<---------------cut here---------------start------------->8---
$ bzcat /var/log/guix/drvs/7f/n896phqyv9r636yhjipa9k4qm7g9ni-evolution-data-server-3.30.2.drv.bz2 > /dev/null

bzcat: Compressed file ends unexpectedly;
        perhaps it is corrupted?  *Possible* reason follows.
bzcat: Success
        Input file = /var/log/guix/drvs/7f/n896phqyv9r636yhjipa9k4qm7g9ni-evolution-data-server-3.30.2.drv.bz2, output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

--8<---------------cut here---------------end--------------->8---

Sorry for the initial confusion, but I believe this is still a potential
issue, and I wonder if others have observed similar behavior.

-- 
Chris