Status Update
Comments
li...@gmail.com <li...@gmail.com> #2
Thank you for posting an issue. It is not obvious to me what the error is, please give some more information, ideally a
If you cannot provide a dump, please share the full stack trace and potentially the classes that are failing if that is available from the information you have. You can probably obtain it by running the release process from the command line.
The Expected stack map table for method with non-linear control flow.
is because you have invalid class file input. It is an error to not provide frame information in jumps and has been so from class file version 50.
ch...@google.com <ch...@google.com>
li...@gmail.com <li...@gmail.com> #3
je...@google.com <je...@google.com>
sp...@google.com <sp...@google.com> #4
If the issue re-appears feel free to re-open the bug.
ra...@google.com <ra...@google.com>
pa...@google.com <pa...@google.com>
pa...@google.com <pa...@google.com> #5
The application I'm working on is getting the same error after upgrading Gradle and the Gradle Plugin (7.4.1). Very little info online about this. Let me know what info I can provide; it seems like a legitimate issue given that multiple people are reporting it.
The application I'm working on is not using androidx.multidex:multidex like the other user.
> Task :app:dexBuilderDebug FAILED
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.Fq: No VersionRequirement with the given id in the table","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"com.android.tools.r8.internal.Fq: No VersionRequirement with the given id in the table","sources":[{}],"tool":"D8"}
com.android.tools.r8.internal.Fq: No VersionRequirement with the given id in the table
Execution failed for task ':app:dexBuilderDebug'.
> Could not resolve all files for configuration ':app:detachedConfiguration3'.
> Failed to transform jetified-anko-sdk25-coroutines-0.10.3.jar to match attributes {artifactType=ext-dex-dexBuilderDebug, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
> Execution failed for DexingExternalLibArtifactTransform: /Users/.../.gradle/caches/transforms-3/17e3e87543b7bc6c15b2729175c4f93a/transformed/jetified-anko-sdk25-coroutines-0.10.3.jar.
> Error while dexing.
> Failed to transform jetified-anko-appcompat-v7-coroutines-0.10.3.jar to match attributes {artifactType=ext-dex-dexBuilderDebug, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
> Execution failed for DexingExternalLibArtifactTransform: /Users/.../.gradle/caches/transforms-3/192f3b6aa3588ba73225fa6268e99efa/transformed/jetified-anko-appcompat-v7-coroutines-0.10.3.jar.
> Error while dexing.
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
com.android.tools.r8.internal.Fq: No VersionRequirement with the given id in the table
I've tried invalidating caches as well as rebuilding the project.
Please let me know if I should open a separate ticket!
li...@gmail.com <li...@gmail.com> #6
Would it be possible to provide a
Potentially I only need /Users/.../.gradle/caches/transforms-3/17e3e87543b7bc6c15b2729175c4f93a/transformed/jetified-anko-sdk25-coroutines-0.10.3.jar
to reproduce the problem.
Are you using desugared library? Is this R8 or D8 (minifyEnabled = true
)?
pa...@google.com <pa...@google.com> #8
I tried to look for the library for which the issue is reported adding the dependency implementation 'org.jetbrains.anko:anko-sdk25-coroutines:0.10.3'
to a project. However that artifact is not found on the usual Maven repos, and jetified-anko-sdk25-coroutines-0.10.3.jar
will be needed to make progress.
li...@gmail.com <li...@gmail.com> #9
Branch: main
commit f631bcf3e4e0a2bb02323de96ba26acdba5e8014
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Mon Mar 20 14:00:12 2023
Clean-up parsing kotlin metadata to not throw exception in thread
Bug:
Change-Id: I42c5e986d3b0ea9448bc7a6512934283f88f92c9
M src/main/java/com/android/tools/r8/kotlin/KotlinClassMetadataReader.java
M src/main/java/com/android/tools/r8/kotlin/KotlinMetadataEnqueuerExtension.java
M src/main/java/com/android/tools/r8/kotlin/KotlinMetadataRewriter.java
M src/main/java/com/android/tools/r8/utils/BooleanBox.java
sa...@google.com <sa...@google.com> #10
The error is that old kotlin compilers would generate synthetic lambdas with version requirement: 0
as default but it actually should just be empty. An issue was reported on kotlin here:
This is fixed from 1.3.40-dev and forward. The synthetic lambda that fails has metadata version 1.1.15 and therefore compiled by a compiler that generated the invalid entry in version requirement.
We should not throw an error that fails compilation in D8. This is fixed ToT and I will cherry-pick to our release branches.
sa...@google.com <sa...@google.com> #11
Branch: 8.0
commit 6bd39cff22a1ebcd7593622b25fc8cbad2a6d655
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Mon Mar 20 15:34:12 2023
Clean-up parsing kotlin metadata to not throw exception in thread
Bug:
Change-Id: I42c5e986d3b0ea9448bc7a6512934283f88f92c9
M src/main/java/com/android/tools/r8/kotlin/KotlinClassMetadataReader.java
M src/main/java/com/android/tools/r8/kotlin/KotlinMetadataEnqueuerExtension.java
M src/main/java/com/android/tools/r8/kotlin/KotlinMetadataRewriter.java
M src/main/java/com/android/tools/r8/utils/BooleanBox.java
li...@gmail.com <li...@gmail.com> #12
Branch: 8.0
commit f8b4d858b23c7b59eb4c8357772ed6ad4406a7d7
Author: Morten Krogh-Jespersen <mkroghj@google.com>
Date: Mon Mar 20 15:34:26 2023
Version 8.0.36
Bug:
Change-Id: I155be22a9466968f82f4d450861670332754f91a
M src/main/java/com/android/tools/r8/Version.java
pa...@google.com <pa...@google.com>
pa...@google.com <pa...@google.com> #13
I will add in manually for now. I can also confirm that the fix works when added manually like:
buildscript {
repositories {
maven {
url '
}
}
}
dependencies {
classpath 'com.android.tools:r8:8.0.36'
}
li...@gmail.com <li...@gmail.com> #14
li...@gmail.com <li...@gmail.com> #15
เรียนรู้แอนดรอยด์
Description
DESCRIBE THE ISSUE IN DETAIL:
STEPS TO REPRODUCE:
./gradlew :app:lintDebug
and observe 2 issues;./gradlew :lint-checks:test
and observe tests failing.It looks like
PartialResult#map
doesn't follow the contract in unit tests. It claims to returnLintMap
for the project in context, but under the certain condition it seems to be violated.The conditions require multimodule setup. A
library
module must put smth into itsLintMap
. Then, when theapp
module accesses its ownLintMap
for the first time it get a map prefilled with the data from thelibrary
module, instead of the fresh one.To demonstrate the issue I created the following setup:
:app
module and a:library
module;:app
module containsapp_color
color resource, while:library
module contains:library_color
;color
resource declaration within the module, puts into the partial results and then reports all colors found per module incheckPartialResults
method;If you run lint checks using the
./gradlew :app:lintDebug
command, you'll observe Lint correctly reportingapp_color
found in:app
andlibrary_color
found in:library
. However, if you run the unit tests, you'll observe that Lint also reports alibrary_color
found in the:app
.It looks like while scanning the
:app
module, the first access to partial results, causesLintCliClient
to create new instance of results and fill it with results of the dependent module (seeLintCliClient#getPartialResults
method). For some reason this is happening only in tests.The replacement of the
getPartialResult.map()
method call withgetPartialResult.mapFor(context.project)
method call successfully addresses the issue.There's still a chance, that my test is wrong. In this case, would be great to know in which way.
Studio Build: Chipmunk | 2021.2.1 Version of Gradle Plugin: 7.2.1, 7.4.0-alpha08 Version of Gradle: 7.4.2 OS: Mac OS Monteray 12.4