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] paj...@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