ID:               26409
 Updated by:       [EMAIL PROTECTED]
 Reported By:      pyrox_pro at hotmail dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         LDAP related
 Operating System: RedHat Linux 7.3
 PHP Version:      4.3.4
 New Comment:

If you don't believe me, fine, but there aren't any changes in ext/ldap
between PHP 4.3.1 -> 4.3.4 that could cause this crash.



Previous Comments:
------------------------------------------------------------------------

[2003-11-27 03:59:32] pyrox_pro at hotmail dot com

Just explain one last thing then,,, 

Why does it work with all previous versions of php, but not this
version if it is indeed in the libs and not php?

If the bug was indeed in the ldap libs and not php, wouldn't it not
function in previous versions?

I will just go back to version 4.3.2-rc and use that. After all, THAT
version of PHP works fine with this same 'supposed' bugged version of
openldap.

------------------------------------------------------------------------

[2003-11-27 00:22:07] [EMAIL PROTECTED]

It crashes inside the ldap libs -> Not PHP bug. (report to openldap
folks)


------------------------------------------------------------------------

[2003-11-26 10:53:43] pyrox_pro at hotmail dot com

Here you go:

Configure options:
./configure' '--prefix=/usr/local/apache'
'--with-apxs=/usr/local/apache/bin/apxs' '--with-mod_charset'
'--enable-force-cgi-redirect' '--enable-discard-path'
'--with-config-file-path=/usr/local/apache/conf' '--enable-safe-mode'
'--with-openssl' '--enable-bcmath' '--with-bz2' '--enable-calendar'
'--enable-ctype' '--with-gdbm' '--enable-dbase' '--enable-ftp'
'--with-gd' '--with-ttf' '--enable-gd-native-ttf'
'--enable-gd-imgstrttf' '--with-jpeg-dir=/usr/local'
'--enable-gd-imgstrttf' '--with-gmp' '--with-mysql' '--with-xml=shared'
'--enable-shmop' '--enable-sockets' '--with-regex=php'
'--enable-sysvsem' '--enable-sysvshm' '--enable-yp'
'--enable-memory-limit' '--enable-shared' '--with-zlib'
'--with-sybase-ct=/usr/local/freetds' '--enable-yp' '--with-xml=shared'
'--with-curl' '--with-ldap' 


Result:
[Wed Nov 26 09:43:25 2003] [notice] child pid 29410 exit signal
Segmentation fault (11)

Program received signal SIGSEGV, Segmentation fault.




gdb backtrace:

[EMAIL PROTECTED] php-4.3.4]# gdb /usr/local/apache/bin/php
GNU gdb Red Hat Linux (5.2-2)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run /usr/docroot/dev/ldap2
Starting program: /usr/local/apache/bin/php /usr/docroot/dev/ldap2

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x400a20b4 in ldap_pvt_tls_check_hostname () from
/usr/lib/libldap.so.2
#2  0x400a274f in ldap_int_tls_start () from /usr/lib/libldap.so.2
#3  0x40088ff1 in ldap_int_open_connection () from
/usr/lib/libldap.so.2
#4  0x40097593 in ldap_new_connection () from /usr/lib/libldap.so.2
#5  0x40088a9a in ldap_open_defconn () from /usr/lib/libldap.so.2
#6  0x4009722f in ldap_send_initial_request () from
/usr/lib/libldap.so.2
#7  0x40090be1 in ldap_sasl_bind () from /usr/lib/libldap.so.2
#8  0x40090c9a in ldap_sasl_bind_s () from /usr/lib/libldap.so.2
#9  0x4009138c in ldap_simple_bind_s () from /usr/lib/libldap.so.2
#10 0x40088a49 in ldap_bind_s () from /usr/lib/libldap.so.2
#11 0x080c62a2 in zif_ldap_bind (ht=3, return_value=0x8348ac4,
this_ptr=0x0, return_value_used=1) at
/root/php-4.3.4/ext/ldap/ldap.c:460
#12 0x081aa480 in execute (op_array=0x8339924) at
/root/php-4.3.4/Zend/zend_execute.c:1616
#13 0x08197ecc in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /root/php-4.3.4/Zend/zend.c:884
#14 0x08170a14 in php_execute_script (primary_file=0xbffffaa0) at
/root/php-4.3.4/main/main.c:1729
#15 0x081b2984 in main (argc=2, argv=0xbffffb44) at
/root/php-4.3.4/sapi/cli/php_cli.c:819
#16 0x401da1c4 in __libc_start_main () from /lib/libc.so.6
(gdb) frame 12
#12 0x081aa480 in execute (op_array=0x8339924) at
/root/php-4.3.4/Zend/zend_execute.c:1616
1616                                                           
((zend_internal_function *)
EX(function_state).function)->handler(EX(opline)->extended_value,
EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object).ptr,
return_value_used TSRMLS_CC);
(gdb) print (char
A parse error in expression, near `'.
(gdb) print
(char*)(executor_globals.function_state_ptr->function)->common.function_name
$1 = 0x823857c "ldap_bind"
(gdb)

RESULT: $1 = 0x823857c "ldap_bind"

No Oracle support in this buildp, up to date ldap libs.

Same Result.

------------------------------------------------------------------------

[2003-11-25 19:38:48] [EMAIL PROTECTED]

Try compile PHP without --with-oci8 altogether. And use the openldap
libs intstead for --with-ldap so we know for sure this really is caused
by oracle..


------------------------------------------------------------------------

[2003-11-25 12:15:25] pyrox_pro at hotmail dot com

Description:
------------
ldap_bind is causing a seg fault on every use.

I submitted a similar bug in the past and was supplied a CVS snapshot
to use, I had been using that up until now, I installed php-4.3.4 and a
new problem that is similar rears its head:
http://bugs.php.net/bug.php?id=22686

echo "<BR>Connecting...";
$ds=ldap_connect("ldaps://".$ldap['SERV']."/") or die("<BR>Died.");
echo "<BR> Connection Established: $ds";
echo "<BR> BINDING...";
$r=ldap_bind($ds,$ldap['user'],$ldap['pass']);
echo "<BR> BIND COMPLETE.";

This results in a seg fault:
  Connecting...
  Connection Established: Resource id #4
  BINDING...
************** -> Segmentation fault

[Tue Nov 25 10:31:38 2003] [notice] child pid 26178 exit signal
Segmentation fault (11)


If I comment this out:
echo "<BR>Connecting...";
$ds=ldap_connect("ldaps://".$ldap['SERV']."/") or die("<BR>Died.");
echo "<BR> Connection Established: $ds";
echo "<BR> BINDING...";
##$r=ldap_bind($ds,$ldap['user'],$ldap['pass']);
echo "<BR> BIND COMPLETE.";

The page comes up and it seems to work fine.

I am using php 4.3.4 and LDAP:

ldap
LDAP Support  enabled  
RCS Version  $Id: ldap.c,v 1.130.2.9 2003/10/07 00:36:27 iliaa Exp $  
Total Links  0/unlimited  
API Version  2004  
Vendor Name  OpenLDAP  
Vendor Version  20026  

OCI8 Support  enabled  
Revision  $Revision: 1.183.2.5 $  
Oracle Version  8.1  
Compile-time ORACLE_HOME  /u01/app/oracle/product/8.1.6  
Libraries Used  no value  

OpenSSL support  enabled  
OpenSSL Version  OpenSSL 0.9.7 31 Dec 2002



Reproduce code:
---------------
$ds=ldap_connect("ldaps://".$ldap['SERV']."/");
$r=ldap_bind($ds);


Expected result:
----------------
Annon bind to the ldap resource id obtained from ldap_connect.

Actual result:
--------------
Segmentation fault


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26409&edit=1

Reply via email to