Dnia wto 13. lipca 2004 04:56, Martin Pool napisał: > On 12 Jul 2004, Jakub Stachowski <[EMAIL PROTECTED]> 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. > > Hi, > > You should try starting distccd with 'distccd -j 1' on machines that > can only fit a single job at a time.
I specify them as host/1 in hosts file and they obey that. It works *almost* all the time - sometimes (I recall 3 or 4 occurences in kdenetwork build) too big file comes and even one job at a time is too much. Last option is to disable them at all, but I think it would be a waste - after all there are only few cases when compiler gets killed so it does not put much more load on localhost. I think the only possible loss from the patch is when job failed remotely because of oom (or gcc/kernel/hardware bug) and localhost also is memory-challanged (or has the same bug). > > I'll have a think about the patch. Thanks. __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/distcc