Status Update
Comments
ka...@google.com <ka...@google.com>
vi...@google.com <vi...@google.com>
ra...@google.com <ra...@google.com>
eu...@gmail.com <eu...@gmail.com> #2
I have similar behaviour.
Build: AI-231.9225.16.2311.10572941, 202307272145
AI-231.9225.16.2311.10572941, JRE 17.0.7+0-17.0.7b1000.6-10550314x64 JetBrains s.r.o., OS Mac OS X(aarch64) v13.5, screens 3456.0x2234.0, 6016.0x3384.0; Retina
AS: Hedgehog | 2023.1.1 Canary 15
Kotlin plugin: 231-1.8.21-release-380-AS9225.16.2311.10572941
Android Gradle Plugin: 8.1.0
Gradle: 8.2.1
Gradle JDK: Azul Zulu version 20.0.2
NDK: from local.properties: (not specified), latest from SDK: (not found)
CMake: from local.properties: (not specified), latest from SDK: (not found), from PATH: (not found)
eu...@gmail.com <eu...@gmail.com> #3
I added threads' dumps in the diagnostics.
ra...@google.com <ra...@google.com> #4
Thank you for the additional diagnostics!
Relevant exceptions:
- About ~4 reports of this in our crash db:
2023-08-08 16:19:33,147 [2293974] SEVERE - #o.j.c.AsyncPromise - Invalid range specified: (-1, -1);
java.lang.IllegalArgumentException: Invalid range specified: (-1, -1);
at com.intellij.openapi.util.TextRange.assertProperRange(TextRange.java:231)
at com.intellij.openapi.util.TextRange.assertProperRange(TextRange.java:226)
at com.intellij.openapi.util.TextRange.assertProperRange(TextRange.java:222)
at com.intellij.openapi.util.TextRange.<init>(TextRange.java:41)
at com.intellij.openapi.util.TextRange.<init>(TextRange.java:30)
at com.google.targetsdkversionassistant.filter.ElementLocationProvider.textRange(LocationProvider.kt:96)
at com.google.targetsdkversionassistant.filter.ElementLocationProvider.<init>(LocationProvider.kt:89)
at com.google.targetsdkversionassistant.filter.LocationProviderKt.toLocation(LocationProvider.kt:62)
at com.google.targetsdkversionassistant.filter.FilterService$Filter$2.invoke(FilterService.kt:55)
at com.google.targetsdkversionassistant.filter.FilterService$Filter$2.invoke(FilterService.kt:55)
at com.google.targetsdkversionassistant.filter.Predicates$then$1.invoke(Predicates.kt:52)
at com.google.targetsdkversionassistant.filter.FilterService$Filter.relevantLocations(FilterService.kt:59)
...
2023-08-07 22:02:49,301 [ 44940] SEVERE - #o.j.c.AsyncPromise - Collection contains no element matching the predicate.
java.util.NoSuchElementException: Collection contains no element matching the predicate.
at com.google.targetsdkversionassistant.filter.ElementLocationProvider.resolveToManifestFilePosition(LocationProvider.kt:125)
at com.google.targetsdkversionassistant.filter.ElementLocationProvider.<init>(LocationProvider.kt:88)
at com.google.targetsdkversionassistant.filter.LocationProviderKt.toLocation(LocationProvider.kt:62)
at com.google.targetsdkversionassistant.filter.FilterService$Filter$2.invoke(FilterService.kt:55)
at com.google.targetsdkversionassistant.filter.FilterService$Filter$2.invoke(FilterService.kt:55)
at com.google.targetsdkversionassistant.filter.Predicates$then$1.invoke(Predicates.kt:52)
at com.google.targetsdkversionassistant.filter.FilterService$Filter.relevantLocations(FilterService.kt:59)
...
We should fix the underlying issue of an exception blocking the assistant from opening.
We can keep this bug for tracking the fixes to the two exceptions above, or file separate issues.
er...@google.com <er...@google.com>
er...@google.com <er...@google.com> #5
Fix should be included in Hedgehog Beta 1 and Iguana Canary 1.
I'm pretty sure these were caused by the relevance filters triggering on things injected into the merged manifest (and thus do not necessarily have a concrete location to resolve to). They'll likely now manifest as nonlocatable problems in the assistant (the step will additionally report that it found X problems without a location).
I also fixed the filter cancellation logic so that cancelling a filter via the progress indicator will correctly end the task and won't change any previous filter results. If you somehow get deadlocked again you should be able to escape.
Description
STEPS TO REPRODUCE:
1. Open Android Studio Hedgehog 2023.1.1 Canary 15
2. Open build.gradle, select the targetSdkVersion line, and launch the SDK upgrade assistant
3. The Assistant pane opens, showing an indeterminate progress indicator "Loading assistant content...", which does not go away.
------------------
Studio Build: Hedgehog 2023.1.1 Canary 15
Version of Gradle Plugin: 8.1.0
Version of Gradle: 8.2
Version of Java:
OS: macOS Ventura 13.5