Status Update
Comments
je...@google.com <je...@google.com>
ga...@google.com <ga...@google.com> #2
One stacktrace from #1 looks a bit suspicious though. Tor, what do you think about this?
at com.intellij.openapi.util.RecursionManager$1.currentStack(RecursionManager.java:144)
at com.intellij.psi.PsiCapturedWildcardType.isCapture(PsiCapturedWildcardType.java:61)
at com.intellij.psi.util.PsiUtil.equalOnEquivalentClasses(PsiUtil.java:687)
at com.intellij.psi.PsiClassType.equals(PsiClassType.java:119)
at com.intellij.psi.util.TypeConversionUtil.isAssignable(TypeConversionUtil.java:724)
at com.intellij.psi.util.TypeConversionUtil.isAssignable(TypeConversionUtil.java:717)
at com.intellij.psi.util.TypeConversionUtil.isAssignable(TypeConversionUtil.java:713)
at com.intellij.psi.PsiType.isAssignableFrom(PsiType.java:132)
at com.intellij.psi.impl.source.resolve.graphInference.FunctionalInterfaceParameterizationUtil.getNonWildcardParameterization(FunctionalInterfaceParameterizationUtil.java:216)
at com.intellij.psi.impl.source.resolve.graphInference.FunctionalInterfaceParameterizationUtil.getGroundTargetType(FunctionalInterfaceParameterizationUtil.java:72)
at com.intellij.psi.impl.source.resolve.graphInference.FunctionalInterfaceParameterizationUtil.getGroundTargetType(FunctionalInterfaceParameterizationUtil.java:61)
at com.intellij.psi.impl.source.tree.java.PsiLambdaExpressionImpl.getGroundTargetType(PsiLambdaExpressionImpl.java:254)
at com.intellij.psi.impl.source.PsiParameterImpl.getLambdaParameterType(PsiParameterImpl.java:59)
at com.intellij.psi.impl.source.PsiParameterImpl.getType(PsiParameterImpl.java:144)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$TypeEvaluator.fun(PsiReferenceExpressionImpl.java:417)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$TypeEvaluator.fun(PsiReferenceExpressionImpl.java:391)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.getType(PsiReferenceExpressionImpl.java:458)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:317)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:329)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:281)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:188)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1070/1482980653.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:375)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:147)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:142)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:41)
at com.intellij.psi.impl.source.tree.java.PsiExpressionListImpl.getExpressionTypes(PsiExpressionListImpl.java:74)
at com.intellij.psi.scope.processor.MethodCandidatesProcessor.getExpressionTypes(MethodCandidatesProcessor.java:106)
at com.intellij.psi.scope.processor.MethodCandidatesProcessor.access$000(MethodCandidatesProcessor.java:35)
at com.intellij.psi.scope.processor.MethodCandidatesProcessor$VarargsAwareMethodCandidateInfo.getArgumentTypes(MethodCandidatesProcessor.java:164)
at com.intellij.psi.infos.MethodCandidateInfo.getApplicabilityLevelInner(MethodCandidateInfo.java:102)
at com.intellij.psi.infos.MethodCandidateInfo.getApplicabilityLevel(MethodCandidateInfo.java:116)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.captureReturnType(PsiMethodCallExpressionImpl.java:250)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.access$200(PsiMethodCallExpressionImpl.java:32)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.getResultType(PsiMethodCallExpressionImpl.java:216)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:175)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:142)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:41)
at com.intellij.psi.util.PsiUtil.getAccessObjectClass(PsiUtil.java:111)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierResult(PsiScopesUtil.java:486)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierType(PsiScopesUtil.java:453)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:359)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:329)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:281)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:188)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:202)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver$1.elementFinished(PsiReferenceExpressionImpl.java:227)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor$1.elementFinished(JavaRecursiveElementWalkingVisitor.java:35)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor$1.elementFinished(JavaRecursiveElementWalkingVisitor.java:32)
at com.intellij.util.WalkingState.next(WalkingState.java:80)
at com.intellij.util.WalkingState.walkChildren(WalkingState.java:61)
at com.intellij.util.WalkingState.elementStarted(WalkingState.java:52)
at com.intellij.psi.PsiWalkingState.elementStarted(PsiWalkingState.java:79)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor.visitElement(JavaRecursiveElementWalkingVisitor.java:41)
at com.intellij.psi.JavaElementVisitor.visitExpression(JavaElementVisitor.java:92)
at com.intellij.psi.JavaElementVisitor.visitCallExpression(JavaElementVisitor.java:176)
at com.intellij.psi.JavaElementVisitor.visitMethodCallExpression(JavaElementVisitor.java:172)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.accept(PsiMethodCallExpressionImpl.java:128)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolveAllQualifiers(PsiReferenceExpressionImpl.java:210)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:187)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:202)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver$1.elementFinished(PsiReferenceExpressionImpl.java:227)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor$1.elementFinished(JavaRecursiveElementWalkingVisitor.java:35)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor$1.elementFinished(JavaRecursiveElementWalkingVisitor.java:32)
at com.intellij.util.WalkingState.next(WalkingState.java:80)
at com.intellij.util.WalkingState.walkChildren(WalkingState.java:61)
at com.intellij.util.WalkingState.elementStarted(WalkingState.java:52)
at com.intellij.psi.PsiWalkingState.elementStarted(PsiWalkingState.java:79)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor.visitElement(JavaRecursiveElementWalkingVisitor.java:41)
at com.intellij.psi.JavaElementVisitor.visitExpression(JavaElementVisitor.java:92)
at com.intellij.psi.JavaElementVisitor.visitCallExpression(JavaElementVisitor.java:176)
at com.intellij.psi.JavaElementVisitor.visitMethodCallExpression(JavaElementVisitor.java:172)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.accept(PsiMethodCallExpressionImpl.java:128)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolveAllQualifiers(PsiReferenceExpressionImpl.java:210)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:187)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1070/1482980653.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:375)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:147)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:142)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:41)
at com.intellij.psi.util.PsiUtil.getAccessObjectClass(PsiUtil.java:111)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierResult(PsiScopesUtil.java:486)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierType(PsiScopesUtil.java:453)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:359)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:329)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:281)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:188)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1070/1482980653.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:375)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:147)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:142)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:41)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:317)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:329)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:281)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:188)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:202)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver$1.elementFinished(PsiReferenceExpressionImpl.java:227)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor$1.elementFinished(JavaRecursiveElementWalkingVisitor.java:35)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor$1.elementFinished(JavaRecursiveElementWalkingVisitor.java:32)
at com.intellij.util.WalkingState.next(WalkingState.java:80)
at com.intellij.util.WalkingState.walkChildren(WalkingState.java:61)
at com.intellij.util.WalkingState.elementStarted(WalkingState.java:52)
at com.intellij.psi.PsiWalkingState.elementStarted(PsiWalkingState.java:79)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor.visitElement(JavaRecursiveElementWalkingVisitor.java:41)
at com.intellij.psi.JavaElementVisitor.visitExpression(JavaElementVisitor.java:92)
at com.intellij.psi.JavaElementVisitor.visitCallExpression(JavaElementVisitor.java:176)
at com.intellij.psi.JavaElementVisitor.visitMethodCallExpression(JavaElementVisitor.java:172)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.accept(PsiMethodCallExpressionImpl.java:128)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolveAllQualifiers(PsiReferenceExpressionImpl.java:210)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:187)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1070/1482980653.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:375)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:147)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:142)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:41)
at com.intellij.psi.util.PsiUtil.getAccessObjectClass(PsiUtil.java:111)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierResult(PsiScopesUtil.java:486)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierType(PsiScopesUtil.java:453)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:359)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:329)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:281)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:188)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1070/1482980653.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:375)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:147)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:142)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:41)
at com.intellij.psi.util.PsiUtil.getAccessObjectClass(PsiUtil.java:111)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierResult(PsiScopesUtil.java:486)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierType(PsiScopesUtil.java:453)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:359)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:329)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:281)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:188)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1070/1482980653.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:375)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:147)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:142)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:41)
at com.intellij.psi.util.PsiUtil.getAccessObjectClass(PsiUtil.java:111)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierResult(PsiScopesUtil.java:486)
at com.intellij.psi.scope.util.PsiScopesUtil.processQualifierType(PsiScopesUtil.java:453)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:359)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:329)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:281)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:188)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1070/1482980653.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:375)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:147)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:142)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:41)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:317)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:329)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:281)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:188)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1070/1482980653.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:375)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:147)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:142)
at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:41)
at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:317)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:329)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:281)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:46)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:188)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:202)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver$1.elementFinished(PsiReferenceExpressionImpl.java:227)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor$1.elementFinished(JavaRecursiveElementWalkingVisitor.java:35)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor$1.elementFinished(JavaRecursiveElementWalkingVisitor.java:32)
at com.intellij.util.WalkingState.next(WalkingState.java:80)
at com.intellij.util.WalkingState.walkChildren(WalkingState.java:61)
at com.intellij.util.WalkingState.elementStarted(WalkingState.java:52)
at com.intellij.psi.PsiWalkingState.elementStarted(PsiWalkingState.java:79)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor.visitElement(JavaRecursiveElementWalkingVisitor.java:41)
at com.intellij.psi.JavaElementVisitor.visitExpression(JavaElementVisitor.java:92)
at com.intellij.psi.JavaElementVisitor.visitCallExpression(JavaElementVisitor.java:176)
at com.intellij.psi.JavaElementVisitor.visitMethodCallExpression(JavaElementVisitor.java:172)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.accept(PsiMethodCallExpressionImpl.java:128)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolveAllQualifiers(PsiReferenceExpressionImpl.java:210)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:187)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:176)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:202)
at com.intellij.psi.impl.source.resolve.ResolveCache$$Lambda$1070/1482980653.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:201)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:795)
at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:786)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:375)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.advancedResolve(PsiReferenceExpressionImpl.java:537)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.resolveMethodGenerics(PsiMethodCallExpressionImpl.java:52)
at com.intellij.psi.PsiDiamondType.getDiamondsAwareResolveResult(PsiDiamondType.java:204)
at com.intellij.codeInsight.ExceptionUtil.getUnhandledExceptions(ExceptionUtil.java:453)
at com.intellij.codeInsight.ExceptionUtil.getUnhandledExceptions(ExceptionUtil.java:442)
at com.intellij.codeInsight.ExceptionUtil.getOwnUnhandledExceptions(ExceptionUtil.java:421)
at com.intellij.codeInsight.ExceptionUtil$1.visitElement(ExceptionUtil.java:382)
at com.intellij.psi.JavaElementVisitor.visitExpression(JavaElementVisitor.java:92)
at com.intellij.psi.JavaElementVisitor.visitCallExpression(JavaElementVisitor.java:176)
at com.intellij.psi.JavaElementVisitor.visitMethodCallExpression(JavaElementVisitor.java:172)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.accept(PsiMethodCallExpressionImpl.java:128)
at com.intellij.psi.PsiWalkingState.visit(PsiWalkingState.java:70)
at com.intellij.psi.PsiWalkingState.visit(PsiWalkingState.java:27)
at com.intellij.util.WalkingState.walkChildren(WalkingState.java:65)
at com.intellij.util.WalkingState.elementStarted(WalkingState.java:52)
at com.intellij.psi.PsiWalkingState.elementStarted(PsiWalkingState.java:79)
at com.intellij.psi.JavaRecursiveElementWalkingVisitor.visitElement(JavaRecursiveElementWalkingVisitor.java:41)
at com.intellij.codeInsight.ExceptionUtil$1.visitElement(ExceptionUtil.java:383)
at com.intellij.psi.JavaElementVisitor.visitCodeBlock(JavaElementVisitor.java:56)
at com.intellij.psi.impl.source.tree.java.PsiCodeBlockImpl.accept(PsiCodeBlockImpl.java:212)
at com.intellij.codeInsight.ExceptionUtil.getUnhandledExceptions(ExceptionUtil.java:405)
at com.intellij.psi.impl.source.resolve.graphInference.constraints.CheckedExceptionCompatibilityConstraint.reduce(CheckedExceptionCompatibilityConstraint.java:110)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.reduceConstraints(InferenceSession.java:936)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.repeatInferencePhases(InferenceSession.java:919)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.processOneConstraint(InferenceSession.java:1396)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.proceedWithAdditionalConstraints(InferenceSession.java:1369)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.doInfer(InferenceSession.java:372)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.lambda$performGuardedInference$1(InferenceSession.java:310)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession$$Lambda$1314/1741111085.apply(Unknown Source)
at com.intellij.psi.ThreadLocalTypes.lambda$performWithTypes$0(ThreadLocalTypes.java:48)
at com.intellij.psi.ThreadLocalTypes$$Lambda$1226/724955612.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.psi.ThreadLocalTypes.performWithTypes(ThreadLocalTypes.java:48)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.performGuardedInference(InferenceSession.java:307)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.infer(InferenceSession.java:298)
at com.intellij.psi.impl.source.resolve.graphInference.InferenceSessionContainer.infer(InferenceSessionContainer.java:115)
at com.intellij.psi.impl.source.resolve.graphInference.PsiGraphInferenceHelper.inferTypeArguments(PsiGraphInferenceHelper.java:56)
at com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.inferTypeArguments(PsiResolveHelperImpl.java:193)
at com.intellij.psi.infos.MethodCandidateInfo.lambda$inferTypeArguments$10(MethodCandidateInfo.java:447)
at com.intellij.psi.infos.MethodCandidateInfo$$Lambda$1217/1816728919.compute(Unknown Source)
at com.intellij.psi.infos.MethodCandidateInfo.inferTypeArguments(MethodCandidateInfo.java:456)
at com.intellij.psi.infos.MethodCandidateInfo.inferTypeArguments(MethodCandidateInfo.java:415)
at com.intellij.psi.infos.MethodCandidateInfo.getSubstitutor(MethodCandidateInfo.java:351)
at com.intellij.psi.infos.MethodCandidateInfo.getSubstitutor(MethodCandidateInfo.java:338)
at com.intellij.psi.LambdaUtil.lambda$getSubstitutedType$2(LambdaUtil.java:443)
at com.intellij.psi.LambdaUtil$$Lambda$1424/1042693811.compute(Unknown Source)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:113)
at com.intellij.psi.LambdaUtil.getSubstitutedType(LambdaUtil.java:437)
at com.intellij.psi.LambdaUtil.getFunctionalInterfaceType(LambdaUtil.java:409)
at com.intellij.psi.impl.source.tree.java.PsiLambdaExpressionImpl.getFunctionalInterfaceType(PsiLambdaExpressionImpl.java:82)
at com.android.tools.lint.client.api.UElementVisitor$SuperclassPsiVisitor.visitLambdaExpression(UElementVisitor.kt:427)
at org.jetbrains.uast.ULambdaExpression$DefaultImpls.accept(ULambdaExpression.kt:44)
at org.jetbrains.uast.java.JavaULambdaExpression.accept(JavaULambdaExpression.kt:27)
at org.jetbrains.uast.internal.ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
at org.jetbrains.uast.UCallExpression$DefaultImpls.accept(UCallExpression.kt:103)
at org.jetbrains.uast.UCallExpressionEx$DefaultImpls.accept(UCallExpression.kt)
at org.jetbrains.uast.java.JavaUCallExpression.accept(javaUCallExpressions.kt:26)
at org.jetbrains.uast.UQualifiedReferenceExpression$DefaultImpls.accept(UQualifiedReferenceExpression.kt:48)
at org.jetbrains.uast.java.JavaUCompositeQualifiedExpression.accept(JavaUCompositeQualifiedExpression.kt:23)
at org.jetbrains.uast.UQualifiedReferenceExpression$DefaultImpls.accept(UQualifiedReferenceExpression.kt:47)
at org.jetbrains.uast.java.JavaUCompositeQualifiedExpression.accept(JavaUCompositeQualifiedExpression.kt:23)
at org.jetbrains.uast.UReturnExpression$DefaultImpls.accept(UReturnExpression.kt:36)
at org.jetbrains.uast.java.JavaUReturnExpression.accept(JavaUReturnExpression.kt:24)
at org.jetbrains.uast.internal.ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
at org.jetbrains.uast.UBlockExpression$DefaultImpls.accept(UBlockExpression.kt:35)
at org.jetbrains.uast.java.JavaUCodeBlockExpression.accept(JavaUCodeBlockExpression.kt:23)
at org.jetbrains.uast.UMethod$DefaultImpls.accept(UMethod.kt:55)
at org.jetbrains.uast.java.JavaUMethod.accept(JavaUMethod.kt:12)
at org.jetbrains.uast.internal.ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
at org.jetbrains.uast.UClass$DefaultImpls.accept(UClass.kt:73)
at org.jetbrains.uast.java.AbstractJavaUClass.accept(JavaUClass.kt:23)
at org.jetbrains.uast.internal.ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
at org.jetbrains.uast.UFile$DefaultImpls.accept(UFile.kt:97)
at org.jetbrains.uast.java.JavaUFile.accept(JavaUFile.kt:24)
at com.android.tools.lint.client.api.UElementVisitor$visitFile$2.run(UElementVisitor.kt:263)
at com.android.tools.lint.client.api.LintClient.runReadAction(LintClient.kt:1609)
at com.android.tools.lint.client.api.LintDriver$LintClientWrapper.runReadAction(LintDriver.kt:2185)
at com.android.tools.lint.client.api.UElementVisitor.visitFile(UElementVisitor.kt:261)
at com.android.tools.lint.client.api.LintDriver$visitJavaFiles$1.run(LintDriver.kt:1686)
at com.android.tools.lint.client.api.LintClient.runReadAction(LintClient.kt:1609)
at com.android.tools.lint.client.api.LintDriver$LintClientWrapper.runReadAction(LintDriver.kt:2185)
at com.android.tools.lint.client.api.LintDriver.visitJavaFiles(LintDriver.kt:1686)
at com.android.tools.lint.client.api.LintDriver.visitJavaFiles(LintDriver.kt:1653)
at com.android.tools.lint.client.api.LintDriver.checkJava(LintDriver.kt:1629)
at com.android.tools.lint.client.api.LintDriver.runFileDetectors(LintDriver.kt:1089)
at com.android.tools.lint.client.api.LintDriver.checkProject(LintDriver.kt:901)
at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.kt:422)
at com.android.tools.lint.LintCliClient.run(LintCliClient.java:238)
at com.android.tools.lint.gradle.LintGradleClient.run(LintGradleClient.java:261)
at com.android.tools.lint.gradle.LintGradleExecution.runLint(LintGradleExecution.java:305)
at com.android.tools.lint.gradle.LintGradleExecution.lintSingleVariant(LintGradleExecution.java:392)
at com.android.tools.lint.gradle.LintGradleExecution.analyze(LintGradleExecution.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.android.tools.lint.gradle.api.ReflectiveLintRunner.runLint(ReflectiveLintRunner.kt:38)
at com.android.build.gradle.tasks.LintBaseTask.runLint(LintBaseTask.java:114)
at com.android.build.gradle.tasks.LintPerVariantTask.lint(LintPerVariantTask.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:49)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:721)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:688)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:539)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:524)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:507)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:258)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:247)
at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
at org.gradle.internal.execution.steps.ExecuteStep$$Lambda$225/633278164.get(Unknown Source)
at java.util.Optional.orElseGet(Optional.java:267)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:63)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:153)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:67)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:41)
at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
at org.gradle.internal.execution.steps.SkipUpToDateStep$$Lambda$191/1194869039.apply(Unknown Source)
at java.util.Optional.map(Optional.java:215)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep$$Lambda$167/432710093.get(Unknown Source)
at java.util.Optional.orElseGet(Optional.java:267)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:174)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:166)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:374)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:361)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:354)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:340)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$$Lambda$156/517652035.execute(Unknown Source)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.lang.Thread.run(Thread.java:748)
fk...@gmail.com <fk...@gmail.com> #3
It seems that this issue is unrelated.
Project doesn't have separate `kotlin` source set, kotlin files are stored alongside java files in `java` source set and I can verify that these files were already analyzed by lint in AGP 3.5.2
> Can you check if increasing the heap size helps?
Sadly, it doesn't. I have following settings in gradle.properties: org.gradle.jvmargs=-Xms1024m -Xmx4096m but lintDebug task is still can't finish.
fk...@gmail.com <fk...@gmail.com> #4
I tried different workarounds to try and solve it:
1. Upgrading to AGP 4.0 alpha
2. Downgrading lint dependency via force("com.android.tools.lint:lint-gradle:26.5.0")
3. Removing some dependencies that provide custom lint checks (timber, rxlint)
But it doesn't help and lintDebug task hangs anyway.
Also it seems some lint checks cause this situation more often than others.
For example, if only "WrongViewCast" is enabled via check("WrongViewCast") then lintDebug task doesn't hang. However enabling only "OnClick" via check("OnClick") causes task to hang.
However I don't think that problem is caused by this one particular check because disabling it via disable("OnClick") doesn't help.
Is there is some way to get list of enabled checks that are being run during lintDebug task? This way it may be possible to try to disable them one by one to find ones that cause task to hang.
ga...@google.com <ga...@google.com> #5
Some of them are not enabled by default (i.e won't run unless you explicitly ask for them), but quite a few run by default.
Considering the issue seems to be deep in the PSI library, can you clone this repo:
In order to attach a debugger, run "./gradlew --no-daemon -Dorg.gradle.debug=true <lint_task>". This will wait for a debugger to connect on port 5005.
fk...@gmail.com <fk...@gmail.com> #6
From there I was able to find out which file was causing lint task to hang. I moved this code into sample project and removed references to real code or
replaced them with stubs.
Using sample project I can reproduce this issue in 100% cases.
Every time task "./gradlew lintDebug" takes around 7 minutes for incremental build.
Considering that project only enables single lint check and consists from 8 mostly empty files this seems too long.
In real project number of lint checks and classes will be greater and 7 minutes could turn into 70 which explains why task may appear as stuck.
Sample project:
Class in question that cause lint performance problem:
I have tried workaround using explicit anonymous class instead of lambda in real project and there problem was solved as well.
ga...@google.com <ga...@google.com> #7
Raluca, do you think this could be a PSI issue?
tn...@google.com <tn...@google.com> #8
tn...@google.com <tn...@google.com> #9
Thanks again for the bug report. This will be included in 4.0 beta1 (I'm not entirely sure when the cutoff date for the beta1 build was so it's either beta1 or beta2).
fk...@gmail.com <fk...@gmail.com> #10
da...@spotify.com <da...@spotify.com> #11
tn... ;) In your example that you gave jetbrains, ServerSettingsModelImpl
, it's also similarly fast if you don't use an anonymous class, but rather make the lambda types explicit, e.g. (User user, List<String> locales) ->
js...@twitter.com <js...@twitter.com> #12
tn...@google.com <tn...@google.com> #13
The fix is part of 4.0 canary 8 and later if switching to that is an option; it will be in beta soon. If not, one option is to use the workaround suggested by David in
...
repositories {
google()
jcenter()
}
dependencies {
if ("true" == System.getenv("LINT_CI_JOB")) {
// Running lint on the CI server. Not for release builds.
classpath "com.android.tools.build:gradle:4.0.0-alpha08"
} else {
classpath "com.android.tools.build:gradle:3.6.0-rc02"
}
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
Obviously for this your build would need to work on both versions (4.0-alpha08 and 3.6) so you'd need to for example use the latest Gradle version required by 4.0.
tn...@google.com <tn...@google.com> #14
ey...@gmail.com <ey...@gmail.com> #15
Not sure if this is related, but I've been using 3.6.0 RC and Lint is fine. I just tried with 4.0 Beta 1 and the run time more than doubled. I filed
dg...@lightricks.com <dg...@lightricks.com> #16
It is really important to put this in the list of known issues here:
Additionally it would be nice to have a workaround for this issue. I want to have view bindings. but this is not a must
Thanks
[Deleted User] <[Deleted User]> #17
tn...@google.com <tn...@google.com> #18
Yes, that was the fix for
da...@gmail.com <da...@gmail.com> #19
Now that 4.0 is out, I'm trying to update to this, but in a multi-module project I run the following command:
./gradlew ${module}:lint${flavor}Debug --debug
I get this as a continual output in the logcaat and the job never finishes:
${timeStamp} [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Completing Build operation 'Resolve files of :${module}:${flavor}DebugRuntimeClasspath'
${timeStamp} [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationExecutor] Build operation 'Resolve files of :${module}:${flavor}DebugRuntimeClasspath' completed
${timeStamp} [INFO] [org.gradle.api.internal.file.collections.DirectoryFileTree] file or directory '{$proectPath}/${dependentModule}/build/intermediates/lint_publish_jar/global/lint.jar', not found
${timeStamp} [INFO] [org.gradle.api.internal.file.collections.DirectoryFileTree] file or directory '${proectPath}/${dependentModule}/build/intermediates/lint_publish_jar/global/lint.jar', not found
${timeStamp} [org.gradle.api.internal.file.collections.DirectoryFileTree] file or directory '${proectPath}/${dependentModule}/build/intermediates/lint_publish_jar/global/lint.jar', not found
${timeStamp} [org.gradle.api.internal.file.collections.DirectoryFileTree] file or directory '${proectPath}/${dependentModule}/build/intermediates/lint_publish_jar/global/lint.jar', not found
${timeStamp} [org.gradle.api.internal.file.collections.DirectoryFileTree] file or directory '${proectPath}/${dependentModule}/build/intermediates/lint_publish_jar/global/lint.jar', not found
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager]
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
${timeStamp} [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
202
It just sits there and cycles thru and thru.
I should say that each ${dependentModule}
has lintChecks project(:customLint}
, but even if I remove the lintChecks
, it still get stuck in this loop.
Description
Version of Gradle Plugin: 3.6.0-beta04 (same with beta03)
Version of Gradle: 6.0 (but also reproducible with 5.6.3)
Version of Java: OpenJDK8 build 1.8.0_222-ga
OS: Linux desktop 5.3.8 #1-NixOS SMP Tue Oct 29 08:22:48 UTC 2019 x86_64 GNU/Linux
Steps to Reproduce:
1. Run ./gradlew lintDebug
Result:
Task doesn't complete (or at least it doesn't complete for 30+ minutes)
Expected result:
Lint task should take roughly same time as with AGP 3.5.2
Additional information:
With AGP 3.5.2 it usually takes about 5-6 minutes to complete lintDebug on this project.
However lintVitalRelease task completes fine even with AGP 3.6.0-beta04.
Also if we disable all checks and enable only single one for example
lintOptions {
check 'NewApi'
}
then lintDebug task completes in less than 1 minute regardless of AGP version.