[distcc] distcc always retries on localhost whether genuine error or not

Philippe Mathieu philippe.mathieu at idilia.com
Thu Nov 19 15:58:55 UTC 2015


I have had a direct answer...

I will be using the following environment variable:

DISTCC_SKIP_LOCAL_RETRY
               If set, when a remote compile fails, distcc will no longer try to recompile that file locally.

However, the DISTCC_FALLBACK will cause a local compilation if compilation can not even be attempted (connection refused, etc.)

Thank you again,

Philippe
.

On 18/11/15 02:34 PM, Philippe Mathieu wrote:
> Hello,
>
> When running a compilation command with distcc, I would expect the compilation not to be retried locally when there is a "genuine" error on the remote distccd. However, anytime there is such a genuine error, the compilation is retried locally and then compilation errors shown. Only upon "accidental" errors would I expect the compilation to be retried locally to avoid an overall compilation failure. A sample output is provided below.
>
> Am I doing (or expecting) something wrong? Is this a known issue?
>
> Thank you very much for you time,
>
> Philippe
> .
>
> DISTCC_FALLBACK=1 DISTCC_VERBOSE=1 DISTCC_HOSTS=hostname distcc g++ ...
>
> [...]
> distcc[25535] cpp ../src/linguistics/ls_overlapper/wsd_path/path_info.cc on localhost completed ok
> distcc[25535] (dcc_unlock) release lock fd4
> distcc[25535] (dcc_x_file) send 6152025 byte file /tmp/distcc_364dcd5b.ii with token DOTI and compression 69
> distcc[25535] (dcc_x_token_int) send DOTI005ddf59
> distcc[25535] (dcc_pump_sendfile) sendfile: partial transmission of 632564 bytes; retrying 5519461 @632564
> distcc[25535] (dcc_pump_sendfile) sendfile: partial transmission of 808896 bytes; retrying 4710565 @1441460
> distcc[25535] (dcc_select_for_write) select for write on fd5
> distcc[25535] (dcc_pump_sendfile) select() returned, continuing to write
> distcc[25535] (dcc_pump_sendfile) sendfile: partial transmission of 529820 bytes; retrying 4180745 @1971280
> distcc[25535] (dcc_pump_sendfile) sendfile: partial transmission of 654680 bytes; retrying 3526065 @2625960
> distcc[25535] (dcc_select_for_write) select for write on fd5
> distcc[25535] (dcc_pump_sendfile) select() returned, continuing to write
> distcc[25535] (dcc_pump_sendfile) sendfile: partial transmission of 1374828 bytes; retrying 2151237 @4000788
> distcc[25535] (dcc_select_for_write) select for write on fd5
> distcc[25535] (dcc_pump_sendfile) select() returned, continuing to write
> distcc[25535] (dcc_pump_sendfile) sendfile: partial transmission of 982020 bytes; retrying 1169217 @4982808
> distcc[25535] (dcc_select_for_write) select for write on fd5
> distcc[25535] (dcc_pump_sendfile) select() returned, continuing to write
> distcc[25535] (dcc_pump_sendfile) sendfile: partial transmission of 982020 bytes; retrying 187197 @5964828
> distcc[25535] (dcc_select_for_write) select for write on fd5
> distcc[25535] (dcc_pump_sendfile) select() returned, continuing to write
> distcc[25535] (dcc_compile_remote) client finished sending request to server
> distcc[25535] (dcc_note_state) note state 5, file "(NULL)", host "gloomy"
> distcc[25535] (dcc_select_for_read) select for read on fd5 for 300s
> distcc[25535] (dcc_r_token_int) got DONE00000001
> distcc[25535] (dcc_note_state) note state 6, file "(NULL)", host "(NULL)"
> distcc[25535] (dcc_r_token_int) got STAT00000100
> distcc[25535] (dcc_r_token_int) got SERR00000135
> distcc[25535] (dcc_r_file) received 309 bytes to file /tmp/distcc_server_stderr_de51cd5b.txt
> distcc[25535] (dcc_r_token_int) got SOUT00000000
> distcc[25535] (dcc_r_token_int) got DOTO00000000
> distcc[25535] 6152025 bytes from path_info.cc compiled on gloomy in 5.4047s, rate 1112kB/s
> distcc[25535] (dcc_unlock) release lock fd3
> distcc[25535] ERROR: compile path_info.cc on gloomy failed
> distcc[25535] (dcc_build_somewhere) Warning: remote compilation of 'path_info.cc' failed, retrying locally
> distcc[25535] (dcc_mark_timefile) mark /home/philippe/.distcc/lock/backoff_tcp_gloomy_3632_0
> distcc[25535] Warning: failed to distribute path_info.cc to gloomy, running locally instead
> distcc[25535] (dcc_lock_host) got cpu lock on localhost slot 0 as fd3
> distcc[25535] exec on localhost: g++ path_info.cc -o path_info.lo -fPIC -g -pipe -fmessage-length=0 -fno-enforce-eh-specs -DBOOST_SPIRIT_THREADSAFE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -msse2 -Wno-deprecated -std=c++11 -msse2 -m64 -DBOOST_TEST_DYN_LINK -Wall -Werror -Wno-sign-compare -O6 -fno-omit-frame-pointer -fno-strict-aliasing -I../include -isystem sysinclude -fPIC -DPIC -c -MMD -MF path_info.d~
> distcc[25535] (dcc_note_state) note state 5, file "path_info.cc", host "localhost"
> distcc[25535] (dcc_spawn_child) forking to execute: g++ path_info.cc -o path_info.lo -fPIC -g -pipe -fmessage-length=0 -fno-enforce-eh-specs -DBOOST_SPIRIT_THREADSAFE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -msse2 -Wno-deprecated -std=c++11 -msse2 -m64 -DBOOST_TEST_DYN_LINK -Wall -Werror -Wno-sign-compare -O6 -fno-omit-frame-pointer -fno-strict-aliasing -I../include -isystem sysinclude -fPIC -DPIC -c -MMD -MF path_info.d~
> distcc[25535] (dcc_spawn_child) child started as pid25547
> distcc[25547] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
> path_info.cc: In member function ‘void aaa::construct_from_edge(EdgePtr, bool)’:
> path_info.cc:159:27: error: ‘testId’ is not a member of ‘enumName’
>      else if (edge_type == testId) {
>
>
>
> __
> distcc mailing list            http://distcc.samba.org/
> To unsubscribe or change options:
> https://lists.samba.org/mailman/listinfo/distcc




More information about the distcc mailing list