Status Update
Comments
rk...@google.com <rk...@google.com>
ch...@google.com <ch...@google.com> #2
This looks like a bug in enum unboxing.
Until a fix is in place I believe you should be able to workaround this issue with the following rule:
-keep,allowobfuscation,allowshrinking class org.intellij.markdown.parser.markerblocks.MarkerBlock$ClosingAction
cl...@google.com <cl...@google.com> #4
The issue is that now we unbox enum with subtypes and the kotlin enum subclasses in this program are not marked with the enum flag.
I'll make a fix.
ap...@google.com <ap...@google.com> #5
Branch: main
commit f6a533d424161b8b606a6e54e01582005dda7766
Author: Clément Béra <clementbera@google.com>
Date: Mon Dec 11 14:19:22 2023
Allow enums with subtypes without enum flag to be unboxed
Bug:
Change-Id: I98d002594af56c2f63e953d1236652f3d3c882f8
M src/main/java/com/android/tools/r8/graph/ClassAccessFlags.java
M src/main/java/com/android/tools/r8/graph/ObjectAllocationInfoCollectionImpl.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxerImpl.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateInfoCollection.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/eligibility/Reason.java
M src/main/java/com/android/tools/r8/utils/InternalOptions.java
M src/test/java/com/android/tools/r8/enumunboxing/enummerging/BasicEnumMergingKeepSubtypeTest.java
A src/test/java/com/android/tools/r8/enumunboxing/enummerging/NoEnumFlagEnumMergingTest.java
cl...@google.com <cl...@google.com> #6
We need to try to backport this at least 1 version back.
ap...@google.com <ap...@google.com> #7
Branch: 8.2
commit 9bab7deb172bec5b51e3ef29724cca7cc83ee965
Author: Clément Béra <clementbera@google.com>
Date: Tue Dec 12 10:16:41 2023
Version 8.2.40
Bug:
Change-Id: I8de6a9af3eed89ea863d572ad9cee2b807503ff7
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #8
Branch: 8.2
commit 31f36bdc54e066646651ca92d89e429d252fa728
Author: Clément Béra <clementbera@google.com>
Date: Tue Dec 12 09:59:19 2023
Allow enums with subtypes without enum flag to be unboxed
Bug:
Change-Id: I98d002594af56c2f63e953d1236652f3d3c882f8
M src/main/java/com/android/tools/r8/graph/ClassAccessFlags.java
M src/main/java/com/android/tools/r8/graph/ObjectAllocationInfoCollectionImpl.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxerImpl.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateInfoCollection.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/eligibility/Reason.java
M src/main/java/com/android/tools/r8/utils/InternalOptions.java
M src/test/java/com/android/tools/r8/enumunboxing/enummerging/BasicEnumMergingKeepSubtypeTest.java
A src/test/java/com/android/tools/r8/enumunboxing/enummerging/NoEnumFlagEnumMergingTest.java
ap...@google.com <ap...@google.com> #9
Branch: 8.3
commit 5392459e3e3c4a4bfe43afd702a0182f249901a4
Author: Clément Béra <clementbera@google.com>
Date: Wed Dec 13 09:30:46 2023
Allow enums with subtypes without enum flag to be unboxed
Bug:
Change-Id: I98d002594af56c2f63e953d1236652f3d3c882f8
M src/main/java/com/android/tools/r8/graph/ClassAccessFlags.java
M src/main/java/com/android/tools/r8/graph/ObjectAllocationInfoCollectionImpl.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxerImpl.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateAnalysis.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/EnumUnboxingCandidateInfoCollection.java
M src/main/java/com/android/tools/r8/ir/optimize/enums/eligibility/Reason.java
M src/main/java/com/android/tools/r8/utils/InternalOptions.java
M src/test/java/com/android/tools/r8/enumunboxing/enummerging/BasicEnumMergingKeepSubtypeTest.java
A src/test/java/com/android/tools/r8/enumunboxing/enummerging/NoEnumFlagEnumMergingTest.java
ap...@google.com <ap...@google.com> #10
Branch: 8.3
commit ca1afe08bce1905c1dec94797333c7ebd8fb6c16
Author: Clément Béra <clementbera@google.com>
Date: Wed Dec 13 09:33:05 2023
Version 8.3.22
Bug:
Change-Id: I9175972e305acc6e603b52b3c469c00fe225c645
M src/main/java/com/android/tools/r8/Version.java
cl...@google.com <cl...@google.com> #11
Should be fixed with 8.2.40 for the reporter. Closing the issue.
an...@google.com <an...@google.com> #12
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Iguana | 2023.2.1 Beta 1
- Android Gradle Plugin 8.3.0-beta01
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
ah...@gmail.com <ah...@gmail.com> #13
an...@google.com <an...@google.com> #14
The fixes for this issue are now also available in:
- Android Studio Hedgehog | 2023.1.1 Patch 1
- Android Gradle Plugin 8.2.1
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
ma...@gmail.com <ma...@gmail.com> #15
8.2.44 got published on google maven today. I confirm it has the issue fixed, thank you 🙏
edit: to not trigger unnecessary notifications, the project I linked in the first post uses R8 directly (without AGP presence at all), so this was the first moment I was able to test it :) Thanks again!
sg...@google.com <sg...@google.com> #16
FYI, R8 8.2.44 is the version bundled with AGP 8.2.1.
Description
DESCRIBE THE ISSUE IN DETAIL: After upgrading R8 from 8.1.72 to 8.2.33 the app started to fail in runtime with
Related R8 setup:
STEPS TO REPRODUCE:
ATTACH SCREENSHOTS/RECORDINGS OF THE ISSUEhttps://github.com/usefulness/diffuse/pull/259
Renovate PR with the bump:
The pipeline builds the jar, and performs a smoke test
java -jar {{outpu-r8-file.jar}}
ATTACH LOG FILES (Select Help > Show Log in Files, or Show Log in Finder on a Mac)
IMPORTANT: Please readhttps://developer.android.com/studio/report-bugs.html carefully and supply
all required information.
Studio Build: Version of Gradle Plugin: Version of Gradle: Version of Java: OS: