Bug 867467 - httpd restart fails for 2 consecutive restarts
httpd restart fails for 2 consecutive restarts
Status: CLOSED NEXTRELEASE
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: httpd (Show other bugs)
6.4
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Web Stack Team
BaseOS QE Security Team
:
Depends On:
Blocks: 845405
  Show dependency treegraph
 
Reported: 2012-10-17 10:55 EDT by Martin Kosek
Modified: 2012-10-17 11:18 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-10-17 11:18:56 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Martin Kosek 2012-10-17 10:55:32 EDT
Description of problem:
When IPA replica install process does 2 consecutive httpd restarts, the second httpd restart may fail and thus IPA replica installation will fail.

See Bug 845405 for details.

Version-Release number of selected component (if applicable):
httpd-2.2.15-19.el6.x86_64

How reproducible:
I think I managed to reproduce it with this simple sequence:

# service httpd restart && service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
Stopping httpd:                                            [FAILED]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

When I tested this sequence on Fedora 18, it worked fine. It just probably waited until the ports could be bound.

Steps to Reproduce:
1. See above - run  2 consecutive service restarts
2.
3.
  
Actual results:
Second restart fails.

Expected results:
Second restart succeeds.

Additional info:
Comment 2 Joe Orton 2012-10-17 11:18:56 EDT
The answer is "Don't do that", I'm afraid.

With the sysV init scripts we can't make a strong guarantee that httpd is immediately in a state where the service script will always DTRT.  Adding a sleep(1) or similar should help, but if you are loading weird modules like mod_nss with complex startup processing, you might need more than 1 second delay.

With systemd we do make a strong guarantee and this kind of thing really works properly.

Note You need to log in before you can comment on or make changes to this bug.