[distcc] Server times out after a few files

Patrick Hanna phanna at google.com
Thu Jan 3 13:06:29 GMT 2008


I am only using the scripts in init.d. My inetd.conf is empty and my
inittab file does not have a distcc entry.

distccd does not crash, it just hangs. The logs don't say anything
more than the files that made it through (verbose logging doesn't give
me very much at all). I've tried starting distccd by hand but I get
the same results.

I just tried it again and I made it through about 8 files before it
stalled trying to receive the file. Here is the distcc log:

distcc[19924] (dcc_connect_by_name) connecting to distcc1 port 3632
distcc[19924] (dcc_connect_by_addr) started connecting to 10.0.0.101:3632
distcc[19924] (dcc_select_for_write) select for write on fd5
distcc[19924] (dcc_note_state) note state 4, file "(NULL)", host "(NULL)"
distcc[19924] (dcc_x_token_int) send DIST00000001
distcc[19924] (dcc_x_token_int) send ARGC00000027
distcc[19924] (dcc_x_token_int) send ARGV00000032
distcc[19924] (dcc_x_token_int) send ARGV00000002
distcc[19924] (dcc_x_token_int) send ARGV0000000f
distcc[19924] (dcc_x_token_int) send ARGV0000000e
distcc[19924] (dcc_x_token_int) send ARGV0000000e
distcc[19924] (dcc_x_token_int) send ARGV0000000d
distcc[19924] (dcc_x_token_int) send ARGV0000000c
distcc[19924] (dcc_x_token_int) send ARGV00000005
distcc[19924] (dcc_x_token_int) send ARGV00000011
distcc[19924] (dcc_x_token_int) send ARGV0000000f
distcc[19924] (dcc_x_token_int) send ARGV00000012
distcc[19924] (dcc_x_token_int) send ARGV00000002
distcc[19924] (dcc_x_token_int) send ARGV00000005
distcc[19924] (dcc_x_token_int) send ARGV0000000b
distcc[19924] (dcc_x_token_int) send ARGV00000003
distcc[19924] (dcc_x_token_int) send ARGV00000002
distcc[19924] (dcc_x_token_int) send ARGV00000013
distcc[19924] (dcc_x_token_int) send ARGV00000012
distcc[19924] (dcc_x_token_int) send ARGV00000021
distcc[19924] (dcc_x_token_int) send ARGV00000010
distcc[19924] (dcc_x_token_int) send ARGV00000013
distcc[19924] (dcc_x_token_int) send ARGV00000016
distcc[19924] (dcc_x_token_int) send ARGV00000012
distcc[19924] (dcc_x_token_int) send ARGV00000007
distcc[19924] (dcc_x_token_int) send ARGV00000014
distcc[19924] (dcc_x_token_int) send ARGV00000014
distcc[19924] (dcc_x_token_int) send ARGV00000012
distcc[19924] (dcc_x_token_int) send ARGV00000011
distcc[19924] (dcc_x_token_int) send ARGV0000000b
distcc[19924] (dcc_x_token_int) send ARGV0000000b
distcc[19924] (dcc_x_token_int) send ARGV00000014
distcc[19924] (dcc_x_token_int) send ARGV00000013
distcc[19924] (dcc_x_token_int) send ARGV00000003
distcc[19924] (dcc_x_token_int) send ARGV0000000c
distcc[19924] (dcc_x_token_int) send ARGV00000017
distcc[19924] (dcc_x_token_int) send ARGV00000009
distcc[19924] (dcc_x_token_int) send ARGV00000002
distcc[19924] (dcc_x_token_int) send ARGV00000069
distcc[19924] (dcc_x_token_int) send ARGV00000041
distcc[19924] (dcc_note_state) note state 3, file "(NULL)", host "(NULL)"
distcc[19924] (dcc_collect_child) cpp child 19925 terminated with status 0
distcc[19924] (dcc_collect_child) cpp times: user 0.000000s, system
0.000000s, 0 minflt, 0 majflt
distcc[19924] cpp testFile10.cpp on localhost completed ok
distcc[19924] (dcc_unlock) release lock fd3
distcc[19924] (dcc_x_file) send 789559 byte file
/tmp/distcc_b651dbd9.ii with token DOTI
distcc[19924] (dcc_x_token_int) send DOTI000c0c37
distcc[19924] (dcc_compile_remote) client finished sending request to server
distcc[19924] (dcc_note_state) note state 5, file "(NULL)", host "distcc1"
distcc[19924] (dcc_select_for_read) select for read on fd5 for 300s
distcc[19924] (dcc_r_token_int) got DONE00000001
distcc[19924] (dcc_r_result_header) got response header
distcc[19924] (dcc_note_state) note state 6, file "(NULL)", host "(NULL)"
distcc[19924] (dcc_r_token_int) got STAT00000000
distcc[19924] (dcc_r_token_int) got SERR00000000
distcc[19924] (dcc_r_token_int) got SOUT00000000
distcc[19924] (dcc_r_token_int) got DOTO0011d178
distcc[19924] (dcc_select_for_read) select for read on fd5 for 300s

Then it just hangs for 5 minutes and gives up. When it tries again
later, it connects fine but then hangs when sending the file. Is port
3632 the standard distcc port because whenever I notice the stalling,
it is trying to connect on that port. When I try telnetting on 3632
after a stall, I cannot connect to the remote machine.

Thanks,
Patrick

On Jan 2, 2008 9:58 PM, Martin Pool <mbp at sourcefrog.net> wrote:
>
> On 03/01/2008, Patrick Hanna <phanna at google.com> wrote:
> > I have never had this problem before but when I initially start distcc
> > using /etc/init.d/distcc start, after about 3 files, the connection
> > times out. In general, it times out while sending or receiving the
> > files. There are no errors in either distcc logs or distccd logs. I
> > have a feeling like there is something going on with port conflicts or
> > the nic on the remote machine since my other remote machines don't
> > have any issues. Usually if I wait a while and try again and I can get
> > one or two files to compile and then it times out again. Does anyone
> > have any idea what could be going on?
>
> Are you totally sure distccd is not being run through inetd?  That's
> the typical cause of things failing after several requests.
>
> Does distccd crash, or just stop accepting requests?
>
> --
> Martin
>


More information about the distcc mailing list