[distcc] [PATCH] retry compiling when remote gcc was killed by signal

Martin Pool mbp at sourcefrog.net
Tue Jul 13 02:56:01 GMT 2004

On 12 Jul 2004, Jakub Stachowski <qbast at go2.pl> wrote:
> Hello,
> I noticed that return codes > 128 (which means that compiler was killed by 
> signal) is treated exactly as normal compilation error. However, killing 
> compiler indicates problems with system (in most cases not enough memory) or 
> compiler itself, not with source code. So there is still chance that retrying 
> compilation on local machine will succeed. Typical example: I compile KDE 
> (lots of big c++ files) on several machines with 64-128MB of RAM ('localhost' 
> has 512MB RAM). I use distccKnoppix so there is no possibility to use swap on 
> these machines. Sometimes one of them run out of memory and gcc gets killed 
> and make finishes with error. Then I have to restart make with -j1 (to build 
> offending file on localhost as it has enough RAM), then restart it again with 
> -j8 and hope for the best.
>  Attached simple patch treats remote errors caused by killed compiler as 
> distribution errors. This means that distcc will fallback to local 
> compilation of offending file and problematic host will get blacklisted for a 
> minute.


You should try starting distccd with 'distccd -j 1' on machines that
can only fit a single job at a time.

I'll have a think about the patch.


More information about the distcc mailing list