Status Update
Comments
ze...@google.com <ze...@google.com> #2
Thanks for the report.
If you can provide a io.netty.handler.codec.DefaultHeaders
and io.netty.util.HashingStrategy
if you can share those.
FYI, retraced stack is:
at com.android.tools.r8.internal.gg.a(SourceFile:376)
=>
at com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(InlineCandidateProcessor.java:650)
at com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.processInlining(InlineCandidateProcessor.java:388)
da...@spotify.com <da...@spotify.com> #3
I'll provide the information asap.
Another data point is that version 3.0.43 also has the same issue.
da...@spotify.com <da...@spotify.com> #4
I've shared it directly with you and SG.
ze...@google.com <ze...@google.com> #5
Thanks for the dump! I can confirm that it reproduces locally. I'll post back as soon as I have more info.
ze...@google.com <ze...@google.com> #6
Minor update. This issue reproduces on main. The cause is a class inlining of a statically known inner class. The class inliner identifies what appears to be a correct inlining candidate, but the forced method inline does not take place. It is still not clear why the method inlining does not take place.
da...@spotify.com <da...@spotify.com> #7
Thanks for the update!
da...@spotify.com <da...@spotify.com> #8
QQ: When you find a fix for it, will that be applied on the 3.0 branch too?
ze...@google.com <ze...@google.com> #9
Yes, I intend to backport the fix to 3.0 if possible.
ap...@google.com <ap...@google.com> #10
Branch: main
commit d4fa41da6977485fc2404b634fba9803616c54c2
Author: Ian Zerny <zerny@google.com>
Date: Tue Sep 21 13:42:39 2021
Check all derived class-inlining targets have valid access.
Bug: 120061431
Bug: 200057495
Change-Id: Ic83bcb3d90679160bd4f64252d6dc02fc7faea42
A src/test/java/com/android/tools/r8/ir/optimize/classinliner/nonpublicsubtype/subpkg/Utils.java
M src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
A src/test/java/com/android/tools/r8/ir/optimize/classinliner/nonpublicsubtype/ClassInlineNonPublicSubtypeTest.java
ap...@google.com <ap...@google.com> #11
Branch: 3.1
commit 0aa35245b537d67ce294e78723f45b3bcac0d7bd
Author: Ian Zerny <zerny@google.com>
Date: Tue Sep 21 19:47:50 2021
Version 3.1.25
Bug: 200057495
Change-Id: Ieed3f162bbfee4a0077d261d09480385328f9bf6
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #12
Branch: 3.1
commit 304dfa084083fa91d5c1e178ff25a56cda3dfa01
Author: Ian Zerny <zerny@google.com>
Date: Tue Sep 21 19:46:44 2021
Check all derived class-inlining targets have valid access.
Bug: 120061431
Bug: 200057495
Change-Id: Ic83bcb3d90679160bd4f64252d6dc02fc7faea42
A src/test/java/com/android/tools/r8/ir/optimize/classinliner/nonpublicsubtype/subpkg/Utils.java
M src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
A src/test/java/com/android/tools/r8/ir/optimize/classinliner/nonpublicsubtype/ClassInlineNonPublicSubtypeTest.java
ap...@google.com <ap...@google.com> #13
Branch: 3.0
commit d54131344be4ed23f1bab0c47f96670cd1324160
Author: Ian Zerny <zerny@google.com>
Date: Tue Sep 21 19:41:18 2021
Version 3.0.73
Bug: 200057495
Change-Id: I0f9c39d14ef2a2744c6deadd962d7b2c80fbf56d
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #14
Branch: 3.0
commit e8f3d73e72a7deda40df0ae9f2467cee7704451b
Author: Ian Zerny <zerny@google.com>
Date: Tue Sep 21 17:05:12 2021
Check all derived class-inlining targets have valid access.
Bug: 120061431
Bug: 200057495
Change-Id: Ic83bcb3d90679160bd4f64252d6dc02fc7faea42
A src/test/java/com/android/tools/r8/ir/optimize/classinliner/nonpublicsubtype/subpkg/Utils.java
M src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
A src/test/java/com/android/tools/r8/ir/optimize/classinliner/nonpublicsubtype/ClassInlineNonPublicSubtypeTest.java
ap...@google.com <ap...@google.com> #15
Branch: 3.1
commit 304dfa084083fa91d5c1e178ff25a56cda3dfa01
Author: Ian Zerny <zerny@google.com>
Date: Tue Sep 21 19:46:44 2021
Check all derived class-inlining targets have valid access.
Bug: 120061431
Bug: 200057495
Change-Id: Ic83bcb3d90679160bd4f64252d6dc02fc7faea42
A src/test/java/com/android/tools/r8/ir/optimize/classinliner/nonpublicsubtype/subpkg/Utils.java
M src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
A src/test/java/com/android/tools/r8/ir/optimize/classinliner/nonpublicsubtype/ClassInlineNonPublicSubtypeTest.java
ze...@google.com <ze...@google.com> #16
A fix has landed for this issue on our branches. You can enable the 3.0.73 locally by amending your top-level build.gradle file with:
buildscript {
repositories {
maven {
url 'https://storage.googleapis.com/r8-releases/raw'
}
}
dependencies {
classpath 'com.android.tools:r8:3.0.73' // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:X.Y.Z' // Your current AGP version.
}
}
I've verified that the provided dump compiles with this version. Let us know if the same is true on your end.
ze...@google.com <ze...@google.com>
da...@spotify.com <da...@spotify.com> #17
Thank you very much, I can confirm it works as intended and it ran successfully on our project!
ze...@google.com <ze...@google.com> #18
Good to hear. Thank you for reporting and for the reproduction!
sa...@google.com <sa...@google.com> #19
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 Bumblebee Canary 13 (2021.1.1.13)
- Android Gradle Plugin 7.1.0-alpha13
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!
Description
Please let me know what information I can provide. The project is closed source.