OID 11g version
We have an administrative screen which is used for maintaining the LDAP groups (its uniquemembers) and users.
When user does LDAP related activities (like creating /adding new groups, adding / removing uniquemembers from existing groups), we do the following steps to establish the LDAP server connection and then impersonate as logged in user.
1. Create an LDAP context using principal 'cn=orcladmin'
Hashtable env = new Hashtable();
env.put(Context.INITIAL\_CONTEXT\_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY\_AUTHENTICATION, "simple");
env.put(Context.SECURITY\_PRINCIPAL, "cn=orcladmin");
env.put(Context.SECURITY\_CREDENTIALS, adminPassword);
env.put(Context.PROVIDER\_URL, ldapServer);
LdapContext ctx;
ctx = new InitialLdapContext(env, null);
2. Setup a proxy authentication to identify / audit the actual application logged in user activities
Control ctls\[\] = { new ProxyControl() };
ctx.addToEnvironment(Context.SECURITY\_PRINCIPAL,\<logged in user's dn>);
ctx.addToEnvironment(Context.SECURITY\_CREDENTIALS, "");
ctx.reconnect(ctls);
ProxyControl Class
package test;
import javax.naming.ldap.Control;
public class ProxyControl implements Control {
public byte\[\] getEncodedValue() {
return null;
}
public String getID() {
return "2.16.840.1.113894.1.8.1";
}
public boolean isCritical() {
return false;
}
}
Reference https://docs.oracle.com/cd/E25178_01/oid.1111/e10186/ext_ldap.htm Section 3.3
ISSUE
When user does bulk operations (a sequence of updations in LDAP like adding multiple uniquemembers, creating multiple groups etc..) we are observing that the oidldapd.exe component crashes and recovers / revives by itself in some time.

NOTE It has also been observed that this issue happens only when we perform #2 mentioned above.
Do you see anything wrong in the way the Proxying is implemented or the Controls are being used?