Bug #64267 [Fbk->Opn]: ldap_bind crash for ldaps://
Edit report at https://bugs.php.net/bug.php?id=64267&edit=1
ID: 64267
User updated by: andrew+bugsphp at wimpyprogrammer dot com
Reported by: andrew+bugsphp at wimpyprogrammer dot com
Summary: ldap_bind crash for ldaps://
-Status: Feedback
+Status: Open
Type: Bug
Package: LDAP related
Operating System: Windows Server 2008 R2 x64
-PHP Version: 5.4Git-2013-02-21 (snap)
+PHP Version: 5.4.12
Block user comment: N
Private report: N
New Comment:
Here's the backtrace. I hope I captured it correctly. I struggled to find a
debug file for libeay32.dll and ended up using
http://www.orangefs.org/trac/orangefs/browser/branches/windows-client/openssl-
windows/bin64/debug?rev=8844. Thanks!
-----
Thread 0 - System ID 3660
Entry point php_cgi!mainCRTStartup
Create time 2/21/2013 3:07:58 PM
Time spent in user mode 0 Days 0:0:0.656
Time spent in kernel mode 0 Days 0:0:0.312
Full Call Stack
Function Arg 1 Arg 2 Arg 3 Arg 4 Source
libeay32!OPENSSL_showfatal+c0 00000001 00000064 01bf1b48
0024b80c g:\root\pvfsdev\windows\openssl-1.0.0d\crypto\cryptlib.c @ 831 + f
libeay32!bn_mul_high+75f 01c798b4 01c798a4 01bf1b48 0025e0ee
g:\root\pvfsdev\windows\openssl-1.0.0d\crypto\bn\bn_mul.c @ 890 + 1e
ssleay32!SSLv3_client_method+18c 01bf1b48 01c41d38 72096bb8
01bf1b48
ssleay32!SSL_free+19e 01bf1b48 01c41d38 720a659b 01c41d38
php_ldap!ldap_search_s+1c8 01c41d38 01c41d18 01c41b78 720a6907
php_ldap!ber_sockbuf_remove_io+7b 01c41b78 720b52e8 00000014
70f52dec
php_ldap!ber_int_sb_destroy+57 01c41b78 01c41b78 00000000
014ba128
php_ldap!ber_sockbuf_free+44 01c41b78 00000000 014ba128 7209b949
php_ldap!ldap_ld_free+1ad 014ba128 00000001 00000000 00000000
php_ldap!ldap_unbind_ext+59 014ba128 00000000 00000000 720a9f80
php_ldap!ldap_unbind_s+e 014ba128 00000002 6ec4cd63 008ecb68
php_ldap!_close_ldap_link+f 008ecb68 6ec60b97 008ecb68 0126f068
c:\php-sdk\php54dev\vc9\x86\php-5.4.12\ext\ldap\ldap.c @ 103
php5!list_entry_destructor+43 008edc54 009d1410 0126f1dc
6ecaf59d c:\php-sdk\php54dev\vc9\x86\php-5.4.12\zend\zend_list.c @ 178 + 2
php5!zend_hash_apply_deleter+6c 01c44480 6f1b5330 6ec3cd06
6f1b5b78 c:\php-sdk\php54dev\vc9\x86\php-5.4.12\zend\zend_hash.c @ 650 + 5
php5!zend_hash_graceful_reverse_destroy+d 6f1b5b78 6f1b5a60 6ee7cd24
01c44480 c:\php-sdk\php54dev\vc9\x86\php-5.4.12\zend\zend_hash.c @ 688
php5!shutdown_executor+46 00000000 00000000 01c8f450 008ed678
c:\php-sdk\php54dev\vc9\x86\php-5.4.12\zend\zend_execute_api.c @ 247 + a
php5!zend_deactivate+49 00000000 00000001 004800c4 00000000
c:\php-sdk\php54dev\vc9\x86\php-5.4.12\zend\zend.c @ 940
php5!php_request_shutdown+198 00000000 00a6d500 00000001
00000000 c:\php-sdk\php54dev\vc9\x86\php-5.4.12\main\main.c @ 1803
php_cgi!main+3db 00000003 009d2f80 009d1bf8 21c90fe5 c:\php-
sdk\php54dev\vc9\x86\php-5.4.12\sapi\cgi\cgi_main.c @ 2498 + 7
php_cgi!__tmainCRTStartup+10f 7efde000 0126f84c 776d9ed2
7efde000 f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 586 + 17
kernel32!BaseThreadInitThunk+12 7efde000 1083a766 00000000
00000000
ntdll!RtlInitializeExceptionChain+63 00a63a39 7efde000 ffffffff
777672ff
ntdll!RtlInitializeExceptionChain+36 00a63a39 7efde000 00000000
00000000
Exception Information
LIBEAY32!OPENSSL_SHOWFATAL+C0In php-
cgi__PID__3152__Date__02_21_2013__Time_03_08_05PM__37__Second_Chance_Exception_C
0000005.dmp the assembly instruction at libeay32!OPENSSL_showfatal+c0 in
C:\Program Files (x86)\PHP\PHP_5_4_12_NTS_x86\libeay32.dll from The OpenSSL
Project, http://www.openssl.org/ has caused an access
violation exception
(0xC0000005) when trying to write to memory location 0x00000001 on thread 0
Module Information
Image Name: C:\Program Files (x86)\PHP\PHP_5_4_12_NTS_x86\libeay32.dll Symbol
Type: PDB
Base address: 0x00905a4d Time Stamp: Wed Feb 13 05:36:27 2013
Checksum: 0x65006200 Comments:
COM DLL: False Company Name: The OpenSSL Project, http://www.openssl.org/
ISAPIExtension: False File Description: OpenSSL Shared Library
ISAPIFilter: False File Version: 0.9.8y
Managed DLL: False Internal Name: libeay32
VB DLL: False Legal Copyright: Copyright © 1998-2007 The OpenSSL Project.
Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.
Loaded Image Name: libeay32.dll Legal Trademarks:
Mapped Image Name: Original filename: libeay32.dll
Module name: libeay32 Private Build:
Single Threaded: False Product Name: The OpenSSL Toolkit
Module Size: 1,020.00 KBytes Product Version: 0.9.8y
Symbol File Name: c:\users\administrator\desktop\php-debug-pack-5.4.12-nts-
win32-vc9-x86\libeay32.pdb Special Build: &
Previous Comments:
------------------------------------------------------------------------
[2013-02-21 18:22:10] pajoye@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php
for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php
for Win32
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
------------------------------------------------------------------------
[2013-02-21 17:38:48] andrew+bugsphp at wimpyprogrammer dot com
Description:
------------
(I am using PHP 5.4.12 NTS, but it's not an option in the version menu. I tried
grabbing a Windows snapshot but the 5.4 links on http://windows.php.net/snapshots/
are broken.)
Calling ldap_bind() with an ldaps:// resource causes PHP via FastCGI to crash:
HTTP Error 500.0 - Internal Server Error
C:\PROGRA~2\PHP\PHP_5_4_12_NTS_x86\php-cgi.exe - The FastCGI process exited
unexpectedly
If the resource is ldap://, the connection succeeds.
If I change my PHP version to 5.4.11 with the same PHP INI, both methods succeed.
Test script:
---------------
<?php
// From http://php.net/manual/en/function.ldap-bind.php#example-4224.
$ldaprdn = 'uname';
$ldappass = 'password';
// connect to ldap server
$ldapconn = ldap_connect("ldaps://ldap.example.com")
or die("Could not connect to LDAP server.");
if ($ldapconn) {
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
if ($ldapbind) {
echo "LDAP bind successful...";
} else {
echo "LDAP bind failed...";
}
}
Expected result:
----------------
LDAP bind successful...
Actual result:
--------------
Error Summary
HTTP Error 500.0 - Internal Server Error
C:\PROGRA~2\PHP\PHP_5_4_12_NTS_x86\php-cgi.exe - The FastCGI process exited
unexpectedly
Detailed Error Information
Module
FastCgiModule
Notification
ExecuteRequestHandler
Handler
PHP 5.4.12 NTS x86 via FastCGI
Error Code
0x000000ff
Requested URL
[Redacted]
Physical Path
[Redacted]
Logon Method
Anonymous
Logon User
Anonymous
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=64267&edit=1
Thread (8 messages)