You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Rob Hartill <ro...@imdb.com> on 1996/09/04 21:26:32 UTC
Re: WWW Form Bug Report: "broken timeout causes apache hang" on Irix
thanks for the info. I'll pass it on to the developers list.
regards,
rob
dgreen@starnetc.com wrote:
>
>Submitter: dgreen@starnetc.com
>Operating system: Irix, version: 6.2
>Version of Apache Used: 1.1.1
>Extra Modules used:
>URL exhibiting problem:
>
>Symptoms:
>--
>On heavily loaded systems, apache timeout fails in module http_main.c due to race-condition in timeout.
>
>Timeout is implemented using alarm(2) function as follows (see line 861 in http_main.c):
>
> signal (SIGALRM, longjmp_out_of_alarm);
> alarm(1);
>#if defined(NEXT)
> wait_or_timeout_retval = wait((union wait *)status);
>#else
> wait_or_timeout_retval = wait(status);
>#endif
> alarm(0);
>
>The problem occurs when the process is scheduled out after the alarm(1); call,
>and is scheduled back in after the alarm signal has occurred. This is a well-known
>race-condition, as the wait function will never be interrupted by the alarm signal.
>So the process will hang on the wait signal (possibly forever.) We are operating a
>web site with more than 2 million hits a day, with more than 800 processes running, and we will occasionally have this problem.
>A work-around is to increase the timeout value. (possibly to 2 or 3 seconds.)
>
>--
>
>Backtrace:
>--
>
>--
>
--
Rob Hartill (robh@imdb.com)
http://www.imdb.com/ ... why wait for a clear night to see the stars?.