On 20.12.2011 18:53, Darrell Esau wrote:
Hi all,

I'm using tomcat 6.0.18.  I've got an older app which, for logging, mostly
just prints stack traces to System.out.

When tomcat starts, any stack trace printed this way will print out fully
and be visible in catalina.out

However, after the server has been running some time, when those same
exceptions keep getting printed, they start to become truncated to a single
line of text, such as:

java.lang.ArrayIndexOutOfBoundsException


Is there some configuration setting that I can change to make it continue
to print out the full stack trace?

Yes :)

I stumbled over a similar situation some time ago and noticed a surprising feature in the HotSpot JVM. By default when the just in time compiler kicks in Code that has thrown exceptions a couple of time will be inlined in a way such that the stacks will no longer be generated (performance optimization).

If you really want to get the stacks in all cases, you can set the JVM start flag:

-XX:-OmitStackTraceInFastThrow

The default setting is -XX:+OmitStackTraceInFastThrow (note: default "+", but switch to "-" to always get the stacks).

Have fun!

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to