OSSP CVS Repository

ossp - Ticket #22
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Attach]  [Edit]  [History

Ticket 22: Apache/PHP with MM session support does SegFault 11 under load

  / Excuse me for my English /

  I have self-compiled enviroment with PHP 4.3.3 with MM as static module for Apache 1.3.28. 
When I test this config locally system worked well. But there are some problem appeared in 
real web enviroment. PHP scripts with session support sometimes caused Segmentation Fault 11. 
There are about 12-24 hours pass from apache restart to segfault appeared at about 1 request
per minute scripts that uses sessions. Setting Apache 'MaxRequestsPerChild' options does 
not help (is this good idea?). 

  There are configure scripts:

  PHP:
./configure --with-config-file-path=/etc/httpd --with-mysql=/usr/local --with-apache=../apache_1.3.28 --with-zlib --disable-cli --disable-cgi --disable-ipv6 --with-openssl --with-mysql=/usr/local --with-mysql-sock=/var/lock/mysql.sock --with-mm=/usr/local --enable-sockets --disable-xml --with-mnogosearch=/usr/local 

  Apache:
SSL_BASE=/usr/src/openssl-0.9.7b EAPI_MM=/usr/local ./configure --with-layout=star --activate-module=src/modules/php4/libphp4.a --disable-module=actions --disable-module=cgi --disable-module=include --disable-module=userdir --enable-module=rewrite --enable-module=usertrack --enable-module=ssl --server-uid=www --server-gid=www --disable-rule=SSL_COMPAT

  There are debugger output (gdb /usr/local/sbin/httpd -c /usr/local/core):
GNU gdb 5.3
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-slackware-linux"...
Core was generated by `/usr/local/sbin/httpd -DSSL'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /usr/local/lib/libmm.so.13...done.
Loaded symbols for /usr/local/lib/libmm.so.13
Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.12...done.
Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.12
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/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 /lib/libdb.so.2...done.
Loaded symbols for /lib/libdb.so.2
Reading symbols from /usr/lib/libexpat.so.0...done.
Loaded symbols for /usr/lib/libexpat.so.0
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
#0  0x080ec415 in ps_sd_destroy (data=0x8536028, sd=0x423b4e7c) at /usr/src/php-4.3.3/ext/session/mod_mm.c:170
170                     for (prev = data->hash[slot]; prev->next != sd; prev = prev->next);

And there are server configuration: Slackware 9.0 (glibc 2.3.1) with recompiled kernel 2.4.22 on Dual PIII 1000/1GB RAM

[Add remarks]

Remarks:

Properties:

Type: code           Version: 1.3.0 
Status: new          Created: 2003-Oct-28 13:46
Severity:          Last Change: 2003-Oct-28 13:46
Priority:          Subsystem: mm 
Assigned To: rse           Derived From:  
Creator: anonymous 

CVSTrac 2.0.1