{"action":"created","issue":{"url":"https://api.github.com/repos/typetools/checker-framework/issues/1408","repository_url":"https://api.github.com/repos/typetools/checker-framework","labels_url":"https://api.github.com/repos/typetools/checker-framework/issues/1408/labels{/name}","comments_url":"https://api.github.com/repos/typetools/checker-framework/issues/1408/comments","events_url":"https://api.github.com/repos/typetools/checker-framework/issues/1408/events","html_url":"https://github.com/typetools/checker-framework/issues/1408","id":243814157,"number":1408,"title":"Nullness Checker crash: AsSuperVisitor: type is not an erased subtype of supertype 7b","user":{"login":"wmdietlGC","id":25751919,"avatar_url":"https://avatars2.githubusercontent.com/u/25751919?v=4","gravatar_id":"","url":"https://api.github.com/users/wmdietlGC","html_url":"https://github.com/wmdietlGC","followers_url":"https://api.github.com/users/wmdietlGC/followers","following_url":"https://api.github.com/users/wmdietlGC/following{/other_user}","gists_url":"https://api.github.com/users/wmdietlGC/gists{/gist_id}","starred_url":"https://api.github.com/users/wmdietlGC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmdietlGC/subscriptions","organizations_url":"https://api.github.com/users/wmdietlGC/orgs","repos_url":"https://api.github.com/users/wmdietlGC/repos","events_url":"https://api.github.com/users/wmdietlGC/events{/privacy}","received_events_url":"https://api.github.com/users/wmdietlGC/received_events","type":"User","site_admin":false},"labels":[{"id":324385029,"url":"https://api.github.com/repos/typetools/checker-framework/labels/crash","name":"crash","color":"e11d21","default":false}],"state":"open","locked":false,"assignee":{"login":"smillst","id":13260174,"avatar_url":"https://avatars1.githubusercontent.com/u/13260174?v=4","gravatar_id":"","url":"https://api.github.com/users/smillst","html_url":"https://github.com/smillst","followers_url":"https://api.github.com/users/smillst/followers","following_url":"https://api.github.com/users/smillst/following{/other_user}","gists_url":"https://api.github.com/users/smillst/gists{/gist_id}","starred_url":"https://api.github.com/users/smillst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smillst/subscriptions","organizations_url":"https://api.github.com/users/smillst/orgs","repos_url":"https://api.github.com/users/smillst/repos","events_url":"https://api.github.com/users/smillst/events{/privacy}","received_events_url":"https://api.github.com/users/smillst/received_events","type":"User","site_admin":false},"assignees":[{"login":"smillst","id":13260174,"avatar_url":"https://avatars1.githubusercontent.com/u/13260174?v=4","gravatar_id":"","url":"https://api.github.com/users/smillst","html_url":"https://github.com/smillst","followers_url":"https://api.github.com/users/smillst/followers","following_url":"https://api.github.com/users/smillst/following{/other_user}","gists_url":"https://api.github.com/users/smillst/gists{/gist_id}","starred_url":"https://api.github.com/users/smillst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smillst/subscriptions","organizations_url":"https://api.github.com/users/smillst/orgs","repos_url":"https://api.github.com/users/smillst/repos","events_url":"https://api.github.com/users/smillst/events{/privacy}","received_events_url":"https://api.github.com/users/smillst/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/typetools/checker-framework/milestones/2","html_url":"https://github.com/typetools/checker-framework/milestone/2","labels_url":"https://api.github.com/repos/typetools/checker-framework/milestones/2/labels","id":1202751,"number":2,"title":"Critical","description":null,"creator":{"login":"mernst","id":121025,"avatar_url":"https://avatars2.githubusercontent.com/u/121025?v=4","gravatar_id":"","url":"https://api.github.com/users/mernst","html_url":"https://github.com/mernst","followers_url":"https://api.github.com/users/mernst/followers","following_url":"https://api.github.com/users/mernst/following{/other_user}","gists_url":"https://api.github.com/users/mernst/gists{/gist_id}","starred_url":"https://api.github.com/users/mernst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mernst/subscriptions","organizations_url":"https://api.github.com/users/mernst/orgs","repos_url":"https://api.github.com/users/mernst/repos","events_url":"https://api.github.com/users/mernst/events{/privacy}","received_events_url":"https://api.github.com/users/mernst/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":70,"state":"open","created_at":"2015-07-10T16:54:20Z","updated_at":"2017-07-18T19:47:03Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2017-07-18T18:46:33Z","updated_at":"2017-07-18T20:16:53Z","closed_at":null,"body":"An exception with a similar stack trace as #1398, but didn't get fixed by its fix in #1387.\r\n\r\nTake\r\n\r\n```java\r\nabstract class Crash7b {\r\n  interface Demo {}\r\n  interface SubDemo extends Demo {}\r\n\r\n  abstract <S> S foo(S p1, S p2);\r\n\r\n  abstract <T extends Demo> T bar(T p2);\r\n\r\n  SubDemo demo(SubDemo p) {\r\n    return foo(bar(p), p);\r\n  }\r\n}\r\n```\r\n\r\nRunning the Nullness Checker gives:\r\n\r\n```\r\nerror: AsSuperVisitor: type is not an erased subtype of supertype.\r\n  type: @Initialized @NonNull Demo\r\n  superType: @Initialized @NonNull SubDemo\r\n  Compilation unit: Crash7b.java\r\n  Exception: java.lang.Throwable; Stack trace: org.checkerframework.framework.source.SourceChecker.errorAbort(SourceChecker.java:727)\r\n  org.checkerframework.javacutil.ErrorReporter.errorAbort(ErrorReporter.java:41)\r\n  org.checkerframework.framework.type.AsSuperVisitor.errorTypeNotErasedSubtypeOfSuperType(AsSuperVisitor.java:155)\r\n  org.checkerframework.framework.type.AsSuperVisitor.visitDeclared_Declared(AsSuperVisitor.java:340)\r\n  org.checkerframework.framework.type.AsSuperVisitor.visitDeclared_Declared(AsSuperVisitor.java:29)\r\n  org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:308)\r\n  org.checkerframework.framework.type.visitor.AbstractAtmComboVisitor.visit(AbstractAtmComboVisitor.java:59)\r\n  org.checkerframework.framework.type.AsSuperVisitor.visit(AsSuperVisitor.java:86)\r\n  org.checkerframework.framework.type.AsSuperVisitor.asSuper(AsSuperVisitor.java:68)\r\n  org.checkerframework.framework.util.AnnotatedTypes.asSuper(AnnotatedTypes.java:131)\r\n  org.checkerframework.framework.type.DefaultTypeHierarchy.castedAsSuper(DefaultTypeHierarchy.java:1112)\r\n  org.checkerframework.framework.type.DefaultTypeHierarchy.visitDeclared_Declared(DefaultTypeHierarchy.java:485)\r\n  org.checkerframework.framework.type.DefaultTypeHierarchy.visitDeclared_Declared(DefaultTypeHierarchy.java:55)\r\n  org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:308)\r\n  org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:238)\r\n  org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:173)\r\n  org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:151)\r\n  org.checkerframework.common.basetype.BaseTypeVisitor.commonAssignmentCheck(BaseTypeVisitor.java:1814)\r\n  org.checkerframework.checker.nullness.NullnessVisitor.commonAssignmentCheck(NullnessVisitor.java:221)\r\n  org.checkerframework.common.basetype.BaseTypeVisitor.commonAssignmentCheck(BaseTypeVisitor.java:1781)\r\n  org.checkerframework.checker.nullness.NullnessVisitor.commonAssignmentCheck(NullnessVisitor.java:204)\r\n  org.checkerframework.common.basetype.BaseTypeVisitor.visitReturn(BaseTypeVisitor.java:1216)\r\n  org.checkerframework.common.basetype.BaseTypeVisitor.visitReturn(BaseTypeVisitor.java:160)\r\n  com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1390)\r\n  com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68)\r\n  org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:262)\r\n  org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:160)\r\n  com.sun.source.util.TreeScanner.scan(TreeScanner.java:91)\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/typetools/checker-framework/issues/comments/316184485","html_url":"https://github.com/typetools/checker-framework/issues/1408#issuecomment-316184485","issue_url":"https://api.github.com/repos/typetools/checker-framework/issues/1408","id":316184485,"user":{"login":"smillst","id":13260174,"avatar_url":"https://avatars1.githubusercontent.com/u/13260174?v=4","gravatar_id":"","url":"https://api.github.com/users/smillst","html_url":"https://github.com/smillst","followers_url":"https://api.github.com/users/smillst/followers","following_url":"https://api.github.com/users/smillst/following{/other_user}","gists_url":"https://api.github.com/users/smillst/gists{/gist_id}","starred_url":"https://api.github.com/users/smillst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smillst/subscriptions","organizations_url":"https://api.github.com/users/smillst/orgs","repos_url":"https://api.github.com/users/smillst/repos","events_url":"https://api.github.com/users/smillst/events{/privacy}","received_events_url":"https://api.github.com/users/smillst/received_events","type":"User","site_admin":false},"created_at":"2017-07-18T20:16:53Z","updated_at":"2017-07-18T20:16:53Z","body":"Fixed in #1387."}}
{"actor":{"display_login":"smillst"}}