Hi!
I'm trying to script a reconfiguration of out OpenLDAP servers, also changing the replication details. After dropping the old syncrepl overlay, I tried to add a new one like this: dn: olcOverlay={0}syncprov,olcDatabase={0}config,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig
I deliberately did not add more specific attributes, because I wanted to add them later. However I forgot to set olcOverlay.
The point is that both, ldapmodify and slapd become unresponsive using that LDIF, at least when provided as ldapmodify -Y EXTERNAL -H ldapi:/// <<LDIF ... LDIF
Is this a bug?
Seen in OpenLDAP 2.5 provided by SLES15 SP6. From a coredump I forced, I see that the threads are all waiting, using one of these: __pthread_clockjoin_ex pthread_cond_wait __pthread_clockjoin_ex
Kind regards, Ulrich Windl
Hi!
Updates:
1. Even when I add the missing "olcOverlay: {0}syncprov" it does not change a thing 2. When using slapmodify instead of ldapmodify to do the change offline, it succeeds and slapd starts after that 3. Adding a syncprov overlay to another database online also worked.
Kind regards, Ulrich Windl
From: Windl, Ulrich u.windl@ukr.de Sent: Thursday, April 3, 2025 10:52 AM To: openldap-technical@openldap.org Subject: [EXT] Adding syncprov overlay to cn=config seems to freeze the server
Hi!
I'm trying to script a reconfiguration of out OpenLDAP servers, also changing the replication details. After dropping the old syncrepl overlay, I tried to add a new one like this: dn: olcOverlay={0}syncprov,olcDatabase={0}config,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig
I deliberately did not add more specific attributes, because I wanted to add them later. However I forgot to set olcOverlay.
The point is that both, ldapmodify and slapd become unresponsive using that LDIF, at least when provided as ldapmodify -Y EXTERNAL -H ldapi:/// <<LDIF ... LDIF
Is this a bug?
Seen in OpenLDAP 2.5 provided by SLES15 SP6. From a coredump I forced, I see that the threads are all waiting, using one of these: __pthread_clockjoin_ex pthread_cond_wait __pthread_clockjoin_ex
Kind regards, Ulrich Windl
openldap-technical@openldap.org