Red Hat Bugzilla – Bug 200211
httpd parent process segfaults after "apachectl graceful" when unable to connect to port 80
Last modified: 2007-11-30 17:11:38 EST
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):
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
[Wed Jul 19 17:02:44 2006] [notice] seg fault or similar nasty error detected in
the parent process
[Wed Jul 19 17:28:19 2006] [notice] Apache/2.2.2 (Fedora) configured -- resuming
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 firstname.lastname@example.org on 2006-07-19 11:28 EST --
Created an attachment (id=132691)
Backtrace of segfaulted parent httpd process
-- Additional comment from email@example.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.
This was fixed in Raw Hide a while back.