How can I reproduce EXCEPTION_STACK_OVERFLOW error in Java
Asked Answered
H

3

12

How can I reproduce EXCEPTION_STACK_OVERFLOW error in Java.

PS: I am not talking of StackOverflowError Error in Java which gracefully shuts the JVM. I am talking of EXCEPTION_STACK_OVERFLOW in error.log which cause JVM to crash.

Hafiz answered 8/7, 2011 at 11:9 Comment(3)
please double check your PS, I guess there's a tiny not missing in between "am" and "talking" ...Benzidine
Most EXCEPTION_STACK_OVERFLOW errors I found so far happen in native code outside the JVM... If there was one inside, it would be a bug and to be fixed.Benzidine
Not exact answer, but somehwat is there at https://mcmap.net/q/40894/-how-do-you-crash-a-jvmHafiz
B
9

Most EXCEPTION_STACK_OVERFLOW errors I found so far happen in native code outside the JVM. A crash inside the JVM is worth a bug report and will be fixed. Or are you in need of an (unknown) exploit?

So the easist and most reliable way would be to write a native library with some code that causes the JVM to crash and call that with JNI.

(general answer, I actually don't know how to do it exactly. Can't be done with java code only ;) )

Benzidine answered 8/7, 2011 at 11:27 Comment(1)
+1. I can do +1 only but wanted to do +100 for confirming my understanding. Most of the others has mentioned about StackOverFlowError!Hafiz
K
4

Blow stack:

public static void main(String[] args) {
    main(null);
}

Blow heap:

public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
    while(true) list.add(new String("boom"));
}
Katiekatina answered 8/7, 2011 at 11:11 Comment(1)
None of the above would cause JVM crash. First one will cause StackOverflowError and second would cause OutOfMemoryError.Hafiz
W
4
public static void stackoverflow()
{
     stackoverflow();
}

Call it, and enjoy :D

Wayzgoose answered 8/7, 2011 at 11:12 Comment(1)
This would cause StackOverflowError and not JVM crash!Hafiz

© 2022 - 2024 — McMap. All rights reserved.