From: bdgregg at pitt dot edu Operating system: Solaris 10u4 SPARC PHP version: 4.4.8 PHP Bug Type: iPlanet related Bug description: Crash occurred in function strlen from module /lib/libc.so.1
Description: ------------ Compiled php using nsapi as follows: 1.) Install openssl NOTE: the "shared" option below is REQUIRED for SASL. PATH=$PATH:/usr/sfw/bin:/usr/ccs/bin export PATH ./config --prefix=/usr/local/ssl shared make make install 2.) Install BerkeleyDB cd build_unix ../dist/configure make make install 3.) Set Environment now. LD_LIBRARY_PATH=/usr/local/ssl/lib:/usr/local/BerkeleyDB.4.6/lib:$LD_LIBRARY_PATH LDFLAGS="-L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/BerkeleyDB.4.6/lib -R/usr/local/BerkeleyDB.4.6/lib" export LDFLAGS CFLAGS="-I/usr/local/ssl/include -I/usr/local/BerkeleyDB.4.6/include" export CFLAGS CPPFLAGS=$CFLAGS export CPPFLAGS PATH=/usr/local/ssl/bin:/usr/local/BerkeleyDB.4.6/bin:$PATH export PATH 4.) Install SASL ./configure --prefix=/usr/local/sasl --with-openssl=/usr/local/ssl make make install 5.) Update Environment. LD_LIBRARY_PATH=/usr/local/sasl/lib:/usr/local/ssl/lib:/usr/local/BerkelyDB.4.6/lib: exoprt LD_LIBRARY_PATH LDFLAGS="-L/usr/local/sasl/lib -R/usr/local/sasl/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/BerkeleyDB.4.6/lib -R/usr/local/BerkeleyDB.4.6/lib" export LDFLAGS CFLAGS="-I/usr/local/sasl/include -I/usr/local/ssl/include -I/usr/local/BerkeleyDB.4.6/include" export CFLAGS CPPFLAGS=$CFLAGS export CPPFLAGS PATH=/usr/local/sasl/sbin:/usr/local/ssl/bin:/usr/local/BerkeleyDB.4.6/bin:/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin export PATH 6.) Install openldap ./configure --prefix=/usr/local/ldap --with-tls --enable-wrappers --enable-crypt --enable-bdb --disable-slapd --disable-slurpd make depend make make install 7.) Update Environment LD_LIBRARY_PATH=/usr/local/webserver/lib:/usr/local/ldap/lib:/usr/local/sasl/lib:/usr/local/ssl/lib:/usr/local/BerkelyDB.4.6/lib: export LD_LIBRARY_PATH LDFLAGS="-L/usr/local/webserver/lib -R /usr/local/webserver/lib -L/usr/local/ldap/lib -R /usr/local/ldap/lib -L/usr/local/sasl/lib -R/usr/local/sasl/lib -L/usr/local/ssl/lib -R/usr/local/ssl/lib -L/usr/local/BerkeleyDB.4.6/lib -R/usr/local/BerkeleyDB.4.6/lib" export LDFLAGS CFLAGS="-I/usr/local/webserver/include -I/usr/local/ldap/include -I/usr/local/sasl/include -I/usr/local/ssl/include -I/usr/local/BerkeleyDB.4.6/include" export CFLAGS CPPFLAGS=$CFLAGS export CPPFLAGS PATH=/usr/local/webserver/bin:/usr/local/ldap/bin:/usr/local/sasl/sbin:/usr/local/ssl/bin:/usr/local/BerkeleyDB.4.6/bin:/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin export PATH 8.) Install php ./configure --with-ldap=/usr/local/ldap --with-gettext --with-openssl=/usr/local/ssl --with-nsapi=/usr/local/webserver --enable-track-vars --enable-force-cgi-redirect --with-zlib --with-gd --with-mysql --with-ldap-sasl=/usr/local/sasl --enable-libgcc make make install Modified the magnus.conf and obj.conf for the web server and instance. This goes well and I'm able to load a simple phpinfo.php file <?php phpinfo(); ?> without issue. We are trying to perform LDAPS connection to MS Active Directory. We have this code running under Apache on another server. For support reasons we are trying now to use Sun Java System Web Server 7.0 update 2 (newest) to achieve the same thing. Our code runs fine from command line. But when run inside the web server the following shows in the error log (BTW, yes it is reporting php5 as I've also tried version 5 as well, both produce the same results). [21/Mar/2008:12:52:02] catastrophe (15965): CORE3260: Server crash detected (signal SIGSEGV) [21/Mar/2008:12:52:02] info (15965): CORE3261: Crash occurred in NSAPI SAF php5_execute [21/Mar/2008:12:52:02] info (15965): CORE3262: Crash occurred in function strlen from module /lib/libc.so.1 I have captured a core file and can send it on (489MB in size) or provide information from the stack trace. I am looking for any information of what I may have done wrong or if there is a bug that I have hit. Thanks in advance. Reproduce code: --------------- The source of php code is very simple. <?php # Set server name. $ldaphost = "ldaps://pittad.univ.pitt.edu"; # Make Connection Handle $ldapconn = ldap_connect ($ldaphost) or die("Could not connect to $ldaphost"); # Make sure to use version 3 of LDAP Protocol. ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3) or die ("Could not set version 3"); ldap_set_option($ldapconn, LDAP_OPT_DEBUG_LEVEL, 7) or die ("Could not set ldap debug level 7"); ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0) or die ("Could not set referrals 0"); # Username and Password $user='cn=blahuser,ou=Accounts,dc=company,dc=com'; $password='blahpassword'; # filter $filter='(cn=blahuser)'; print "2<br>\n"; # Authenticate to AD. $ldapbind=ldap_bind($ldapconn,$user,$password); if ($ldapbind) { # LDAP Authentication/Bind Successful. print "LDAP Authentication/Bind Successful...\n<br>"; #$sr=ldap_search($ldapconn,$base_dn,$filter,$attributes); $sr=ldap_search($ldapconn,$base_dn,$filter); $info = ldap_get_entries($ldapconn,$sr); } else { print "LDAP Authentication/Bind Unsuccessful.\n<br>"; } ldap_close($ldapconn); ?> Expected result: ---------------- LDAP Authentication/Bind Successful...\n<br> Actual result: -------------- Web Page hangs and no results in the browser, however error log grows by the three lines that I have indicated: [21/Mar/2008:12:52:02] catastrophe (15965): CORE3260: Server crash detected (signal SIGSEGV) [21/Mar/2008:12:52:02] info (15965): CORE3261: Crash occurred in NSAPI SAF php5_execute [21/Mar/2008:12:52:02] info (15965): CORE3262: Crash occurred in function strlen from module /lib/libc.so.1 Stack trace: # mdb /var/cores/webservd.victory.15928.1206115501.core mdb: core file data for mapping at ff400000 not saved: Bad address Loading modules: [ libumem.so.1 libc.so.1 libuutil.so.1 ld.so.1 ] > $c libc.so.1`strlen+0x14(286f626a, fef0093c, 3a10bfdc, feec7730, 286f626a, 0) libldap60.so`ldap_charray_dup+0x80(feef0898, 62617365, 3a10bff0, 286f626a, 15a7bd8, feef0898) libldap-2.3.so.0.2.26`ldap_url_dup+0x274(15a7c00, 15a9ea0, 0, 65676700, 10, 80808080) libldap-2.3.so.0.2.26`ldap_url_duplist+0x2c(15a7c00, 0, 0, 0, 1, ac010) libldap-2.3.so.0.2.26`ldap_create+0x354(f542ee90, 0, 0, 0, 0, 0) libldap-2.3.so.0.2.26`ldap_initialize+0x1c(f542ef0c, 802b230, 5b13feff, 80808080, ff00, ff0000) libphp5.so`zif_ldap_connect+0x1fc(1, 802b568, 0, 0, 1, bf2da0) libphp5.so`zend_do_fcall_common_helper_SPEC+0x698(f542f3a8, bf2da0, d, f542f3b0, 7eaa648, d) libphp5.so`ZEND_DO_FCALL_SPEC_CONST_HANDLER+0x110(f542f3a8, bf2da0, ffffffff, fffffff8, bf2da0, f542f3a8) libphp5.so`execute+0x484(802af78, bf2da0, 25, fbec3f48, bf2da0, fbd1ab44) libphp5.so`zend_execute_scripts+0x294(8, bf2da0, 0, 3, 0, f542fb10) libphp5.so`php_execute_script+0x560(f542fb10, bf2da0, 6d, 73, bf2da0, 8000) libphp5.so`php5_execute+0x8b0(2b54a8, ea08e0, ea0958, 2b7048, 1, 68db8800) libns-httpd40.so`func_exec_str+0x220(0, 0, 2b54a8, ea08e0, ea0958, 0) libns-httpd40.so`INTfunc_exec_directive+0x2a8(3cd9c, 2b54a8, ea08e0, ea0958, ea0c68, 1) libns-httpd40.so`INTservact_service+0x37c(ff25aa80, ea08e0, 1, ea0958, 2b54a8, 3) libns-httpd40.so`INTservact_handle_processed+0x48(ea08e0, ea0958, 29dd08, 8000000, 0, 80648) libns-httpd40.so`__1cLHttpRequestUUnacceleratedRespond6M_v_+0x860(ea08c8, 7ebc380, ea0958, 31e7354, ff228068, ea08e0) libns-httpd40.so`__1cLHttpRequestNHandleRequest6MpnGnetbuf_I_i_+0x7d0(ea08c8, 7eba008, ffffffff, ea0c68, 31e7354, ff25c878) libns-httpd40.so`__1cNDaemonSessionDrun6M_v_+0x4bc(ea0c48, 1, ea0c68, 7eba008, 0, 1e1) libnsprwrap.so`ThreadMain+0x1c(ea0c48, 88ef0, 0, fef29c00, ff10306c, ff264960) libnspr4.so`_pt_root+0xd4(88ef0, fef16cb0, f542ff9c, fe8ca0bc, fe8c89ec, 0) libc.so.1`_lwp_start(0, 0, 0, 0, 0, 0) -- Edit bug report at http://bugs.php.net/?id=44499&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=44499&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=44499&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=44499&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=44499&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=44499&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=44499&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=44499&r=needscript Try newer version: http://bugs.php.net/fix.php?id=44499&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=44499&r=support Expected behavior: http://bugs.php.net/fix.php?id=44499&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=44499&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=44499&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=44499&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=44499&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=44499&r=dst IIS Stability: http://bugs.php.net/fix.php?id=44499&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=44499&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=44499&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=44499&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=44499&r=mysqlcfg