Fixed
Status Update
Comments
du...@google.com <du...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit ddafb3e1713fb8129dcbb25ee603446ea73d29ef
Author: Chris Craik <ccraik@google.com>
Date: Fri Nov 11 16:45:08 2022
Workaround irrelevant stderr when moving perfetto config
Test: PerfettoTraceRuleTest # Nexus 6 API 23
Bug: 258863685
Change-Id: I45731541c296f65db45d12173f6640c81d8ac65f
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoHelper.kt
https://android-review.googlesource.com/2301081
Branch: androidx-main
commit ddafb3e1713fb8129dcbb25ee603446ea73d29ef
Author: Chris Craik <ccraik@google.com>
Date: Fri Nov 11 16:45:08 2022
Workaround irrelevant stderr when moving perfetto config
Test: PerfettoTraceRuleTest # Nexus 6 API 23
Bug: 258863685
Change-Id: I45731541c296f65db45d12173f6640c81d8ac65f
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoHelper.kt
du...@google.com <du...@google.com>
ta...@gmail.com <ta...@gmail.com> #3
After more investigation, the actual issue here is that on userdebug devices i had a stale copy of perfetto_trace_processor stored by a rooted session. Later, when running without root, the copy command (which can't be easily checked for stderr due to its use in super early setup stages) can silently fail, but everything keeps running since the perfetto api is stable.
Actual fix - validate the copy command (without using stderr, since we can't safely).
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 9f3bdddc765d2bd2f36c722149a1438da4948b06
Author: Chris Craik <ccraik@google.com>
Date: Fri Nov 11 16:59:28 2022
Validate executables before running, fix other API 22/23 breakages
Test: Tests in benchmark-common/macro, shamu API 23 # several preexisting failures
Test: Tests in benchmark-common/junit4, shamu API 22 # several preexisting failures
Fixes: 258863685
Relnote:"Fix several shell command failures on API <=23, including
failed perfetto capture binary setup and trace capture failures"
Also fixes xargs tests to expect 23+, which is where it was actually
first introduced, and several tests broken by shell safety not caught
by presubmit.
Change-Id: Ib6b872bca51c04c69a454dc1d896d3d7200abcc0
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellBehaviorTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Shell.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoHelper.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/UiState.kt
M benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/ProfileInstallBroadcastTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/StartupTimingQueryTest.kt
https://android-review.googlesource.com/2301082
Branch: androidx-main
commit 9f3bdddc765d2bd2f36c722149a1438da4948b06
Author: Chris Craik <ccraik@google.com>
Date: Fri Nov 11 16:59:28 2022
Validate executables before running, fix other API 22/23 breakages
Test: Tests in benchmark-common/macro, shamu API 23 # several preexisting failures
Test: Tests in benchmark-common/junit4, shamu API 22 # several preexisting failures
Fixes: 258863685
Relnote:"Fix several shell command failures on API <=23, including
failed perfetto capture binary setup and trace capture failures"
Also fixes xargs tests to expect 23+, which is where it was actually
first introduced, and several tests broken by shell safety not caught
by presubmit.
Change-Id: Ib6b872bca51c04c69a454dc1d896d3d7200abcc0
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellBehaviorTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ShellTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Shell.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoHelper.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/UiState.kt
M benchmark/benchmark-junit4/src/main/java/androidx/benchmark/junit4/BenchmarkRule.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/ProfileInstallBroadcastTest.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/StartupTimingQueryTest.kt
Description
Version used: 3.0.0-alpha08 or 3.0.0-alpha09
Devices/Android versions reproduced on: Samsung Galaxy S8 / Android 9
Starting with version 3.0.0-alpha08 of the Paging library, the MediatorResult.Success(false) value returned from a RemoteMediator.load(LoadType.REFRESH, state) call doesn’t trigger a RemoteMediator.load(LoadType.APPEND, state) call and doesn’t update PagingDataAdapter.loadStateFlow to notify that the refresh state has changed from LoadState.Loading to LoadState.NotLoading.
This bug can be reproduced by means of the following project, if you’ve changed the version of the Paging library it uses so that it’s equal to 3.0.0-alpha08 or 3.0.0-alpha09: