DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42888>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=42888

           Summary: Segmentation Faults when Apache processes try to restart
           Product: Apache httpd-2
           Version: 2.0.59
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: All
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


Hi everyone!

My team is having problems on a large production site at work. All days, it 
appears three or four core dumps. After studying some of them, it seems to us 
that there may be some kind of problem with Apache when its processes try to 
restart. 

We use a multi-thread implementation -using worker.c-

When happening at work, the directive "MaxRequestPerChild" was set to "1000". 
The same behaviour could be reproduced in a development environment by setting 
the processes to be restarted just after having processed only 50 requests -by 
settintg the directive "MaxRequestPerChild" to "50". 

Latter, we changed "MaxRequestPerChild" to "10000" -10000 is the default Apache 
value for this directive-. Although it was not so often than before, from time 
to time this behaviour kept happening.

Does anyone have any idea to explain this behaviour?

In advance, thank you for your help!



What follows are the datails of one of this core dumps.

This is the environment:

[EMAIL PROTECTED] apache_2.0.53_debug]$ uname -a
Linux madarrcc33.indra.es 2.6.10-1.771_FC2smp #1 SMP Mon Mar 28 01:10:51 EST 
2005 i686 i686 i386 GNU/Linux

[EMAIL PROTECTED] bin]$ ./httpd -l
Compiled in modules:
  core.c
  mod_access.c
  mod_auth.c
  mod_include.c
  mod_log_config.c
  mod_env.c
  mod_setenvif.c
  worker.c
  http_core.c
  mod_mime.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_cgid.c
  mod_negotiation.c
  mod_dir.c
  mod_imap.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_so.c
  
  
  
And this is the gdb output when studying the controversial thread that produced 
the core dump:
 
[...]
Core was generated by `/aplicaciones/apache/SSAAapache/bin/httpd -
f /aplicaciones/apache/http-intranet'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /etc/libcwait.so...done.
Loaded symbols for /etc/libcwait.so
Reading symbols from /lib/libssl.so.4...done.
Loaded symbols for /lib/libssl.so.4
Reading symbols from /lib/libcrypto.so.4...done.
Loaded symbols for /lib/libcrypto.so.4
Reading symbols from /usr/kerberos/lib/libgssapi_krb5.so.2...done.
Loaded symbols for /usr/kerberos/lib/libgssapi_krb5.so.2
Reading symbols from /usr/kerberos/lib/libkrb5.so.3...done.
Loaded symbols for /usr/kerberos/lib/libkrb5.so.3
Reading symbols from /usr/kerberos/lib/libcom_err.so.3...done.
Loaded symbols for /usr/kerberos/lib/libcom_err.so.3
Reading symbols from /usr/kerberos/lib/libk5crypto.so.3...done.
Loaded symbols for /usr/kerberos/lib/libk5crypto.so.3
Reading symbols from /lib/libresolv.so.2...done.
[...]
Loaded symbols for /lib/libgcc_s.so.1
#0  0x00e66ba1 in __read_nocancel () from /lib/tls/libpthread.so.0


(gdb) info threads
[...]
  5 process 32306  0x00e643ad in pthread_cond_wait@@GLIBC_2.3.2 () 
from /lib/tls/libpthread.so.0
  4 process 32307  0x00e643ad in pthread_cond_wait@@GLIBC_2.3.2 () 
from /lib/tls/libpthread.so.0
  3 process 32308  0x00e643ad in pthread_cond_wait@@GLIBC_2.3.2 () 
from /lib/tls/libpthread.so.0
  2 process 32309  0x00e66d9e in accept () from /lib/tls/libpthread.so.0
* 1 process 32050  0x00e66ba1 in __read_nocancel () 
from /lib/tls/libpthread.so.0


(gdb) thread apply all where
[...]
Thread 1 (process 32050):
#0  0x00e66ba1 in __read_nocancel () from /lib/tls/libpthread.so.0
#1  0x08069f69 in ap_mpm_pod_check (pod=0xfffffe00) at pod.c:54
#2  0x08068522 in child_main (child_num_arg=-512) at worker.c:1195
#3  0x08068702 in make_child (s=0x9574f00, slot=0) at worker.c:1278
#4  0x08068afb in perform_idle_server_maintenance () at worker.c:1480
#5  0x08068dbd in server_main_loop (remaining_children_to_start=0) at 
worker.c:1582
#6  0x08068fa0 in ap_mpm_run (_pconf=0x2, plog=0x959f158, s=0x9574f00) at 
worker.c:1684
#7  0x0806ebb2 in main (argc=5, argv=0xbfffadc4) at main.c:623


(gdb) thread apply all where full
[...]
Thread 1 (process 32050):
#0  0x00e66ba1 in __read_nocancel () from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0x08069f69 in ap_mpm_pod_check (pod=0xfffffe00) at pod.c:54
        c = 9 '\t'
        fd = 4
        rc = -512
#2  0x08068522 in child_main (child_num_arg=-512) at worker.c:1195
        threads = (apr_thread_t **) 0x95bdbe0
        rv = 157055664
        ts = (thread_starter *) 0x95c7b58
        thread_attr = (apr_threadattr_t *) 0x95c7b68
        start_thread_id = (apr_thread_t *) 0x95c7b98
#3  0x08068702 in make_child (s=0x9574f00, slot=0) at worker.c:1278
        pid = 0
#4  0x08068afb in perform_idle_server_maintenance () at worker.c:1480
        status = 1
        any_dying_threads = 0
        any_dead_threads = 0
        all_dead_threads = 1
        i = 0
        j = -1073763581
        idle_thread_count = 0
        ps = (process_score *) 0xb751e050
        free_length = 1
        totally_free_length = 1
        free_slots = {0, 0, 0, 0, 0, 0, 0, 0, 5698040, 1000000, 0, 5674655, 0, 
0, 0, 0, -1073763280, 0, 1000000, 0, 0, 0, -1073763224, 
  -1073763184, 0, 0, -1073763224, 134690625, 1000000, 0, 0, 256}
        last_non_dead = 3
        total_non_dead = 4
        active_thread_count = 58
#5  0x08068dbd in server_main_loop (remaining_children_to_start=0) at 
worker.c:1582
        child_slot = 0
        exitwhy = APR_PROC_EXIT
        status = 0
        processed_status = 0
        pid = {pid = -1, in = 0xbfffacc8, out = 0x0, err = 0x0}
        i = 256
#6  0x08068fa0 in ap_mpm_run (_pconf=0x2, plog=0x959f158, s=0x9574f00) at 
worker.c:1684
        remaining_children_to_start = 2
        rv = -512
#7  0x0806ebb2 in main (argc=5, argv=0xbfffadc4) at main.c:623
        exit_status = 0
        c = 102 'f'
        configtestonly = 0
        confname = 0xbfffeb32 "/aplicaciones/apache/http-
intranet/conf/httpd.conf"
        def_server_root = 0x808bff4 "/aplicaciones/apache/SSAAapache"
        temp_error_log = 0x0
        process = (process_rec *) 0x9571120
        server_conf = (server_rec *) 0x9574f00
        pglobal = (apr_pool_t *) 0x95710a0
        pconf = (apr_pool_t *) 0x95730a8
        plog = (apr_pool_t *) 0x959f158
        ptemp = (apr_pool_t *) 0x95c7ab0
        pcommands = (apr_pool_t *) 0x95750b0
        opt = (apr_getopt_t *) 0x9575148
        rv = -512
        mod = (module **) 0x9574f00
        optarg = 0xbfffeb32 "/aplicaciones/apache/http-intranet/conf/httpd.conf"
        signal_server = (apr_OFN_ap_signal_server_t *) 0x1

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to