Status Update
Comments
aa...@google.com <aa...@google.com> #3
Branch: 8.2
commit ea625d87f24c2ae20f8705d04180cce9d98e448f
Author: Søren Gjesse <sgjesse@google.com>
Date: Wed Nov 22 14:14:53 2023
Desugar records again for Android U (API level 34)
Art had a bug in native record support in the initial release of
Android U.
This will be fixed with Art mainline updates, but turning record
desugaring on again for API level 34 to avoid hitting issues on
Android U where mainline updates are not been applied.
Also removed the predicate canUseNativeRecords and replaced with
isRecordsDesugaredForD8 and isRecordsDesugaredForR8. These two
together with runtimeWithRecordsSupport are now used in all record
tests.
Bug:
Change-Id: I111e9779b657492583cd7b9eb60788d8ec6d198e
M src/main/java/com/android/tools/r8/utils/InternalOptions.java
M src/test/java/com/android/tools/r8/TestBase.java
M src/test/java/com/android/tools/r8/ToolHelper.java
M src/test/java/com/android/tools/r8/desugar/records/EmptyRecordAnnotationTest.java
M src/test/java/com/android/tools/r8/desugar/records/RecordBlogTest.java
M src/test/java/com/android/tools/r8/desugar/records/RecordComponentAnnotationsTest.java
M src/test/java/com/android/tools/r8/desugar/records/RecordComponentSignatureTest.java
M src/test/java/com/android/tools/r8/desugar/records/RecordInterfaceTest.java
M src/test/java/com/android/tools/r8/desugar/records/RecordInvokeCustomSplitDesugaringTest.java
M src/test/java/com/android/tools/r8/desugar/records/RecordMergeTest.java
M src/test/java/com/android/tools/r8/desugar/records/SimpleRecordTest.java
M src/test/java/com/android/tools/r8/profile/art/completeness/RecordProfileRewritingTest.java
aa...@google.com <aa...@google.com> #4
Branch: 8.2
commit 136c261588ac8f3ac0212a78c4523d28e9e51b15
Author: Søren Gjesse <sgjesse@google.com>
Date: Wed Nov 22 14:16:25 2023
Version 8.2.38
Bug:
Change-Id: I7997e9387b94f42d7a3dd73ceccd055999d54941
M src/main/java/com/android/tools/r8/Version.java
sa...@google.com <sa...@google.com> #5
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 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.
Thank you for taking the time to submit feedback — we really appreciate it!
ub...@gmail.com <ub...@gmail.com> #6
aa...@google.com <aa...@google.com> #7
What happens if you restart logcat when the process name is wrong?
See screenshot.
ub...@gmail.com <ub...@gmail.com> #8
It does appear that restarting logcat regenerates the log with the correct process names reliably for me
ub...@gmail.com <ub...@gmail.com> #9
I also see, though, that the app/process has to still be running. If I restart logcat after app killed, I lose all process name information. That's not good.
aa...@google.com <aa...@google.com> #10
Re
aa...@google.com <aa...@google.com> #11
Re
Unfortunately, the process name information is not encoded in the Logcat buffer on the device.
The way we get the process name on API 35 is by having the logcat process that reads from the system logcat buffer check the pid field and see what process currently belongs to that pid. This doesn't work when the process has already died.
I think I have a fix, but because of the other bug, I'm going to turn off proto parsing for now anyway.
So your best bet is to run with -Dlogcat.protobuf.enable=false
ub...@gmail.com <ub...@gmail.com> #12
FYI: I've created a feature request for a process ID (PID) logcat filter to have something that is more robust:
sa...@google.com <sa...@google.com> #13
I am unable to repro locally, is the issue inconsistent?
sa...@google.com <sa...@google.com> #14
See screenshot
sa...@google.com <sa...@google.com> #15
I was able to repro and
After further investigation, it turned out the cache was populated via a
ub...@gmail.com <ub...@gmail.com> #16
Great, thank you for the fix!
sa...@google.com <sa...@google.com> #17
Repro step for future references.
- Make sure you are using a device API >= 35
- Enable proto logcat in Studio Flags
- Open "modify view" (see screenshot)
- Check "process name" checkbox.
an...@google.com <an...@google.com> #18
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 Ladybug | 2024.1.3 Canary 1
- Android Gradle Plugin 8.7.0-alpha01
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!
an...@google.com <an...@google.com> #19
Further fixes for this issue are now available in:
- Android Studio Ladybug | 2024.1.3 Canary 2
- Android Gradle Plugin 8.7.0-alpha02
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
ub...@gmail.com <ub...@gmail.com> #20
Seems to work now in Ladybug. Thank you!
Description
The Protobuf format of
adb logcat
reports the process name of processes that are started while thelogcat
is running aszygote64
.See the attached screenshots:
The logcat process running in the left panel was started with
logcat.protobuf.enable
flag disabled while the on on the right was started with the flag enabled.Note that this is not a timing issue. The process name is still reported as
zygote64
long afterwards (see timestamp of the last log entry).