Bug 200211 - httpd parent process segfaults after "apachectl graceful" when unable to connect to port 80
Summary: httpd parent process segfaults after "apachectl graceful" when unable to conn...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: httpd
Version: 6
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Joe Orton
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-07-26 08:04 UTC by Tomasz Ostrowski
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version: 2.2.2-8
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-09-11 13:27:33 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Tomasz Ostrowski 2006-07-26 08:04:37 UTC
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):
httpd-2.2.2-1.0
selinux-policy-targeted-2.3.2-1.fc5

How reproducible:
Always

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.pl on 2006-07-19 11:28 EST --
Created an attachment (id=132691)
Backtrace of segfaulted parent httpd process


-- Additional comment from jorton 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 13:27:33 UTC
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.