[distcc] Server times out after a few files

Patrick Hanna phanna at google.com
Thu Jan 3 15:15:19 GMT 2008


I don't think this is a distccd problem at all. Running arping on my
remote host gives me the correct mac address for the first reply and
then a completely different address for the rest of the replies. Any
clue how that could ever happen?

On Jan 3, 2008 8:06 AM, Patrick Hanna <phanna at google.com> wrote:
> 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