Bug 200211 - httpd parent process segfaults after "apachectl graceful" when unable to connect to port 80
httpd parent process segfaults after "apachectl graceful" when unable to conn...
Product: Fedora
Classification: Fedora
Component: httpd (Show other bugs)
All Linux
medium Severity high
: ---
: ---
Assigned To: Joe Orton
Depends On:
  Show dependency treegraph
Reported: 2006-07-26 04:04 EDT by Tomasz Ostrowski
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version: 2.2.2-8
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-09-11 09:27:33 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Tomasz Ostrowski 2006-07-26 04:04:37 EDT
Cloned because it affects also FC6test1 httpd-2.2.2-5.
+++ This bug was initially created as a clone of Bug #199429 +++

Description of problem:
httpd parent process segfaults when it is unable to connect to port 80 and it
gets a graceful restart command ("apachectl graceful").

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. service httpd start
2. setenforcing 1 ### this is a default
3. setsebool httpd_can_network_relay=0 ### this is a default
4. setsebool httpd_disable_trans=0 ### this is a default
5. apachectl graceful
6. tail -1 /var/log/httpd/error_log
Actual results:
[Wed Jul 19 17:02:44 2006] [notice] seg fault or similar nasty error detected in
the parent process

Expected results:
[Wed Jul 19 17:28:19 2006] [notice] Apache/2.2.2 (Fedora) configured -- resuming
normal operations

Additional info:
Default selinux-policy-targeted-2.3.2-1.fc5 does not allow httpd process to
connect to port 80 so "apachectl graceful" kills apache on default updated
Fedora Core 5, as described in bug 199419.

I'm attaching a backtrace of segfaulted process. It is an output of "(gdb) bt".
Output of "(gdb) bt full" is not very verbose:
#0  apr_palloc (pool=0x0, size=0) at memory/unix/apr_pools.c:601
        active = (apr_memnode_t *) 0xb7fafcd8
        node = Variable "node" is not available.
Maybe if httpd/apr was compiled without optimizations it would be more useful.
I've installed httpd-debuginfo and apr-debuginfo.

-- Additional comment from tometzky@batory.org.pl on 2006-07-19 11:28 EST --
Created an attachment (id=132691)
Backtrace of segfaulted parent httpd process

-- Additional comment from jorton@redhat.com on 2006-07-19 11:33 EST --
Ah, thanks a lot.  This is caused by a mis-merged patch on the line where httpd
logs the error from the connect() failure, the wrong pointer is being passed.
Comment 1 Joe Orton 2006-09-11 09:27:33 EDT
This was fixed in Raw Hide a while back.

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