Our development web server has Apache children segfaulting every so
often--both Apache 1.3.27 and 1.3.28, and both PHP 4.3.2 and
4.3.3--and thus far we've been unable to make it happen on demand.  It
appears to be a heap corruption problem and there's a good chance that
the corruption happens in a request prior to the one that dies.  The
most similar problem I've found so far is this:
http://www.zend.com/lists/php-dev/200210/msg01039.html

I've confirmed that a couple of recent segfault bugs crash for us, in
case our problem is one of them:

http://bugs.php.net/bug.php?id=25275
http://bugs.php.net/bug.php?id=23333

Is anyone experiencing or working on something similar?

The configure:

./configure \
        --disable-all \
        --enable-debug \
        \
        --prefix=/usr/local \
        --with-apache=/usr/src/apache_1.3.28 \
        --with-oci8=/u01/app/oracle/product/8.1.7 \
        \
        --enable-cli \
        --disable-cgi \
        \
        --enable-inline-optimization \
        --enable-track-vars \
        --enable-session \
        --enable-trans-sid \
        --without-mysql \
        --without-pear \
        --with-pcre-regex \
        --enable-ftp \
        --enable-posix \
        --disable-short-tags \
        --disable-xml \
        \
        --enable-sockets \
        --with-xmlrpc \


A sample backtrace:

[EMAIL PROTECTED]/savecores]$ cat core.5742.btfull
GNU gdb Red Hat Linux (5.2.1-4)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i386-redhat-linux"...
Core was generated by `/usr/local/apache/bin/httpd'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/i686/libpthread.so.0...done.
Loaded symbols for /lib/i686/libpthread.so.0
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /usr/lib/libexpat.so.0...done.
Loaded symbols for /usr/lib/libexpat.so.0
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/i686/libm.so.6...done.
Loaded symbols for /lib/i686/libm.so.6
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from
/u01/app/oracle/product/8.1.7/lib/libclntsh.so.8.0...done.
Loaded symbols for /u01/app/oracle/product/8.1.7/lib/libclntsh.so.8.0
Reading symbols from /usr/lib/libgdbm.so.2...done.
Loaded symbols for /usr/lib/libgdbm.so.2
Reading symbols from /lib/i686/libc.so.6...done.
Loaded symbols for /lib/i686/libc.so.6
Reading symbols from /lib/libutil.so.1...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from
/u01/app/oracle/product/8.1.7/lib/libwtc8.so...done.
Loaded symbols for /u01/app/oracle/product/8.1.7/lib/libwtc8.so
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/Data/Dumper/Dumper.so...done.
Loaded symbols for
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/Data/Dumper/Dumper.so
Reading symbols from
/usr/local/lib/perl5/5.8.0/i686-linux/auto/B/B.so...done.
Loaded symbols for /usr/local/lib/perl5/5.8.0/i686-linux/auto/B/B.so
Reading symbols from
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/Apache/Request/Request.so...done.
Loaded symbols for
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/Apache/Request/Request.so
Reading symbols from
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/Apache/Symbol/Symbol.so...done.
Loaded symbols for
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/Apache/Symbol/Symbol.so
Reading symbols from
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/B/Size/Size.so...done.
Loaded symbols for
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/B/Size/Size.so
Reading symbols from
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/DBI/DBI.so...done.
Loaded symbols for
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/DBI/DBI.so
Reading symbols from
/usr/local/lib/perl5/5.8.0/i686-linux/auto/Fcntl/Fcntl.so...done.
Loaded symbols for
/usr/local/lib/perl5/5.8.0/i686-linux/auto/Fcntl/Fcntl.so
Reading symbols from
/usr/local/lib/perl5/5.8.0/i686-linux/auto/Digest/MD5/MD5.so...done.
Loaded symbols for
/usr/local/lib/perl5/5.8.0/i686-linux/auto/Digest/MD5/MD5.so
Reading symbols from
/usr/local/lib/perl5/5.8.0/i686-linux/auto/Storable/Storable.so...done.
Loaded symbols for
/usr/local/lib/perl5/5.8.0/i686-linux/auto/Storable/Storable.so
Reading symbols from
/usr/local/lib/perl5/5.8.0/i686-linux/auto/IO/IO.so...done.
Loaded symbols for /usr/local/lib/perl5/5.8.0/i686-linux/auto/IO/IO.so
Reading symbols from
/usr/local/lib/perl5/5.8.0/i686-linux/auto/Cwd/Cwd.so...done.
Loaded symbols for
/usr/local/lib/perl5/5.8.0/i686-linux/auto/Cwd/Cwd.so
Reading symbols from
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/DBD/Oracle/Oracle.so...done.
Loaded symbols for
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux/auto/DBD/Oracle/Oracle.so
Reading symbols from /usr/lib/gconv/ISO8859-1.so...done.
Loaded symbols for /usr/lib/gconv/ISO8859-1.so
Reading symbols from /lib/libnss_nisplus.so.2...done.
Loaded symbols for /lib/libnss_nisplus.so.2
Reading symbols from /lib/libnss_dns.so.2...done.
Loaded symbols for /lib/libnss_dns.so.2
#0  0x4207448f in _int_realloc () from /lib/i686/libc.so.6
(gdb) bt full
#0  0x4207448f in _int_realloc () from /lib/i686/libc.so.6
No symbol table info available.
#1  0x42073416 in realloc () from /lib/i686/libc.so.6
No symbol table info available.
#2  0x4202ab8f in __add_to_environ () from /lib/i686/libc.so.6
No symbol table info available.
#3  0x4202aab8 in putenv () from /lib/i686/libc.so.6
No symbol table info available.
#4  0x080f7d4a in zif_putenv (ht=1, return_value=0x8dde6dc,
this_ptr=0x0, return_value_used=0)
    at /usr/src/php-4.3.3/ext/standard/basic_functions.c:1347
        p = 0x8de149b ""
        env = (char **) 0x89fa710
        pe = {
  putenv_string = 0x8de03fc
"LD_LIBRARY_PATH=/u01/app/oracle/product/8.1.7/lib:/u01/app/oracle/product/8.1.7/ctx/lib:",
  previous_value = 0x0, key = 0x8de148c "LD_LIBRARY_PATH", key_len =
15}
        str = (struct _zval_struct **) 0x8a5082c
#5  0x080cf776 in execute (op_array=0x8d1873c) at
/usr/src/php-4.3.3/Zend/zend_execute.c:1616
        original_return_value = (struct _zval_struct **) 0x8d278b0
        return_value_used = 0
        execute_data = {opline = 0x8d27898, function_state =
{function_symbol_table = 0x8c69664, function = 0x834dc20, reserved = {
      0x80c3f37, 0x8dedf50, 0x7c78b6ec, 0xbfff9160}}, fbc = 0x0, ce =
0x0, object = {ptr = 0x0}, Ts = 0xbfff5880,
  original_in_execution = 1 '\001', op_array = 0x8d1873c,
prev_execute_data = 0xbfff90f0}
#6  0x080cf95f in execute (op_array=0x8c7d2f8) at
/usr/src/php-4.3.3/Zend/zend_execute.c:1660
        calling_symbol_table = (struct _hashtable *) 0x8b35c44
        original_return_value = (struct _zval_struct **) 0xbfff9ca8
        return_value_used = 0
        execute_data = {opline = 0x8c0f214, function_state =
{function_symbol_table = 0x8b35d64, function = 0x8d1873c, reserved = {
      0x80cbf0a, 0x8cbe984, 0x8b334e4, 0x8}}, fbc = 0x8d1873c, ce =
0x0, object = {ptr = 0x8db8db4}, Ts = 0xbfff8c00,
  original_in_execution = 1 '\001', op_array = 0x8c7d2f8,
prev_execute_data = 0xbfffab70}
#7  0x080cf95f in execute (op_array=0x8c81f50) at
/usr/src/php-4.3.3/Zend/zend_execute.c:1660
        calling_symbol_table = (struct _hashtable *) 0x8a56e0c
        original_return_value = (struct _zval_struct **) 0xbfffc0ac
        return_value_used = 0
        execute_data = {opline = 0x8c74458, function_state =
{function_symbol_table = 0x8b35c44, function = 0x8c7d2f8, reserved = {
      0x80cbf0a, 0x8cbe984, 0x8ac4294, 0x8}}, fbc = 0x8c7d2f8, ce =
0x0, object = {ptr = 0x0}, Ts = 0xbfff9160,
  original_in_execution = 1 '\001', op_array = 0x8c81f50,
prev_execute_data = 0xbfffcd40}
#8  0x080cf95f in execute (op_array=0x8a70514) at
/usr/src/php-4.3.3/Zend/zend_execute.c:1660
        calling_symbol_table = (struct _hashtable *) 0x83162cc
        original_return_value = (struct _zval_struct **) 0xbfffcdc4
        return_value_used = 0
        execute_data = {opline = 0x8ab9084, function_state =
{function_symbol_table = 0x8a56e0c, function = 0x8c81f50, reserved = {
      0x80b82c1, 0x8a88fec, 0x82aab60, 0x61}}, fbc = 0x8c81f50, ce =
0x0, object = {ptr = 0x0}, Ts = 0xbfffabe0,
  original_in_execution = 0 '\0', op_array = 0x8a70514,
prev_execute_data = 0x0}
#9  0x080bff34 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /usr/src/php-4.3.3/Zend/zend.c:885
        files = 0xbfffcdf4 "Рояї "
        i = 1
        file_handle = (struct _zend_file_handle *) 0xbffff020
        orig_op_array = (struct _zend_op_array *) 0x8db8038
        local_retval = (struct _zval_struct *) 0x0
#10 0x08097ad1 in php_execute_script (primary_file=0xbffff020) at
/usr/src/php-4.3.3/main/main.c:1723
        orig_bailout = {{__jmpbuf = {1108517584, 1073815584,
-1073744604, -1073745368, -1073745808, 134801605},
    __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 32
times>}}}}
        orig_bailout_set = 1 '\001'
        prepend_file_p = (struct _zend_file_handle *) 0xbfffeef0
        append_file_p = (struct _zend_file_handle *) 0xbfffeed0
        prepend_file = {type = 1 '\001', filename = 0x8a67a1c
"standard.php", opened_path = 0x8a705ec "", handle = {fd = 6,
    fp = 0x6}, free_filename = 0 '\0'}
        append_file = {type = 0 '\0', filename = 0x871c26c
"cleanup.php", opened_path = 0x0, handle = {fd = 0, fp = 0x0},
  free_filename = 0 '\0'}
        old_cwd = 0xbfffce00 "/usr/local/apache"
        old_primary_file_path = 0x0
        retval = 0
#11 0x080d42c5 in apache_php_module_main (r=0x89ef3dc,
display_source_mode=0) at
/usr/src/php-4.3.3/sapi/apache/sapi_apache.c:54
        retval = 0
        file_handle = {type = 1 '\001', filename = 0x89f0114
"/site/tw/ca/analysis/submit.html",
  opened_path = 0x8b35ca4 "FROM custmst SCHOOL, custmst DISTRICT ",
handle = {fd = 6, fp = 0x6}, free_filename = 0 '\0'}
#12 0x0808eb20 in send_php ()
No symbol table info available.
#13 0x0808eb8b in send_parsed_php ()
No symbol table info available.
#14 0x081b0890 in ap_invoke_handler ()
No symbol table info available.
#15 0x081c5303 in process_request_internal ()
No symbol table info available.
#16 0x081c5362 in ap_process_request ()
No symbol table info available.
#17 0x081bc5ab in child_main ()
No symbol table info available.
#18 0x081bc80c in make_child ()
No symbol table info available.
#19 0x081bcb4b in perform_idle_server_maintenance ()
No symbol table info available.
#20 0x081bd16a in standalone_main ()
No symbol table info available.
#21 0x081bd770 in main ()
No symbol table info available.
#22 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6
No symbol table info available.

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to