IBM Support

A Tivoli Directory Integrator Configuration file that contains a large number of schema items may result in errors when exporting the configuration file to the Default.Server and when using the tdisrvctl command's report function.

Troubleshooting


Problem

The attempt to export the TDI configuration file from the Configuration Editor directly to the server may result in a stack overflow error message. An attempt to report on the same configuration using tdisrvctl from the command line may result in a Java exception.

Symptom


The following error(s) may occur:

Unhandled event loop exception
java.lang.StackOverflowError

error unmarshalling return; nested exception is:
java.io.EOFException

Cause

These issues are related to the number of schema items in a Connector, within the configuration xml file. When TDI performs an export, the underlying XML document is "serialized" before being sent to the TDI server. When serializing, the default method is to follow pointers and serialize the objects. But, for schema items, when following the "next sibling" pointers, this can cause a stack overflow when there are large number of siblings.

The number of schema items that can produce this error is approximately 600 items. This is a limitation with TDI.

Environment

Tivoli Directory Integrator with default Java environment settings.

Diagnosing The Problem


The attempt to export the TDI configuration file from the Configuration Editor directly to the server may result in a stack overflow error message.

The <TDI Solution Directory>\workspace\.metadata\.log may contain the following error:

!ENTRY org.eclipse.ui 4 0 2013-01-28 08:34:05.921
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.StackOverflowError
at org.eclipse.swt.internal.win32.OS.GetLastActivePopup(Native Method)

An attempt to report on the same configuration using tdisrvctl from the command line result in a Java exception.

Command:

tdisrvctl.bat -h localhost -p <port> -K <jks file> -P <password> -T <jks file> -w <password>
-op report -c <config solution name> -l

Caused by: java.io.EOFExceptionnull java.io.ObjectInputStream$BlockDataInputStream.readFully(ObjectInputStream.java:2717)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1953)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888) java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)

Resolving The Problem

You may attempt to increase the stack size in the CE and the server, using the -Xss option.

The recommended work-around would be to delete the schema items in the connector prior to export.

To delete the schema items in the connector, go to the Input map tab of the Connector, click on one of the names in the schema, the rightmost table, then use "select all" (Ctrl+A) and "delete", and confirm. Save and close the AL before exporting successfully.

The schema items are mostly used by the developer in the CE, and can be read in again using the "Connect" button in the CE.

[{"Product":{"code":"SSCQGF","label":"Tivoli Directory Integrator"},"Business Unit":{"code":"BU008","label":"Security"},"Component":"General","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.1;7.1.1;7.2","Edition":"","Line of Business":{"code":"LOB24","label":"Security Software"}}]

Product Synonym

TDI CE tdisrvctl

Document Information

Modified date:
16 June 2018

UID

swg21623396