[distcc] Re: upgrading from 2.16 to 2.17: compiler crashes
Dimitri Papadopoulos-Orfanos
papadopo at www.NOSPAM.fr
Thu Aug 26 12:25:55 GMT 2004
Hi,
The only place in distcc where longjmp is called is timeout.c.
I'm not at ease with longjmp() / setjmp() since I haven't used these
functions for a long time. I'm wondering whether it's a problem with
variable "timeout_jmpbuf". Maybe it's not initialized properly.
The code in timeout.c looks like:
dcc_timeout_arm(const int timeout, int phase)
{
static enum dcc_phase saved_phase;
saved_phase = phase;
if (setjmp(timeout_jmpbuf)) {
/* setjmp return through here if it timed out. */
rs_log_error("%s timeout", dcc_get_phase_name(saved_phase));
return EXIT_TIMEOUT;
}
The crash happens always after a "Connect timeout" message, probably
some time after line "setjmp(timeout_jmpbuf)" has been executed. Does
this ring some bell?
Dimitri
More information about the distcc
mailing list