Skip to content

Instantly share code, notes, and snippets.

@danielribeiro
Forked from etorreborre/gist:1387113
Created November 23, 2011 02:04
Show Gist options
  • Save danielribeiro/1387721 to your computer and use it in GitHub Desktop.
Save danielribeiro/1387721 to your computer and use it in GitHub Desktop.
An example of a non-terminating compilation with javac
interface Pong<T> {}
class Ping<T> implements Pong<Pong<? super Ping<Ping<T>>>> {
static void Ping() {
Pong<? super Ping<Long>> Ping = new Ping<Long>();
}
}
> javac Ping.java
The system is out of resources.
Consult the following stack trace for details.
java.lang.StackOverflowError
at com.sun.tools.javac.code.Type$ClassType.accept(Type.java:568)
at com.sun.tools.javac.code.Types$UnaryVisitor.visit(Types.java:3294)
at com.sun.tools.javac.code.Types$23.visitClassType(Types.java:2618)
at com.sun.tools.javac.code.Types$23.visitClassType(Types.java:2605)
at com.sun.tools.javac.code.Type$ClassType.accept(Type.java:568)
at com.sun.tools.javac.code.Types$UnaryVisitor.visit(Types.java:3294)
at com.sun.tools.javac.code.Types$23.visitClassType(Types.java:2618)
at com.sun.tools.javac.code.Types$23.visitClassType(Types.java:2605)
at com.sun.tools.javac.code.Type$ClassType.accept(Type.java:568)
at com.sun.tools.javac.code.Types$UnaryVisitor.visit(Types.java:3294)
at com.sun.tools.javac.code.Types$23.visitClassType(Types.java:2618)
at com.sun.tools.javac.code.Types$23.visitClassType(Types.java:2605)
at com.sun.tools.javac.code.Type$ClassType.accept(Type.java:568)
at com.sun.tools.javac.code.Types$UnaryVisitor.visit(Types.java:3294)
at com.sun.tools.javac.code.Types$23.visitClassType(Types.java:2618)
at com.sun.tools.javac.code.Types$23.visitClassType(Types.java:2605)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment