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
__ distcc mailing list http://distcc.samba.org/
To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/distcc