You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following example, which contains a raw type in an intersection type bound, causes the Checker Framework to run out of stack. I tried increasing the stack limit to -Xss10m and got the same StackOverflowError.
./checker-framework-3.8.0/checker/bin/javac -processor Nullness T.java
error: SourceChecker.typeProcess: unexpected Throwable (StackOverflowError) while processing T.java
; The Checker Framework crashed. Please report the crash.
Compilation unit: T.java
Last visited tree at line 1 column 1:
abstract class T {
Exception: java.lang.StackOverflowError; java.lang.StackOverflowError
at jdk.compiler/com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1327)
at jdk.compiler/com.sun.tools.javac.code.Symbol.apiComplete(Symbol.java:649)
at jdk.compiler/com.sun.tools.javac.code.Type$ClassType.getKind(Type.java:1145)
at jdk.compiler/com.sun.tools.javac.model.JavacTypes.getWildcardType(JavacTypes.java:223)
at org.checkerframework.framework.type.BoundsInitializer.getUpperBoundAsWildcard(BoundsInitializer.java:142)
at org.checkerframework.framework.type.BoundsInitializer.access$300(BoundsInitializer.java:46)
at org.checkerframework.framework.type.BoundsInitializer$InitializerVisitor.getJavaType(BoundsInitializer.java:685)
at org.checkerframework.framework.type.BoundsInitializer$InitializerVisitor.initializeTypeArgs(BoundsInitializer.java:626)
at org.checkerframework.framework.type.BoundsInitializer$InitializerVisitor.visitDeclared(BoundsInitializer.java:360)
at org.checkerframework.framework.type.BoundsInitializer$InitializerVisitor.visitDeclared(BoundsInitializer.java:278)
at org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedDeclaredType.accept(AnnotatedTypeMirror.java:907)
at org.checkerframework.framework.type.BoundsInitializer$InitializerVisitor.visit(BoundsInitializer.java:348)
at org.checkerframework.framework.type.BoundsInitializer$InitializerVisitor.visitIntersection(BoundsInitializer.java:382)
at org.checkerframework.framework.type.BoundsInitializer$InitializerVisitor.visitIntersection(BoundsInitializer.java:278)
at org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedIntersectionType.accept(AnnotatedTypeMirror.java:2100)
at org.checkerframework.framework.type.BoundsInitializer$InitializerVisitor.visit(BoundsInitializer.java:348)
at org.checkerframework.framework.type.BoundsInitializer$InitializerVisitor.initializeUpperBound(BoundsInitializer.java:526)
at org.checkerframework.framework.type.BoundsInitializer.initializeBounds(BoundsInitializer.java:178)
at org.checkerframework.framework.type.BoundsInitializer.initializeTypeArgs(BoundsInitializer.java:117)
at org.checkerframework.framework.type.AnnotatedTypeMirror$AnnotatedDeclaredType.getTypeArguments(AnnotatedTypeMirror.java:962)
at org.checkerframework.framework.util.element.TypeDeclarationApplier.extractAndApply(TypeDeclarationApplier.java:121)
at org.checkerframework.framework.util.element.TypeDeclarationApplier.apply(TypeDeclarationApplier.java:23)
at org.checkerframework.framework.type.ElementAnnotationApplier.applyInternal(ElementAnnotationApplier.java:132)
at org.checkerframework.framework.type.ElementAnnotationApplier.apply(ElementAnnotationApplier.java:78)
at org.checkerframework.framework.type.TypeFromClassVisitor.visitClass(TypeFromClassVisitor.java:19)
at org.checkerframework.framework.type.TypeFromClassVisitor.visitClass(TypeFromClassVisitor.java:12)
The text was updated successfully, but these errors were encountered:
The following example, which contains a raw type in an intersection type bound, causes the Checker Framework to run out of stack. I tried increasing the stack limit to
-Xss10m
and got the sameStackOverflowError
.The text was updated successfully, but these errors were encountered: