Red Hat Bugzilla – Bug 199429
httpd parent process segfaults after "apachectl graceful" when unable to connect to port 80
Last modified: 2007-11-30 17:11:38 EST
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.
Created attachment 132691 [details]
Backtrace of segfaulted parent httpd process
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.
httpd-2.2.2-1.2 has been pushed for fc5, which should resolve this issue. If these problems are still present in this version, then please make note of it in this bug report.