Subject: Re: bug#64760: make check fails on 182be30fb1a8b847c30492462ec22c08ec7a9849

From: Janneke Nieuwenhuizen <[email-masked]>
Date: Sun, 30 Jul 2023 18:19:40 +0200

Josselin Poiret writes:

Hey!

> Janneke Nieuwenhuizen <[email-masked]> writes:
>
>> Just a headsup that this change breaks the store-roots test on the hurd
>> for me.
>
> Thanks for the feedback Janneke.  It seems that there is some left-over
> state that can mess with this state's result: I was initially surprised
> that the /profiles directory could appear in the gc roots, but that's
> because it is symlinked under /gcroots, not because it is itself
> searched for gc roots.
>
> In any case, the /gcroots directory along with the /gcroots/profiles
> symlink is created when a connection is made to the daemon, which is not
> the case here yet.  However, a connection might have been opened before
> for the same state dir (which depends on the PID of
> build-aux/test-env.in).  It might also depend on whether the clean-up of
> the state directory made by `trap` worked and whether PIDs get re-used
> quickly on the specific kernel.  I think this is all too unreliable
> here (I have one such example of a leftover PID state dir in my tree, so
> it might happen more often than not).

Yes, that could be.  I've got another data-point for i686-linux (see
also https://issues.guix.gnu.org/64959); the package and texlive tests
now pass, and store-roots is made to fail like so:

--8<---------------cut here---------------start------------->8---
test-name: gc-roots, initial
location: /home/janneke/src/guix/wip-i686/tests/store-roots.scm:33
source:
+ (test-equal
+   "gc-roots, initial"
+   '()
+   (begin
+     (false-if-exception
+       (delete-file-recursively
+         (string-append %state-directory "/profiles")))
+     (gc-roots)))
expected-value: ()
actual-value: ("/home/janneke/src/guix/wip-i686/test-tmp/var/30690/profiles")
result: FAIL
--8<---------------cut here---------------end--------------->8---

> In any case, if this test is only here to check if gc-roots doesn't
> error out, we could return #t at the end to only fish for errors.  WDYT?

(good question.../me passes insights here to "others" ;)

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <[email-masked]>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com