#38819 [Opn]: segfault in ldap_get_entries()
| From: | madcoder at gmail dot com | Date: | Sun, 01 Oct 2006 08:16:08 +0000 |
| Subject: | #38819 [Opn]: segfault in ldap_get_entries() | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-102925@lists.php.net to get a copy of this message | ||
ID: 38819
User updated by: madcoder at gmail dot com
Reported By: madcoder at gmail dot com
Status: Open
Bug Type: LDAP related
-Operating System: 2.6.15-gentoo linux amd64
+Operating System: 2.6.17-gentoo linux amd64
PHP Version: 5.1.6
New Comment:
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
Previous Comments:
------------------------------------------------------------------------
[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] tony2001@php.net
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'.
------------------------------------------------------------------------
[2006-09-26 10:38:38] tony2001@php.net
And what is in vals[0] ?
(gdb) p vals[0]
------------------------------------------------------------------------
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