>Number: 896 >Category: os-solaris >Synopsis: Even with patch, HTTPd will not survive HUP or even start up >Confidential: no >Severity: serious >Priority: medium >Responsible: apache (Apache HTTP Project) >State: open >Class: sw-bug >Submitter-Id: apache >Arrival-Date: Tue Jul 22 03:50:01 1997 >Originator: [EMAIL PROTECTED] >Organization: apache >Release: 1.2.1 >Environment: Solaris 2.5.1, SUN Sparc Ultra 2, 2 processors, 512 MB memory. Apache 1.2.1 with Solaris HUP patch applied >Description: As also described in #888, the 1.2.1 with Solaris HUP patch applied does not solve the problem. When "netstat" still shows FIN_WAIT_2 and TIME_WAIT, the HTTPd will not cold-start until all connections "have left" the netstat output. Then the HTTPd will cold-start. Otherwise the error "Bind: Address already in use, httpd: could not bind to port 80" is displayed.
When HTTPd is in a running state and receiving a SIGHUP, the HTTPd dies with "Bind: Address already in use, httpd: could not bind to port 80". It looks like the "bind()" is done before setting the option "REUSEADDR". >How-To-Repeat: I just applied the patch and recompiled. The problem only shows up at busy websites I think. Two of our Ultra-2 show the problem (they are heavily loaded). The third Ultra-2 is hardly loaded and does not show the problem. Probably because there are no active connections during the SIGHUP. >Fix: I looked at the code and there is a bind before setting the REUSEADDR. Maybe this is the problem. I am not an expert in this field >Audit-Trail: >Unformatted:
