[ccache] Re: disk full and distcc/ccache weirdness

Martin Pool mbp at samba.org
Wed Nov 20 02:32:01 EST 2002


On 23 Sep 2002, Tim Potter <tpot at samba.org> wrote:
> Hi Tridge.  I've just had some distcc/ccache wierdness that caused my
> ccache to be corrupted.  One of the machines in our DISTCC_HOSTS list
> filled up /tmp and a whole bunch of object files were created containing
> text like:
> 
> DOMAIN_GRP:t(239,22)=(239,21)
> domain_grp_member_info:T(239,23)=s257name:(211,2),0,2048;attr:(0,11),2048,8;;
> DOMAIN_GRP_MEMBER:t(239,24)=(239,23)
> time_info:T(239,25)=s4time:(0,4),0,32;;

> The exact error returned was:
> 
> Linking bin/smbd
> lib/fsusage.o: file not recognized: File truncated
> 
> I haven't been able to reproduce it by filling up /tmp again and
> rebuilding so I'm not sure what sort of bug it is.  )-:

The bug is that execute() in execute.c only checks WEXITSTATUS(), not
WIFSIGNALLED().  If the compiler exits with a signal ccache will
proceed as if it succeeded, and therefore probably corrupt its cache.

Old versions of distcc would raise SIGABRT if something strange like
ENOSPC when writing a file happened.  (New ones are practically
perfect in every possible way. :-)

-- 
Martin



More information about the ccache mailing list