tags:

views:

70

answers:

1

I am using the DITA Open Toolkit to transform XML content to have different tag names. But one of my XML documents is not transforming...

BUILD FAILED
C:\DITA-OT\build.xml:55: The following error occurred while executing this line:

C:\DITA-OT\build.xml:86: The following error occurred while executing this line:

java.lang.StackOverflowError

This error happens before processing is finished. So only the first 3/4 transforms. If I remove 1/4 of the content, the transform is able to finish. (I can remove any part, the more I remove the further in the document the transform gets so I do not think its invalid tags or anything like that).

Do I need to update my configuration to allow more resources to the Java process?

Or does anyone have any ideas of how to start troubleshooting this?

Thanks!

+1  A: 

You might consider tuning the stack size via JVM parameters. Type java -X at your console/terminal to see a list of them. In this case, you're probably most interested in changing the stack size: -Xss. For example, you might try java -Xss2048k. If you're on Linux, you may also end up having to change your OS thread stack size with ulimit. Typically, you would do this by adding something like ulimit -s 2048 to /etc/profile.

If this doesn't work, try filing a bug report at http://sourceforge.net/projects/dita-ot/ or contacting the authors.

Segphault
Thanks! Do you know how to get the current java stack size? I am running Windows XP 32 bit.
joe
320k in Java 1.6 -- from http://java.sun.com/docs/hotspot/HotSpotFAQ.html#threads_oom: "On Windows, the default thread stack size is read from the binary (java.exe). As of Java SE 6, this value is 320k in the 32-bit VM and 1024k in the 64-bit VM."
Segphault