ID: 40599 Updated by: [EMAIL PROTECTED] Reported By: lyle dot pritchett at dri dot edu -Status: Open +Status: Feedback Bug Type: Reproducible crash Operating System: Solaris 9, 10 PHP Version: 5CVS-2007-02-22 (snap) New Comment:
>--with-openssl-dir=/opt This option is used with FTP and SNMP extensions to help them to find OpenSSL. Are you really compiling FTP and SNMP? I suspect no. For ext/openssl you need to specify --with-openssl (and --with-openssl-dir is not reaquired in this case). The "/opt" prefix means that OpenSSL libraries are in /opt/lib/ and headers in /opt/include/. Is this correct path? I suspect no. Previous Comments: ------------------------------------------------------------------------ [2007-02-24 22:47:33] lyle dot pritchett at dri dot edu An explanation of sorts: I've found that multiple sets of libraries and header files are clashing, specifically for pcre, openssl, libxml, and zlib (perhaps others). Despite specifying paths in "configure" for the latest versions in /opt, the configure script is not consistently applying that path as it checks for these packages and builds compiler options. Even worse, Solaris 10 now comes with a number of (outdated) versions of these as well, and portions of those are getting stirred into the mix. An example of the problem: specifying --with-openssl-dir=/opt results in configure not finding the necessary header files. I find that line 20825 of the configure script is replacing the supplied path with hardcoded references to /usr/local, et al. Manually adding /opt to that line solves the header location problem, but the compiler is still reporting large numbers of warnings about mismatched openssl variables. Another example: specifying --with-libxml2-dir=/opt is not sufficient to keep configure from finding /usr/bin/xml2-config and complaining that the version reported there is too old (big surprise). It should be picking up the xml2-config in /opt/bin. With a LOT of manual tweaking, I am able to get "make test" to complete without a sementation fault, but it is still reporting over 50 tests failing. At this point I am not comfortable installing this on a production server. ------------------------------------------------------------------------ [2007-02-24 19:32:15] lyle dot pritchett at dri dot edu Don't know if this helps, but I added --disable-inline-optimization to the configure parms; "make test" now gets a little further: (gdb) run Starting program: /opt/src/php/php5.2-200702231530/sapi/cli/php run-tests.php warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074 warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 ===================================================================== CWD : /opt/src/php/php5.2-200702231530 PHP : sapi/cli/php PHP_SAPI : cli PHP_VERSION : 5.2.2-dev ZEND_VERSION: 2.2.0 PHP_OS : SunOS - SunOS trapdoor 5.10 Generic_118833-24 sun4u INI actual : /opt/src/php/php5.2-200702231530 More .INIs : Extra dirs : ===================================================================== Program received signal SIGSEGV, Segmentation fault. 0x002570c8 in _zval_ptr_dtor (zval_ptr=0xffbfb750) at /opt/src/php/php5.2-200702231530/Zend/zend_execute_API.c:412 412 (*zval_ptr)->refcount--; (gdb) bt #0 0x002570c8 in _zval_ptr_dtor (zval_ptr=0xffbfb750) at /opt/src/php/php5.2-200702231530/Zend/zend_execute_API.c:412 #1 0x00259448 in zend_call_function (fci=0xffbfb7d8, fci_cache=Variable "fci_cache" is not available. ) at zend_execute.h:155 #2 0x0019e65c in array_user_compare (a=0x64af70, b=Variable "b" is not available. ) at /opt/src/php/php5.2-200702231530/ext/standard/array.c:592 #3 0x0027b854 in zend_qsort (base=Variable "base" is not available. ) at /opt/src/php/php5.2-200702231530/Zend/zend_qsort.c:83 #4 0x002719b8 in zend_hash_sort (ht=0x621318, sort_func=0x27b75c <zend_qsort>, compar=0x19e5a4 <array_user_compare>, renumber=1, tsrm_ls=0x3ed738) at /opt/src/php/php5.2-200702231530/Zend/zend_hash.c:1275 #5 0x00198170 in zif_usort (ht=Variable "ht" is not available. ) at /opt/src/php/php5.2-200702231530/ext/standard/array.c:660 #6 0x0028a2b8 in zend_do_fcall_common_helper_SPEC (execute_data=0xffbff170, tsrm_ls=0x3ed738) at zend_vm_execute.h:200 #7 0x00293804 in ZEND_DO_FCALL_SPEC_CONST_HANDLER (execute_data=0xffbff170, tsrm_ls=0x3ed738) at zend_vm_execute.h:1681 #8 0x00289ae8 in execute (op_array=0x3fc678, tsrm_ls=0x3ed738) at zend_vm_execute.h:92 #9 0x0026603c in zend_execute_scripts (type=8, tsrm_ls=0x3ed738, retval=Variable "retval" is not available. ) at /opt/src/php/php5.2-200702231530/Zend/zend.c:1135 ---Type <return> to continue, or q <return> to quit--- #10 0x0021805c in php_execute_script (primary_file=0xffbff8dc, tsrm_ls=0x3ed738) at /opt/src/php/php5.2-200702231530/main/main.c:1787 #11 0x00306494 in main (argc=2, argv=0xffbff9e4) at /opt/src/php/php5.2-200702231530/sapi/cli/php_cli.c:1127 (gdb) ------------------------------------------------------------------------ [2007-02-23 20:10:01] [EMAIL PROTECTED] Cannot reproduce. ------------------------------------------------------------------------ [2007-02-23 17:40:55] lyle dot pritchett at dri dot edu No joy. Rebuilt latest snap version (5.2-200702231530) with gcc 4.1.2. Still getting seg fault on self-test on both Solaris 9 and 10 SPARC servers. Also tried minimal config to eliminate possible effects of supplemental packages: ./configure --prefix=/opt \ --with-config-file-path=/opt/apache/conf \ --localstatedir=/var/run \ --with-libxml-dir=/opt Still barfing. Traceback on latest build same as before (with exception of absolute address values). ------------------------------------------------------------------------ [2007-02-23 00:45:13] [EMAIL PROTECTED] Try with GCC 4.1.2, it's working fine here on Solaris 9. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/40599 -- Edit this bug report at http://bugs.php.net/?id=40599&edit=1