Subject: Re: bug#34402: Inferior channel (I believe 'inferior-for-channels' function specifically) sometimes fails

From: <[email-masked]>
Date: Sun, 10 Feb 2019 17:01:20 +0000 (GMT)

I got the error again, I've attached the output.

It looks like line 16205 (at the bottom pretty much) shows that a permissions issue is the culprit:

openat(AT_FDCWD, "/home/itsme/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/FETCH_HEAD", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = -1 EACCES (Permission denied)

That file, along with  is owned by root and is in the root group, and permissions are set to `-rw-r--r--`.

It looks like this is caused by me running a guix command as root, with `sudo -E` (the -E is probably why it's modifying ownership of files in my user's guix cache directory), that checks out the git commit (I assume since it's only changing the ownership on those two files, the rest in that directory are owned by my user).

Changing the owner of that file back to my user has made the error go away when running `guix package -n -m example-manifest.scm` - and if i then run that command again with 'sudo -E', the ownership of those files is changed back to root.

On Sat, 09 Feb 2019 15:12:24 +0100, Ludovic Courtès <[email-masked]> wrote:

> Hello,
> 
> <[email-masked]> skribis:
> 
> > Often I'll get this output when building a manifest* with an inferior:
> >
> > ```
> > itsme@antelope /tmp$ guix package -n -m example-inferior.scm 
> > Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> > guix package: error: failed to load 'example-inferior.scm':
> > ```
> 
> There’s nothing following the colon above?
> 
> > I believe this is the 'inferior-for-channels' function that fails.
> >
> > After investigating a while back, it seems removing the relevant checkout in ~/.cache/guix/checkouts temporarily fixes it, but the issue often comes back.
> 
> I wonder if it could be <https://issues.guix.info/issue/34016>, though
> I’ve never experienced it in ~/.cache/guix, despite using ‘guix pull’ &
> co. a lot.
> 
> Next time this happens, could you run:
> 
>   strace -s 100 -o log guix package -n -m example-inferior.scm
> 
> and post the last few hundred lines of ‘log’?
> 
> Thanks,
> Ludo’.