ID: 40599 User updated by: lyle dot pritchett at dri dot edu Reported By: lyle dot pritchett at dri dot edu -Status: Feedback +Status: Open Bug Type: Reproducible crash Operating System: Solaris 9, 10 PHP Version: 5CVS-2007-02-22 (snap) New Comment:
> The "/opt" prefix means that OpenSSL libraries are in > /opt/lib/ and headers in /opt/include/. > Is this correct path? I suspect no. Yep, that is exactly where openssl and the rest of the add-on packages have installed their libraries and header files. By disabling or removing various packages from the configure parms (openssl, sqlite, readline, iconv), I am finally able to work down to 20 failed self-tests under Solaris 10 and 10 failed tests under Solaris 9, most of which are related to date/time functions. At this point, I'll consider my original bug report of segmentation faults to be resolved, although obviously there are other, more profound problems going on here. Thanks for your help. Previous Comments: ------------------------------------------------------------------------ [2007-02-26 08:13:12] [EMAIL PROTECTED] >--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. ------------------------------------------------------------------------ [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). ------------------------------------------------------------------------ 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