Monday, December 25, 2023

Re: sccache lifetime & ports infrastructure ?

Le Sat, Dec 23, 2023 at 04:09:19PM +0100, Caspar Schutijser a écrit :
> On Sat, Dec 23, 2023 at 09:07:24AM +0100, Landry Breuil wrote:
> > hi,
> >
> > sending to ports@ for more ideas, devel/sccache works pretty great here,
> > but for now its client/server model has some issues. from my
> > understanding, a server is spawned at the first invocation of sccache,
> > and it runs forever
>
> The running forever should only happen if SCCACHE_IDLE_TIMEOUT is
> set to 0, as far as I understand. Source:
> https://github.com/mozilla/sccache/blob/main/docs/Configuration.md
>
> > , or until it had nothing to do and
> > SCCACHE_IDLE_TIMEOUT expired.
> >
> > i've seen at occasion the make process 'waiting' at the end of the
> > build, from my understanding because sccache was used and thus a server
> > was spawned, and the server was still running. manually killing the
> > server process allows make build to finish and proceed with make fake.
>
> Does make wait indefinitely or does it succesfully finish after some
> time?

i think it finishes, but after the timeout. if a rust file was built
recently, you end up waiting for nothing..

> And when you see this problematic behavior, did you set a custom value
> for SCCACHE_IDLE_TIMEOUT? Did you use any other SCCACHE-related
> environment variables? I can't remember seeing this behavior myself
> and I haven't changed SCCACHE_IDLE_TIMEOUT. So I wonder what the
> relevant difference is between our setups.

i have SCCACHE_ENV=SCCACHE_CACHE_SIZE="25G" SCCACHE_IDLE_TIMEOUT=1200
, i'll remove the last one, but im pretty sure if you build a single
rust port you might see sccache hanging around at the end, waiting for
the timeout.. which would make sense after all. i dont understand why
the make process waits for it since its not a child of make anymore.

No comments:

Post a Comment