Ccache hangs while compiling and cache size is exaggerated
Denny Lin
dennylin93 at hs.ntnu.edu.tw
Sat Jan 8 11:00:18 UTC 2011
On Tue, Jan 04, 2011 at 04:23:12AM +0200, Volodymyr Kostyrko wrote:
> 02.01.2011 16:01, Anonymous wrote:
> >>I'm using ccache 3.1.3, and it often hangs while compiling.
> >
> >What its waiting channel? Hit ^T when it hangs or run under ktrace(1).
This is what appears when I hit ^T:
load: 0.96 cmd: ccache 25893 [zio->io_cv)] 3.83r 0.00u 0.06s 1% 1604k
> Not just every compilation attempt triggers it. Chances are closer to 100/1.
Correct, but it's always triggered at the same point.
> >>Every time this happens, the cache size from $ ccache -s also becomes
> >>ridiculously large (larger than the actual cache size).
> >>
> >>$ ccache -s
> >>[...]
> >>cache size 6.9 Gbytes
> >
> >>The filesystem says it's only 2.9 GB.
> >
> >How did you measure it? du(1) with `-A' option?
> >For example, compression can make difference
Compression is turned off.
> I'd clarify this one. ccache reports size of cache +4G per damaged
> subdir. If damaged subdir would be removed ccache reports normal size of
> cache again.
>
> >>I can reproduce this, but I don't know what is causing this.
>
> This gives high IO. When ccache thinks cache is full it tries to purge
> it, yet purge does nothing. But this means walking all subdir per each
> compilation.
This seems to be the exact reason ccache is hanging. Does anyone have a
clue why subdirs are getting damaged and how this can be prevented?
--
Denny Lin
More information about the freebsd-ports
mailing list