PHP 4.0 Bug #5615 Updated: SIGSEGV combining PHP/OCI8/SSL

From: Date: Wed, 13 Sep 2000 11:20:58 +0000
Subject: PHP 4.0 Bug #5615 Updated: SIGSEGV combining PHP/OCI8/SSL
Groups: php.dev 
Request: Send a blank email to php-dev+get-33133@lists.php.net to get a copy of this message
ID: 5615 Updated by: sniper Reported By: greg@insight.com Status: Closed Bug Type: Reproduceable crash Assigned To: Comments: No feedback. Closed. --Jani Previous Comments: --------------------------------------------------------------------------- [2000-08-23 05:16:56] sniper@php.net Have you tried leaving that easysoft stuff out? Does it solve this problem? --Jani --------------------------------------------------------------------------- [2000-08-06 09:37:19] rasmus@php.net What do you mean "Have not seriously considered compiling PHP statically due to its 2MB+ size and resulting performance hit." ? PHP loaded statically is actually faster on most operating systems, including Linux. The size of the static binary is irrelevant. As for your problem. All I have to add here is that I have PHP 4 with Oracle 8.0.5 libs and mod_ssl working fine. I don't have the EasySoft piece though. --------------------------------------------------------------------------- [2000-07-14 23:52:32] greg@insight.com We're observing silent crashes combining Apache+Mod_SSL+EasySoft+OCI8 as DSO's Attempting to build all modules as DSO's, included modules: default Apache, rewrite, mod_ssl, php4. Observed problem: SIGSEGV, segmentation fault deep in PHP code, modf() calls when first loading Apache. Various combinations and results: 1. Configure Apache-mods (DSO), SSL (DSO), PHP/oci8 (DSO). Problem = Described above--SIGSEGV. (GDBM trace provided) 2. Configure Apache-mods (DSO), SSL (DSO), PHP (DSO), remove OCI8. Apache works fine. 3. Configure Apache-mods (static), SSL (DSO), PHP/oci8 (DSO). Problem = Apache loads and responds to requests, including Easysoft and Oracle. However, when sending a sigHUP (reload) to Apache a similar SIGSEGV fault happens (2nd GDBM trace provided). 4. Configure Apache-mods (static), SSL (static), PHP/oci8 (DSO). Problem = same as #3. Works but crashes on sigHUP. 5. Configure Apache-mods (DSO), PHP/oci8 (DSO), eliminate SSL. Apache works fine, DB's work fine. 6. Configure Apache-mods (static), PHP/oci8 (DSO), eliminate SSL. Works fine also. Have tried many variations on PHP configuration switches with no variation in the observed results. Have not seriously considered compiling PHP statically due to its 2MB+ size and resulting performance hit. Looking at the GDB trace, it's obvious values are getting clobbered in some kind of memory/buffer overrun. Removing SSL or OCI8 eliminates the problem, yet the traces don't suggest any specific interaction problems. It looks more like some memory management problem/conflict. *****Apache 1.3.12 Config (all modules DSO):***** OPTIM="-g -ggdb3" LDFLAGS="-lpthread" SSL_BASE="/home/gpaul/packages/openssl-0.9.5" RSA_BASE="/home/gpaul/packages/rsaref-2.0/local" ./configure "--with-layout=Apache" "--with-perl=/usr/bin/perl" "--enable-module=rewrite" "--enable-module=ssl" "--enable-shared=ssl" "--enable-shared=max" "--enable-module=so" "--prefix=/usr/local/apache" "--disable-rule=SSL_COMPAT" *****PHP 4.0.1pl2 Config:***** ./configure --enable-xml --enable-wddx --with-esoob=/usr/local/easysoft/oob/client --enable-track-vars --enable-magic-quotes --with-apxs=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf --enable-sigchild --with-gnu-ld --with-oci8=/home/oracle --enable-shared --libexecdir=/usr/local/apache/libexec *****GDBM Crash Trace with all modules configured as DSO:***** (gdb) run -X -DSSL Starting program: /usr/local/apache/bin/httpd -X -DSSL Program received signal SIGSEGV, Segmentation fault. 0x403ceb90 in modf () from /usr/local/apache/libexec/libphp4.so (gdb) bt #0 0x403ceb90 in modf () from /usr/local/apache/libexec/libphp4.so #1 0x8072977 in ap_cvt (arg=47.640187918506648, ndigits=0, decpt=0xbffff708, sign=0xbffff77c, eflag=-1073744200, buf=0x402e19b0 "Ø£r") at ap_snprintf.c:144 #2 0x8072c47 in ap_fcvt (arg=47.640187918506648, ndigits=0, decpt=0xbffff708, sign=0xbffff77c, buf=0xbffff6b8 "

« previous php.dev (#33133) next »