Bug 199429 - 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 CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: httpd
Version: 5
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-19 15:28 UTC by Tomasz Ostrowski
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version: 2.2.2-1.2
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-07-29 09:03:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Backtrace of segfaulted parent httpd process (1.82 KB, text/plain)
2006-07-19 15:28 UTC, Tomasz Ostrowski
no flags Details

Description Tomasz Ostrowski 2006-07-19 15:28:00 UTC
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.

Comment 1 Tomasz Ostrowski 2006-07-19 15:28:00 UTC
Created attachment 132691 [details]
Backtrace of segfaulted parent httpd process

Comment 2 Joe Orton 2006-07-19 15:33:49 UTC
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 3 Fedora Update System 2006-07-28 15:36:33 UTC
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.


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