Bug 43703 - degradation of httpd - Segmentation fault
Summary: degradation of httpd - Segmentation fault
Status: RESOLVED WORKSFORME
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mpm_worker (show other bugs)
Version: 2.2.6
Hardware: Other Linux
: P2 normal with 1 vote (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-26 05:40 UTC by Wilson Felipe
Modified: 2012-09-13 20:41 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wilson Felipe 2007-10-26 05:40:23 UTC
when we start the apache, everything works fine, but after a while (not a fixed
interval or something) the processes start to die due to segfault signal. A few
processes die, and the server gets into a degradation problem, which no process
gets started without exiting with signal 11.

- modules loaded:
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule mime_module modules/mod_mime.so
LoadModule status_module modules/mod_status.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so

- configuration (just used to reproduce, we noted this problem in other
environment):
<VirtualHost loghost:80>
        ProxyRequests Off
        ProxyTimeout 8
        ProxyMaxForwards 2
        ProxyPreserveHost On
        ProxyErrorOverride On

        ProxyPass /server-status  !
        ProxyPass /server-info  !
        ProxyPass /balancer-manager  !
        ProxyPass / balancer://local/ 
        <Proxy balancer://local/>
                Order deny,allow
                Allow from all
                BalancerMember http://localhost:3128 retry=10
                BalancerMember http://localhost:3129 retry=10
        </Proxy>
</VirtualHost>

<VirtualHost localhost:3128>
        DocumentRoot /export/htdocs/test
</VirtualHost>
<VirtualHost localhost:3129>
        DocumentRoot /export/htdocs/test
</VirtualHost>

$ httpd -V
Server version: Apache/2.2.6 (Unix)
Server built:   Oct 28 2007 02:49:07
Server's Module Magic Number: 20051115:5
Server loaded:  APR 1.2.11, APR-Util 1.2.10
Compiled using: APR 1.2.11, APR-Util 1.2.10
Architecture:   32-bit
Server MPM:     Worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/worker"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/opt/apache-2.2.6"
 -D SUEXEC_BIN="/opt/apache-2.2.6/bin/suexec"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

backtrace for the thread that received the signal:

$ gdb httpd -c core.16218
(gdb) thread apply 2 bt full
Thread 2 (process 16225):
#0  0xffffe402 in __kernel_vsyscall ()
No symbol table info available.
#1  0xf7d80af6 in kill () from /lib/libc.so.6
No symbol table info available.
#2  0x080843bb in sig_coredump (sig=16218) at mpm_common.c:1235
No locals.
#3  <signal handler called>
No symbol table info available.
#4  0xf7eed4a8 in apr_pollset_poll (pollset=0x813bc60, timeout=-1, num=0xf4cd443c, 
    descriptors=0xf4cd4438) at poll/unix/epoll.c:251
        ret = 2
        rv = <value optimized out>
#5  0x08092bd9 in listener_thread (thd=0x812bf60, dummy=0x8161fb0) at worker.c:687
        numdesc = 2
        pdesc = (const apr_pollfd_t *) 0x0
        process_slot = <value optimized out>
        tpool = <value optimized out>
        csd = (void *) 0x0
        ptrans = (apr_pool_t *) 0x0
        pollset = (apr_pollset_t *) 0x813bc60
        rv = <value optimized out>
        lr = <value optimized out>
        have_idle_worker = 1
        last_poll_idx = 0
#6  0xf7ef3464 in dummy_worker (opaque=0x812bf60) at threadproc/unix/thread.c:142
No locals.
#7  0xf7e8134b in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#8  0xf7e1565e in clone () from /lib/libc.so.6
No symbol table info available.
#0  0xffffe402 in __kernel_vsyscall ()


I couldn't find anything related in the bugzilla, or in source code (I'm not
familiar with apache source code). If there is anything that is missing, just ask me

thanks in advance
Comment 1 Wilson Felipe 2007-10-26 05:41:24 UTC
some more information: the running machine is x86_64, but the compiled binary is
i586
Comment 2 Aleksey Midenkov 2007-11-27 07:12:24 UTC
Can you please install httpd, apr and apr-util debug info and make stack trace 
again...
Comment 3 Jeff Trawick 2012-09-13 20:41:09 UTC
bug nearly 5 years old, showing a symptom of basic brokenness...  reopen bug if you can reproduce with current httpd/apr versions