You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2007/07/13 16:14:16 UTC

DO NOT REPLY [Bug 42888] New: - Segmentation Faults when Apache processes try to restart

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: bugs@httpd.apache.org
        ReportedBy: vmferr@gmail.com


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:

[cmc@madarrcc33 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

[cmc@madarrcc33 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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 42888] - Segmentation Faults when Apache processes try to restart

Posted by bu...@apache.org.
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


jim@apache.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME




------- Additional Comments From jim@apache.org  2007-08-03 07:36 -------
Cannot recreate this problem. Closing bug report and suggesting you post on users@

-- 
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: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org