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.

Technote (troubleshooting)


Problem(Abstract)


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 Alias/Synonym

TDI CE tdisrvctl

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

IBM Security Directory Integrator
General

Software version:

7.1, 7.1.1

Operating system(s):

All Platforms

Reference #:

1623396

Modified date:

2013-01-28

Translate my page

Machine Translation

Content navigation