Skip navigation

Tag Archives: java jni stack overflow c++ sun

when calling java from a native thread via jni you may run into a synthetic stack overflow exception thrown by the jvm leading to a jvm crash. This may happen if the native’s thread remaining stack size is lower (stack grows downwards) than the reserved stack size defined by the jvm’s options -XXStackYellowPages -XXStackRedPages -XXStackShadowPages. Obviously the native thread doesn’t know of this constraint so it grows its stack until the limit and you may run into troubles if you’re allocating big arrays on the stack.
To solve this issue you may either increase the native thread stack size or decrease the amount of pages reserved by the jvm by tweaking those parameters above.