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

Reply via email to