Full_Name: Michiel Visser
Version: 2.4.35
OS: Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (88.159.211.22)
Feature request:
MDB_SET_RANGE is an important option for me (I'm implementing a generic triple
store on top of MDB). But I also desire some additions:
1) let's call it MDB_SET_RANGE_INV: find key equal of smaller. In theory I could
also apply an inverted compare function, but this makes it counter-intuitive
('bigger' actually implying 'smaller'). And I understand I can also use
SET_RANGE, followed by a cursor-previous-traversal, but it would require extra
logic to check whether the key is already equal, which brings me to my second
point:
2) a way to see whether the returned key is equal (to the supplied key), to
avoid another call to get/cursor_get, or avoid a manual key compare.
Full_Name: Michiel Visser
Version: 2.4.35
OS: Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (88.159.211.22)
The MDB documentation must specify what is expected of MDB_cmp_func.
I assume it must return -1,0,1 depending on the order, similar to ansi compare
functions, but it is not trivial, nor all will know.
Full_Name: Michael Felt
Version: 2.4.32
OS: AIX 6.1 TL7
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (81.253.45.94)
built bdb 6.0.20
built openLDAP 2.4.32 using xlC v11
make test runs fine, then stops abruptly at test060
extract of failing test...
>>>>> Starting test060-mt-hot for bdb...
running defines.sh
Running slapadd to build slapd database...
Running slapindex to index slapd database...
Starting slapd on TCP/IP port 9011...
/data/prj/openldap-2.4.32/tests/../servers/slapd/slapd -s0 -f
/data/prj/openldap-2.4.32/tests/testrun/slapd.1.conf -h ldap://localhost:9011/
-d stats
Testing basic monitor search...
Monitor searches
Testing basic mt-hot search: 1 threads (1 x 50000) loops...
./progs/slapd-mtread -H ldap://localhost:9011/ -D cn=Manager,dc=example,dc=com
-w secret -e cn=Monitor -m 1 -L 1 -l 50000
Testing basic mt-hot search: 5 threads (1 x 10000) loops...
./progs/slapd-mtread -H ldap://localhost:9011/ -D cn=Manager,dc=example,dc=com
-w secret -e cn=Monitor -m 5 -L 1 -l 10000
Testing basic mt-hot search: 100 threads (5 x 100) loops...
./progs/slapd-mtread -H ldap://localhost:9011/ -D cn=Manager,dc=example,dc=com
-w secret -e cn=Monitor -m 100 -L 5 -l 100
slapd-mtread failed (1)!
>>>>> test060-mt-hot failed for bdb
(exit 1)
make: 1254-004 The error code from the last command is 1.
Stop.
make: 1254-004 The error code from the last command is 2.
Stop.
make: 1254-004 The error code from the last command is 2.
Stop.
AIX Level Info:
root@x094:[/data/prj/openldap-2.4.32]oslevel -s
6100-07-06-1241
############
Please excuse that I have no clue what this test means, or if it will stand in
the way of some basic setup of openLDAP as a server. However, since I am asking,
I am also promising to dig deeper with some assistance.
p.s. if I should have used a bug submission elsewhere, please forgive my
blindness. I did not find it first go around.
Michael
--On Thursday, July 18, 2013 9:15 PM +0000 kb9vqf(a)pearsoncomputing.net
wrote:
>> --On Thursday, July 18, 2013 4:47 PM +0000 kb9vqf(a)pearsoncomputing.net
> wrote:
>>
>>> Full_Name: Timothy Pearson
>>> Version: 2.4.35
>>> OS: Debian Wheezy
>>> URL: ftp://ftp.openldap.org/incoming/
>>> Submission from: (NULL) (131.156.2.26)
>>>
>>>
>>> slapd sporadically crashes in slapd_free_controls when syncrepl enabled
> and plugins are in use. The crash is caused by an invalid free in the
> slapi overlay; it only occurs on the provider in a syncrepl setup.
> This is the backtrace:
>>
>> Didn't you already report this in ITS#7636? Why are you opening an new
> ITS?
>>
>> --Quanah
>
> This is a different crash with a different cause and completely different
> backtrace. As far as I can tell there were two separate crashes related
> to syncrepl with slapi plugins enabled. The one I reported in ITS#7636
> was constant and easily reproducible, therefore it somewhat masked the
> crash I have reported in this bug report.
>
> Should the two reports be merged even though the causes and backtraces are
> different?
Nope, I just wanted to confirm it wasn't a duplicate. Thanks!
--Quanah
--
Quanah Gibson-Mount
Lead Engineer
Zimbra, Inc
--------------------
Zimbra :: the leader in open source messaging and collaboration
> --On Thursday, July 18, 2013 4:47 PM +0000 kb9vqf(a)pearsoncomputing.net
wrote:
>
>> Full_Name: Timothy Pearson
>> Version: 2.4.35
>> OS: Debian Wheezy
>> URL: ftp://ftp.openldap.org/incoming/
>> Submission from: (NULL) (131.156.2.26)
>>
>>
>> slapd sporadically crashes in slapd_free_controls when syncrepl enabled
and plugins are in use. The crash is caused by an invalid free in the
slapi overlay; it only occurs on the provider in a syncrepl setup.
This is the backtrace:
>
> Didn't you already report this in ITS#7636? Why are you opening an new
ITS?
>
> --Quanah
This is a different crash with a different cause and completely different
backtrace. As far as I can tell there were two separate crashes related
to syncrepl with slapi plugins enabled. The one I reported in ITS#7636
was constant and easily reproducible, therefore it somewhat masked the
crash I have reported in this bug report.
Should the two reports be merged even though the causes and backtraces are
different?
--On Thursday, July 18, 2013 4:47 PM +0000 kb9vqf(a)pearsoncomputing.net
wrote:
> Full_Name: Timothy Pearson
> Version: 2.4.35
> OS: Debian Wheezy
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (131.156.2.26)
>
>
> slapd sporadically crashes in slapd_free_controls when syncrepl enabled
> and plugins are in use. The crash is caused by an invalid free in the
> slapi overlay; it only occurs on the provider in a syncrepl setup. This
> is the backtrace:
Didn't you already report this in ITS#7636? Why are you opening an new ITS?
--Quanah
--
Quanah Gibson-Mount
Lead Engineer
Zimbra, Inc
--------------------
Zimbra :: the leader in open source messaging and collaboration
Full_Name: Timothy Pearson
Version: 2.4.35
OS: Debian Wheezy
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (131.156.2.26)
slapd sporadically crashes in slapd_free_controls when syncrepl enabled and
plugins are in use. The crash is caused by an invalid free in the slapi
overlay; it only occurs on the provider in a syncrepl setup. This is the
backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe1536700 (LWP 24523)]
*__GI___libc_free (mem=0x18) at malloc.c:3709
3709 malloc.c: No such file or directory.
(gdb)
(gdb) bt
#0 *__GI___libc_free (mem=0x18) at malloc.c:3709
#1 0x00007ffff7974d01 in ber_memfree_x (p=0x18, ctx=0x0) at
../../../../libraries/liblber/memory.c:152
#2 0x00005555555c3003 in slap_free_ctrls (op=0x555555ef0c60,
ctrls=0x555555ef2570) at ../../../../servers/slapd/controls.c:569
#3 0x00005555555a41e5 in slap_send_search_entry (op=0x555555ef0c60,
rs=0x7fffe1535a40) at ../../../../servers/slapd/result.c:1476
#4 0x00007ffff1e4c465 in hdb_search (op=0x555555ef0c60, rs=0x7fffe1535a40) at
search.c:1014
#5 0x00005555555ff1c6 in overlay_op_walk (op=0x555555ef0c60, rs=0x7fffe1535a40,
which=op_search, oi=0x5555559e5e70, on=0x0) at
../../../../servers/slapd/backover.c:671
#6 0x00007ffff63bfe5a in slapi_op_func (op=0x555555ef0c60, rs=0x7fffe1535a40)
at ../../../../../servers/slapd/slapi/slapi_overlay.c:650
#7 0x00005555555ff18a in overlay_op_walk (op=op@entry=0x555555ef0c60,
rs=0x7fffe1535a40, which=op_search, oi=0x5555559e5e70, on=0x5555559e6a60) at
../../../../servers/slapd/backover.c:661
#8 0x00005555555ff31b in over_op_func (op=0x555555ef0c60, rs=<optimized out>,
which=<optimized out>) at ../../../../servers/slapd/backover.c:723
#9 0x0000555555594641 in fe_op_search (op=0x555555ef0c60, rs=0x7fffe1535a40) at
../../../../servers/slapd/search.c:402
#10 0x0000555555593f06 in do_search (op=0x555555ef0c60, rs=0x7fffe1535a40) at
../../../../servers/slapd/search.c:247
#11 0x0000555555591961 in connection_operation (ctx=ctx@entry=0x7fffe1535bd0,
arg_v=arg_v@entry=0x555555ef0c60) at
../../../../servers/slapd/connection.c:1150
#12 0x0000555555591c84 in connection_read_thread (ctx=0x7fffe1535bd0,
argv=<optimized out>) at ../../../../servers/slapd/connection.c:1286
#13 0x00007ffff7b8dfbb in ldap_int_thread_pool_wrapper (xpool=0x55555590a2e0) at
../../../../libraries/libldap_r/tpool.c:688
#14 0x00007ffff5d79b50 in start_thread (arg=<optimized out>) at
pthread_create.c:304
#15 0x00007ffff5ac3a7d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()
(gdb)
This patch fixes the problem:
--- servers/slapd/slapi/slapi_overlay.c
+++ servers/slapd/slapi/slapi_overlay.c
@@ -454,11 +454,11 @@
n_slapi_ctrls = slapi_int_count_controls( slapi_ctrls );
n_rs_ctrls = slapi_int_count_controls( rs->sr_ctrls );
- slapi_pblock_set( pb, SLAPI_X_OLD_RESCONTROLS, (void *)rs->sr_ctrls );
-
if ( n_slapi_ctrls == 0 )
return LDAP_SUCCESS; /* no SLAPI controls */
+ slapi_pblock_set( pb, SLAPI_X_OLD_RESCONTROLS, (void *)rs->sr_ctrls );
+
ctrls = (LDAPControl **) op->o_tmpalloc(
( n_slapi_ctrls + n_rs_ctrls + 1 ) * sizeof(LDAPControl *),
op->o_tmpmemctx );
--On Friday, July 12, 2013 3:13 PM +0000 jeremy.hustache(a)netasq.com wrote:
> Full_Name: jeremy hustache
> Version: 2.4.31
> OS: FreeBSD
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (46.218.228.130)
The ITS system is for reporting bugs, not asking questions. Please direct
your questions to openldap-technical(a)openldap.org. This ITS will be closed.
--Quanah
--
Quanah Gibson-Mount
Sr. Member of Technical Staff
Zimbra, Inc
A Division of VMware, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration
Full_Name: jeremy hustache
Version: 2.4.31
OS: FreeBSD
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (46.218.228.130)
I want to use ldap_simple_bind completely asynchronously (for the connect level
and bind request).
My code is the following:
ldap_set_option(ld, LDAP_OPT_CONNECT_ASYNC, LDAP_OPT_ON);
rc = ldap_simple_bind(ld, user, password);
I set also options LDAP_OPT_NETWORK_TIMEOUT before calling ldap_simple_bind.
rc is still equal to -1 and ldap_err2string(rc) returns "Can't contact LDAP
server"
If I call ldap_simple_bind without calling previously ldap_set_option(ld,
LDAP_OPT_CONNECT_ASYNC, LDAP_OPT_ON), rc is successful.
So can I use ldap_opt_connect_async in this case ?