Bidirectional eDirectory Driver Fails to Start: EDIRDrvTrustManager$WrappedException

  • 7022559
  • 16-Jan-2018
  • 17-Jan-2018

Environment


Identity Manager 4.x
Identity Manager Driver - Bidirectional eDirectory

Situation

The Linux server had experienced file corruption on the volume, and a repair was needed.
After performing the repair and getting the Linux server back up and running.   All drivers would start except for a Bidirectional eDirectory driver.

When attempting to start the Bidirectional eDirectory driver the following error is received.

[01/16/18 06:09:24.636]:BiDir-eDir - denchris5 ST:BiDir-eDir - denchris5: OpenLDAPConnection - Connect to the server
[01/16/18 06:09:24.708]:BiDir-eDir - denchris5 ST:
DirXML Log Event -------------------
     Driver:   \DENCHRIS6-TREE\mountain\DriverSet\BiDir-eDir - denchris5
     Channel:  Subscriber
     Status:   Error
     Message:  Code(-9010) An exception occurred: java.lang.StackOverflowError
    at com.novell.nds.dirxml.driver.edir.EDIRDrvTrustManager$WrappedException.getCause(EDIRDrvTrustManager.java:374)

Resolution

Look in the /var/opt/novell/eDirectory/data/dib directory and see if there is a
eDir2eDir-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.keystore file in there.  

If so, delete the file, then the Bidirectional eDirectory driver should start up.

USE EXTREME CAUTION REMOVING FILES FROM THE /var/opt/novell/eDirectory/data/dib DIRECTORY!!!

Cause

By default the Bidirectional eDirectory driver is configured to use SSL automatically.   (Properties of the driver, Driver Configuration, Driver Parmeters section, Driver Settings).   Each time the Bidirectional eDirectory driver starts, it creates a SSL LDAP connection to the eDirectory server in the connected tree.   During the initial connection the SSL Certificate information is read from the connected server and placed in a .keystore file on the local server running the Bidirectional eDirectory driver.   This can be seen in a trace level 3 of the driver startup.

[01/16/18 06:08:29.283]:BiDir-eDir - denchris5 ST:BiDir-eDir - denchris5: Cleaning up auto keystore : eDir2eDir-2B597519-5C70-4bdd-9EA6-1975592B705C.keystore

When the driver is shutdown.   The keystore file created gets automatically deleted.
Then the process repeats itself during the next startup of the driver.

If the file exists and is corrupted some how, such as being empty or containing other corruption.   A error will occur.
An exception occurred: java.lang.StackOverflowError at com.novell.nds.dirxml.driver.edir.EDIRDrvTrustManager$WrappedException.getCause(EDIRDrvTrustManager.java:374

Additional Information

The filename the keystore is stored in is based upon the GUID of the bidirectional eDirectory driver object, in a jumbled order. 

Example:
Driver object GUID:  1975592B705CDD4B9EA61975592B705C

Keystore filename: eDir2eDir-2B597519-5C70-4bdd-9EA6-1975592B705C.keystore