Status Update
Comments
il...@google.com <il...@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]
ga...@freeletics.com <ga...@freeletics.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?
mg...@google.com <mg...@google.com>
Ni...@fressnapf.com <Ni...@fressnapf.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.
mg...@google.com <mg...@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.
mg...@google.com <mg...@google.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.
ap...@google.com <ap...@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.
nu...@traderepublic.com <nu...@traderepublic.com> #8
Branch: androidx-master-dev
commit 236cdbe9c248e30d0120e5c23933b74581ae9198
Author: Jeremy Woods <jbwoods@google.com>
Date: Thu Jul 09 11:00:56 2020
Fix NullSafeMutableLiveData resolve error
When attempting to assign a MutableList to a MutableLiveData value, the
lint rule can fail to resolve a DOT_EXPRESSION and throw an error.
We should add null checks to avoid the error.
Test: Added NonNullableMutableLiveData test
Bug: 159987480
Change-Id: Ie3136bdd5362e7aa699a2b0b2f42caac03ed5217
M lifecycle/lifecycle-livedata-core-ktx-lint/build.gradle
M lifecycle/lifecycle-livedata-core-ktx-lint/src/main/java/androidx/lifecycle/lint/NonNullableMutableLiveDataDetector.kt
M lifecycle/lifecycle-livedata-core-ktx-lint/src/test/java/androidx/lifecycle/lint/NonNullableMutableLiveDataDetectorTest.kt
mg...@google.com <mg...@google.com> #9
This has been fixed internally and will be available in the Lifecycle 2.3.0-alpha06 release.
pr...@google.com <pr...@google.com> #10
Hi the error at line 133 seems resolved in alpha06 but the error at line 105 is still there.
m....@gmail.com <m....@gmail.com> #11
mg...@google.com <mg...@google.com> #12
please file a new bug with a minimal sample project.
m....@gmail.com <m....@gmail.com> #13
Seems to be good now. Thanks!
mg...@google.com <mg...@google.com> #14
Lifecycle 2.8.3 is now available on
pe...@mohemian.com <pe...@mohemian.com> #15
I'm still getting "java.lang.IllegalStateException: CompositionLocal LocalLifecycleOwner not present" with 2.8.3 in release builds (with obfuscation enabled). Adding
-keep class androidx.compose.ui.platform.AndroidCompositionLocals_androidKt { *; }
to my ProGuard rules fixes the issue. Any advice?
In my setup I have an app that's using the lifecycle dependencies directly, but some other dependencies of mine also include the same (and these libraries are obfuscated too) - not sure if this makes a difference.
mg...@google.com <mg...@google.com> #16
I'm unable to offer advice since I can't replicate the issue you're experiencing -- but based on your message, it appears Lifecycle "should" be working correctly.
Would you please
pr...@google.com <pr...@google.com> #17
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.lifecycle:lifecycle-runtime-compose:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-compose-android:2.9.0-alpha01
androidx.lifecycle:lifecycle-runtime-compose-desktop:2.9.0-alpha01
Description
This is basically an follow-up of https://issuetracker.google.com/issues/336842920 .
Component used:
Version used:
Devices/Android versions reproduced on: Android 14
We see the the following crashes directly at app start when using R8 (with default AGP 8.x fullMode enabled): IllegalStateException: CompositionLocal LocalLifecycleOwner not present
We saw the added proguard rules inhttps://android-review.googlesource.com/c/platform/frameworks/support/+/3105647/21/lifecycle/lifecycle-runtime-compose/proguard-rules.pro
Changing them to
fixes the crash.
So it seems the keep rule is currently not sufficient to make 2.8.2 compatible with Compose 1.6 when minify the build.