Bug #10099 Updated: Segfault in Apache 1.3.19 + PHP4.0.x DSO

From: Date: Thu, 16 May 2002 22:20:52 +0000
Subject: Bug #10099 Updated: Segfault in Apache 1.3.19 + PHP4.0.x DSO
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-7878@lists.php.net to get a copy of this message
ID: 10099 Updated by: cdwilde@yahoo.com Reported By: oliverh@matrixmagician.com Status: Closed Bug Type: Apache related Operating System: Linux-mipsel (Cobalt Linux 5.0) PHP Version: 4.0.4pl1 New Comment: Hello, I thought I'd let everyone know that I encountered the same bug on a FreeBSD box that I'm testing on. The box is an i386 running FreeBSD 4.5. I have compiled Apache 2.0.36, mod_perl 2.0, and php 4.2.1. I built php as a DSO and ran the defacto <?phpinfo()?> test page and received the error. I used the fix in 9827 changing the 10000.0 in line 109 of crypt.c to 1.0 and rebuilt php. Everything is working fine now. Just FYI. Thanks, Dave Previous Comments: ------------------------------------------------------------------------ [2001-10-20 23:08:40] sniper@php.net The fix is committed into CVS. --Jani ------------------------------------------------------------------------ [2001-04-03 12:03:15] oliverh@matrixmagician.com Ok, I have made the changes to the crypt.c file on line 105, based on Matti Weissmueller's idea. And PHP4 compiles cleanly and runs just as well seemingly. Could someone advise on any potential issues, that this change could have ? ------------------------------------------------------------------------ [2001-04-01 14:10:57] oliverh@matrixmagician.com Sniper, Thanks for the quick response. Here is the new debugged core dump: Starting program: /usr/sbin/httpd -X Program received signal SIGFPE, Arithmetic exception. 0x2b0b1da0 in php_minit_crypt (type=1, module_number=3) at crypt.c:105 105 php_srand(time(0) * getpid() * (php_combined_lcg() * 10000.0)); (gdb) bt #0 0x2b0b1da0 in php_minit_crypt (type=1, module_number=3) at crypt.c:105 #1 0x2b0a3968 in php_minit_basic (type=1, module_number=3) at basic_functions.c:748 #2 0x2aff2068 in zend_startup_module (module=0x2b253b44) at zend_API.c:624 #3 0x2b01ac30 in php_startup_extensions (ptr=0x2b24e288, count=10) at main.c:701 #4 0x2b01ccb4 in php_startup_internal_extensions () at internal_functions.c:62 #5 0x2b01b390 in php_module_startup (sf=0x2b24d290) at main.c:861 #6 0x2b014ca4 in php_apache_startup (sapi_module=0x2b24d290) at mod_php4.c:259 #7 0x2b016820 in php_init_handler (s=0x10122cc8, p=0x10122ca0) at mod_php4.c:729 #8 0x4836b0 in ap_init_modules () #9 0x499dd4 in main () I believe there is a work-around for this. See Bug #9827 by Matti Weissmueller. He uses similar hardware. Thanks for your help. ------------------------------------------------------------------------ [2001-04-01 13:12:22] sniper@php.net 1. delete config.cache 2. add --enable-debug into your configure line 3. after configure 'make clean ; make ; make install' Now you might get better backtrace of the problem. Do you have PHP 3 installed into the apache? If not, you don't need --enable-versioning argument. --Jani ------------------------------------------------------------------------ [2001-04-01 12:18:23] oliverh@matrixmagician.com I have a Cobalt Qube2 (64-Bit MIPS little-endian). I have compiled PHP 4.0.4 and any release after that including 4.0.5RC2. PHP 4.0.x is configured like this: ./configure \ --with-apxs=/usr/sbin/apxs \ --enable-versioning \ --with-mysql=/usr/local/mysql \ --enable-track-vars \ --with-imap=/usr/local/imap-2000c \ --enable-ftp \ --with-mm=/usr/local/mm-1.1.3 \ --with-zlib (every interation of PHP after 4.0.4 was compiled with the options seen above) My GDB backtrace looks like this: #0 0x2aff60f8 in ?? () (gdb) bt #0 0x2aff60f8 in ?? () warning: Hit heuristic-fence-post without finding warning: enclosing function for address 0x2aff602c That's all I have found. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=10099&edit=1

« previous php.bugs (#7878) next »