[distcc] Little or no compilation at localhost

Simon Mikkelsen simon at gramjuhl.dk
Fri Jun 10 09:49:55 GMT 2005

Hi Jean

> Oh, also: what kind of network setup do you have?  If the connection
> is very slow you might see this problem of jobs getting stranded on
> and localhost needing to wait around for them.

Actually is located in a dmz, so it may take about 1 second for
connections to
get past the firewall - but when a connection is opened it runs 100 MBit/s.

> I've installed distcc on two identical computers, each with two
> with hyperthreading (localhost and
> Monitoring the computers with top, I can see that does all (or
> most) of the compiling, while the pattern of localhost is like compiling
> with make -j1.

> This is not the standard behavior. Which version of distcc are you using?
> Did you compile it yourself? Any additional patch applied?

I'm using v. 2.18.3, I compiled and installed it myself by collowing the
"30-second instructions" in distcc.samba.org. I have not applied any

> Try using distccmon-gnome to monitor the job distribution, it may be more
> helpful than top. Also watch the logs for errors. If distribution to
> localhost fails, it should generate an error message at some point.

The logs yields no result. I ran distccmon-text and the following is a
result (that is this shows the most processes that ran at any time).

 27837  Blocked
 27840  Blocked
 27843  Blocked
 27846  Blocked
 27850  Blocked
 27853  Blocked
 27856  Blocked
 27868  Blocked
 27914  Blocked
 27834  Compile     file1.cpp[0]
 27970  Compile     file2.cpp[1]
 27976  Compile     file3.cpp[2]
 27950  Compile     file4.cpp[3]
 27812  Compile     file5.cpp
 27984  Compile     file6.cpp

> Setting DISTCC_VERBOSE=1 for the client may help.

It produced more than 10000 lines of output, but I found the following to
support the
output above:

distcc[9972] (dcc_note_state) note state 1, file "(NULL)", host "(NULL)"
distcc[10007] (dcc_note_state) note state 1, file "(NULL)", host "(NULL)"
distcc[10071] (dcc_lock_pause) nothing available, sleeping 1s...
distcc[9972] (dcc_lock_pause) nothing available, sleeping 1s...
distcc[10007] (dcc_lock_pause) nothing available, sleeping 1s...
distcc[9978] (dcc_lock_host) /home/simon/.distcc/lock/cpu_localhost_0 is
distcc[9978] (dcc_lock_host)
/home/simon/.distcc/lock/cpu_tcp_10.163.0.3_3632_0 is busy
distcc[9978] (dcc_lock_host) /home/simon/.distcc/lock/cpu_localhost_1 is
distcc[9978] (dcc_lock_host)
/home/simon/.distcc/lock/cpu_tcp_10.163.0.3_3632_1 is busy
distcc[9978] (dcc_lock_host)
/home/simon/.distcc/lock/cpu_tcp_10.163.0.3_3632_2 is busy
distcc[9978] (dcc_lock_host)
/home/simon/.distcc/lock/cpu_tcp_10.163.0.3_3632_3 is busy
distcc[9978] (dcc_note_state) note state 1, file "(NULL)", host "(NULL)"
distcc[10027] (dcc_lock_host) /home/simon/.distcc/lock/cpu_localhost_0 is
distcc[9978] (dcc_lock_pause) nothing available, sleeping 1s...
distcc[10027] (dcc_lock_host)
/home/simon/.distcc/lock/cpu_tcp_10.163.0.3_3632_0 is busy
distcc[10027] (dcc_lock_host) /home/simon/.distcc/lock/cpu_localhost_1 is

I reads it as localhost does not want to accept more than two compiles at
any time
(this time I ran without any /n limitations in the hosts file).

> Which options did you run distccd with on both machines? Didn't you
> forget to run distccd on localhost?

I ran both with distccd --daemon --allow
On with "" as allow list and localhost with "
localhost" as allow list (both with and without the quotest).

Best regards,
Simon Mikkelsen

More information about the distcc mailing list