[ccache] Bug? ccache: error: Could not stat <cache file> (permission denied when creating?): No such file or directory

Michael Ellerman michael at ellerman.id.au
Sun Jan 6 19:15:36 MST 2013


On Sun, 2013-01-06 at 17:43 +0100, Joel Rosdahl wrote:
> On 7 December 2012 03:51, Michael Ellerman <michael at ellerman.id.au> wrote:
> > [...]
> > The error we see is like:
> >
> >         ccache: error: Could not stat /scratch/kisskb/ccache/0/d/01dfc7d17f46f8d9b361ba9323e8c9-1921690.o.tmp.stdout.Sprygo.8282
> >         (permission denied when creating?): No such file or directory
> > [...]
> > So basically 11295 is running cleanup_dir() and deleting files that are
> > still being written to. The full log shows 11295 deleting lots of files.
> >
> > From a brief look at the code I don't see any logic which would prevent
> > this from happening, other than that usually there is enough space in
> > the cache so that only old files are deleted.
> >
> > I'm not sure what the best way to avoid this is. The old logic of
> > noticing the stdout is missing and calling failed() at least doesn't
> > break the build.
> 
> Thanks for the bug report and analysis!
> 
> I have addressed the issue by detecting failure to create the
> temporary stdout/stderr files earlier so that no fatal() call is
> needed for the cleanup scenario. The fix will be included in v3.1.9.

Thanks Joel.

I'll give it a test in the next week or so.

Obviously we also need to make our cache bigger, but I'll hold off doing
that until I've confirmed your fix works.

cheers




More information about the ccache mailing list