ID: 38819 Updated by: [EMAIL PROTECTED] Reported By: madcoder at gmail dot com -Status: Open +Status: Feedback Bug Type: LDAP related Operating System: 2.6.17-gentoo linux amd64 PHP Version: 5.1.6 New Comment:
So does it work for you if you add that magical -DLDAP_DEPRECATED=1 ? Previous Comments: ------------------------------------------------------------------------ [2006-10-01 08:16:08] madcoder at gmail dot com For reference, I'm cross-posting a bug report I've opened with OpenLDAP (ITS# 4690) in case they can provide any further information: http://www.openldap.org/its/index.cgi/Incoming?id=4690;expression=ldap_get_values;statetype=-1 ------------------------------------------------------------------------ [2006-09-30 03:37:13] madcoder at gmail dot com Any other ideas? This problem is kind of a blocker for me right now... I still don't understand why it works fine inside valgrind, but it segfaults on its own and inside gdb. I know it's segfaulting because of the message "Cannot access memory at address 0x55a0bfe0", so the for loop checking vals[i] obviously fails. But what steps can I take to debug this further? It could be a problem in openldap, since the line in php's ldap.c just before it calls the openldap function 'ldap_count_values' is ldap_get_values(), which is what is returning the memory address of 0x55a0bfe0. But if it were in fact a problem with openldap, would the cli ldapsearch fail as well? ------------------------------------------------------------------------ [2006-09-26 11:08:50] madcoder at gmail dot com I've tried, but the program doesn't segfault, so it exits normally. I'm not very experienced with gdb, so I'm not sure how to give it a breakpoint of ldap_count_values (I tried 'break ldap_count_values' and 'break ldap_count_values()', and it doesn't break). It does still return the information as expected. ------------------------------------------------------------------------ [2006-09-26 10:57:53] [EMAIL PROTECTED] Is it possible to perform the same actions using ldapsearch utility in console? ------------------------------------------------------------------------ [2006-09-26 10:43:23] madcoder at gmail dot com Program received signal SIGSEGV, Segmentation fault. 0x00002af2b2e5f0ab in ldap_count_values (vals=0x55a07f90) at getvalues.c:153 153 for ( i = 0; vals[i] != NULL; i++ ) (gdb) p vals $1 = (char **) 0x55a07f90 (gdb) p 0 $2 = 0 (gdb) p vals[0] Cannot access memory at address 0x55a07f90 The memory address is the same. Can't access memory? It seems like its a problem in php's ldap_get_entries still (or further up the stack) because ldap_count_entries(), which calls the same function, works fine and returns '1'. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/38819 -- Edit this bug report at http://bugs.php.net/?id=38819&edit=1