Status Update
Comments
se...@google.com <se...@google.com> #2
A different error using 2.3.0-alpha04 (checked using gradlew core:dependencies).
Source code:
Circle CI build:
* What went wrong:
Execution failed for task ':core:lint'.
> Lint found errors in the project; aborting build.
Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
lintOptions {
abortOnError false
}
}
...
Errors found:
/home/circleci/code/core/src/main/java/com/github/shadowsocks/net/HttpsTest.kt: Error: Unexpected failure during lint analysis of HttpsTest.kt (this is a bug in lint or one of the libraries it depends on)
Message: org.jetbrains.kotlin.asJava.elements.KtLightMethodImpl cannot be cast to com.intellij.psi.PsiVariable
The crash seems to involve the detector androidx.lifecycle.lint.NonNullableMutableLiveDataDetector.
You can try disabling it with something like this:
android {
lintOptions {
disable "NullSafeMutableLiveData"
}
}
Stack: ClassCastException:NonNullableMutableLiveDataDetector.visitMethodCall(NonNullableMutableLiveDataDetector.kt:105)←UElementVisitor$DelegatingPsiVisitor.visitMethodCallExpression(UElementVisitor.kt:1079)←UElementVisitor$DelegatingPsiVisitor.visitCallExpression(UElementVisitor.kt:1059)←UCallExpression$DefaultImpls.accept(UCallExpression.kt:85)←UCallExpressionEx$DefaultImpls.accept(UCallExpression.kt:-1)←KotlinUSimpleReferenceExpression$KotlinAccessorCallExpression.accept(KotlinUSimpleReferenceExpression.kt:129)←KotlinUSimpleReferenceExpression.visitAccessorCalls(KotlinUSimpleReferenceExpression.kt:116)←KotlinUSimpleReferenceExpression.accept(KotlinUSimpleReferenceExpression.kt:83)
You can set environment variable LINT_PRINT_STACKTRACE=true to dump a full stacktrace to stdout. [LintError]
/home/circleci/code/core/src/main/java/com/github/shadowsocks/subscription/SubscriptionService.kt: Error: Unexpected failure during lint analysis of SubscriptionService.kt (this is a bug in lint or one of the libraries it depends on)
Message: org.jetbrains.kotlin.asJava.elements.KtLightMethodImpl cannot be cast to com.intellij.psi.PsiVariable
The crash seems to involve the detector androidx.lifecycle.lint.NonNullableMutableLiveDataDetector.
You can try disabling it with something like this:
android {
lintOptions {
disable "NullSafeMutableLiveData"
}
}
Stack: ClassCastException:NonNullableMutableLiveDataDetector.visitMethodCall(NonNullableMutableLiveDataDetector.kt:105)←UElementVisitor$DelegatingPsiVisitor.visitMethodCallExpression(UElementVisitor.kt:1079)←UElementVisitor$DelegatingPsiVisitor.visitCallExpression(UElementVisitor.kt:1059)←UCallExpression$DefaultImpls.accept(UCallExpression.kt:85)←UCallExpressionEx$DefaultImpls.accept(UCallExpression.kt:-1)←KotlinUSimpleReferenceExpression$KotlinAccessorCallExpression.accept(KotlinUSimpleReferenceExpression.kt:129)←KotlinUSimpleReferenceExpression.visitAccessorCalls(KotlinUSimpleReferenceExpression.kt:116)←KotlinUSimpleReferenceExpression.accept(KotlinUSimpleReferenceExpression.kt:83)
You can set environment variable LINT_PRINT_STACKTRACE=true to dump a full stacktrace to stdout. [LintError]
or...@gmail.com <or...@gmail.com> #3
That looks to still be using the previous version. Could you upload a minimal sample project using 2.3.0-alpha05 that reproduces your issue?
or...@gmail.com <or...@gmail.com> #4
The sample at #1 should be using 2.3.0-alpha05 out of the box. I do not have a minimal sample at the time, sorry.
se...@google.com <se...@google.com> #5
That sample was using lifecycle 2.2.0 when I opened it. Upgraded it to 2.3.0-alpha05 and got an ObsoleteLintCustomCheck which is being addressed in
Gonna close this as not reproducible, and once you get a chance to reproduce it, just upload it here and would be happy to take a look.
or...@gmail.com <or...@gmail.com> #6
Can you try this again:
Lint produced by Circle CI:
../../src/main/java/be/mygod/vpnhotspot/client/ClientViewModel.kt: Unexpected failure during lint analysis of ClientViewModel.kt (this is a bug in lint or one of the libraries it depends on)
Message: null cannot be cast to non-null type org.jetbrains.uast.UAnnotated
The crash seems to involve the detector androidx.lifecycle.lint.NonNullableMutableLiveDataDetector.
You can try disabling it with something like this:
android {
lintOptions {
disable "NullSafeMutableLiveData"
}
}
Stack: TypeCastException:NonNullableMutableLiveDataDetectorKt.isNullable(NonNullableMutableLiveDataDetector.kt:197)
←NonNullableMutableLiveDataDetector.visitMethodCall(NonNullableMutableLiveDataDetector.kt:133)
←UElementVisitor$DelegatingPsiVisitor.visitMethodCallExpression(UElementVisitor.kt:1079)
←UElementVisitor$DelegatingPsiVisitor.visitCallExpression(UElementVisitor.kt:1059)
←KotlinUFunctionCallExpression.accept(KotlinUFunctionCallExpression.kt:205)
←UQualifiedReferenceExpression$DefaultImpls.accept(UQualifiedReferenceExpression.kt:34)
←KotlinUQualifiedReferenceExpression.accept(KotlinUQualifiedReferenceExpression.kt:27)
←ImplementationUtilsKt.acceptList(implementationUtils.kt:23)
You can set environment variable LINT_PRINT_STACKTRACE=true to dump a full stacktrace to stdout.
Also reproducible locally on Android Studio 4.1 beta 3.
il...@google.com <il...@google.com> #7
Still couldn't make see in the app. But was able to reproduce based on the class throwing the error and get a fix.
Description
Version used:1.1.0-alpha03
Devices/Android versions reproduced on:
as per
After updating to androidx.fragment:fragment-testing v1.0-alpha03 we're now getting following crash at end of test.
```
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Collection java.util.concurrent.ConcurrentHashMap.values()' on a null object reference
at androidx.lifecycle.ViewModel.clear(ViewModel.java:125)
at androidx.lifecycle.ViewModelStore.clear(ViewModelStore.java:62)
```
Importantly this is test where we're mocking instance of ViewModel being used and issues seems to be related to associated changes to lifecycle-viewmodel v2.1.0-alpha01 which we now have a transitive dependency to. Specifically crash is occurring in following method because mBagOfTags is null
```
final void clear() {
mCleared = true;
for (Object value: mBagOfTags.values()) {
// see comment for the similar call in setTagIfAbsent
closeWithRuntimeException(value);
}
onCleared();
}
```
repo steps:
clone
checkout `fragment_test_issue ` branch
run `RouteListFragmentTest`