[distcc] distcc times out in mid-build

Jeremy Glazman JGlazman at itsgames.com
Fri Jun 3 21:29:15 GMT 2005


After some more rigorous testing, it appears that the problem is a race
condition.  Somehow make (in parallel) is trying to build the libraries and
the binary that depends on them at the same time. Then when the binary is
finished compiling it tries to link, and the libraries aren't ready yet. It
appears that parallel make in Solaris solves this sort of dependency issue,
but GNU make does not. The GNU solution is apparently to redesign your
makefile.

Back to the drawing board >_<


-----Original Message-----
From: Donohue, Michael [mailto:mdonohue at paypal.com]
Sent: Friday, June 03, 2005 1:19 PM
To: Jeremy Glazman; distcc at lists.samba.org
Subject: RE: [distcc] distcc times out in mid-build

After a state file hasn't bee updated for 60 seconds, the monitor tool
removes it.   That is the message you're seeing in the verbose log -
dcc_mon_kill_old.   This doesn't really shed any light on your problem.

Distcc does have some timeouts built in.  Do these files take a long
time to compile without distcc?  A long time would be greater than 5
minutes or so for each file, as I believe that's the default.  If so,
you might just need longer timeouts.   

Michael

> -----Original Message-----
> From: distcc-bounces+mdonohue=paypal.com at lists.samba.org
[mailto:distcc-
> bounces+mdonohue=paypal.com at lists.samba.org] On Behalf Of Jeremy
Glazman
> Sent: Friday, June 03, 2005 9:43 AM
> To: 'distcc at lists.samba.org'
> Subject: [distcc] distcc times out in mid-build
>
> In the middle of my build, distcc suddenly hangs on a single file (not
> always the same).  It doesn't matter if the file is being compiled
locally
> or not, and the machine doing the compiling will only be at about 10%
CPU
> usage mostly from cc1plus.
>
> distccmon-text tells me the file is compiling, over and over and over,
> with all other activity ceasing. Finally after a minute or so,
distccmon-
> text goes totally blank. Eventually the build will time out and tell
me:
> "Timed out waiting for data from remote." (if building remotely) or it
> will simply fail if local.
>
> If I set DISTCC_VERBOSE=1 and log to a file, I am told this is
happening:
>
> distccmon-text[520] (dcc_mon_do_file) process
> //.distcc/state/binstate_11052
> (repeated about 100 times in a row)
> distccmon-text[520] (dcc_mon_kill_old) unlink
> //.distcc/state/binstate_11052
> (EOF)
>
> What is happening in that final step? What exactly does
'dcc_mon_kill_old'
> signify?  Any ideas what could be causing this timeout are much
> appreciated. I'll keep testing my makefile in the meantime, assuming
that
> the problem is in there somewhere...
>
>


More information about the distcc mailing list