aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-03-27perfetto_cmd: --ignore-guardrails effects serviceandroid-13.0.0_r82android-13.0.0_r81android-13.0.0_r80android-13.0.0_r74android-13.0.0_r73android-13.0.0_r72android-13.0.0_r66android-13.0.0_r65android-13.0.0_r64android-13.0.0_r60android-13.0.0_r59android-13.0.0_r58android13-qpr3-c-s8-releaseandroid13-qpr3-c-s7-releaseandroid13-qpr3-c-s6-releaseandroid13-qpr3-c-s5-releaseandroid13-qpr3-c-s4-releaseandroid13-qpr3-c-s3-releaseandroid13-qpr3-c-s2-releaseandroid13-qpr3-c-s12-releaseandroid13-qpr3-c-s11-releaseandroid13-qpr3-c-s10-releaseandroid13-qpr3-c-s1-releaseHector Dearman
Allow --ignore-guardrails to override enable_extra_guardrails (and hence the traced side guardrails). (cherry-pick of 3c678cb3e4484c028bdb354bcbee872ebdc1ae91 to fix a CTS test failure on tm-qpr-dev caused by fixing b/268320325) Bug: 230096817 Merged-In: I60a280cfa8b4d5ad26f28cc023b408d87d3a5190 Change-Id: I60a280cfa8b4d5ad26f28cc023b408d87d3a5190
2023-03-27traced: bail out if an invalid trigger mode is specifiedPrimiano Tucci
This is a fix to a subtle binary back-compat issue. When introducing a new trigger mode, the service will ignore it and trace indefinitely (Because duration_ms is checked to be 0). The issue is not as bad as initially though because perfetto_cmd mitigates this, by enforcing a hard timeout to 60s + trigger_timeout regardless of the type of the trigger (See comments in b/274931668). Bug: 274931668 Bug: 260112703 Test: perfetto_unittests --gtest_filter=TracingServiceImplTest.FailOnUnknownTriggerMode (cherry picked from commit 7f432673ea568e8ab9b7f4ccfe0107a4c5e01e81) Change-Id: I7993ec7a3604b8ede00b3c29cf29059685af4848 Merged-In: I7993ec7a3604b8ede00b3c29cf29059685af4848
2023-03-23perfetto: fix enabling extra guardrails when reporting to fwLalit Maganti
This was accidentally left out when implementing the reporting code originally. Bug: 268320325 Change-Id: Id3d40f88dc9dd09896c734907d52e5de0cb7b9ac Merged-In: Id3d40f88dc9dd09896c734907d52e5de0cb7b9ac
2023-03-22service: producer port: reduce blocking socket send timeout 10s -> 10msRyan Savitski
On Android, with more apps acting as perfetto producers and use of freezer, the service is more prone to be connected to unresponsive producers. This is a problem if we ever saturate the kernel send buffer on a given socket since it causes the tracing service to block for 10s. As an immediate workaround, drastically lower the producer port timeouts to 50ms as we're not supposed to be hitting that limit under normal operation in the first place. Longer term, we need to reduce our reliance on blocking socket operations, which were always known to be sub-optimal, but also worked well enough in practice while being less complex than nonblocking approaches. Tested manually, strace as proof (note that we're using a MSG_DONTWAIT sendmsg + manual poll fallback due to b/193234818): fcntl(8, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK) fcntl(8, F_SETFL, O_RDWR) = 0 fcntl(8, F_GETFL) = 0x2 (flags O_RDWR) sendmsg(8, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\24\0\0\0\20\0032\215\200\200\0\10\1\20\1\32\7:\202\200\200\0\10\3", iov_len=24}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=8, events=POLLOUT}], 1, 10) = 0 (Timeout) fcntl(8, F_GETFL) = 0x2 (flags O_RDWR) fcntl(8, F_SETFL, O_RDWR|O_NONBLOCK) = 0 shutdown(8, SHUT_RDWR) = 0 close(8) = 0 Bug: 236813972 Merged-In: I75489478cae5a50809ce0b2a0cabce8424b46820 Change-Id: I75489478cae5a50809ce0b2a0cabce8424b46820 (cherry picked from commit 8cfee469c0b3aa5e70576c4d2888e07e72651f35)
2023-03-13Populate property with the number of active OOME tracing sessionsIoannis Ilkos
Test: manual, atest HeapprofdJavaCtsTest Bug: 269246893 Bug: 272719059 Change-Id: I171e668d64bbe68eb8d5dd5bcdad31810d0583e6 Merged-In: I171e668d64bbe68eb8d5dd5bcdad31810d0583e6
2023-03-13Introduce guardrail override for max buffer sizeIoannis Ilkos
Bug: 261864179 Bug: 272719059 Change-Id: If9dbe9df68f61499313a5e2bb5f4ef990770b928 Merged-In: If9dbe9df68f61499313a5e2bb5f4ef990770b928
2023-03-10profilers: treat platform UIDs [0..AID_APP_START) as profileable by the ↵Ryan Savitski
platform itself Covers both native and app processes (we'll skip packages.list checks for the latter as the UID is considered sufficient). SELinux still applies, see accompanying change. Note that this also covers multi-profile devices, where non-default profiles have their own system user, e.g. "u10_system". This is handled by masking off the per-profile UID offset (AID_USER_OFFSET) as usual. Googlers: see go/perfetto-prof-system. Bug: 247858731 Bug: 272719059 Change-Id: I4e6a6a5b7a7c7d20af44688484003ea6e296dc60 Merged-In: I4e6a6a5b7a7c7d20af44688484003ea6e296dc60
2022-11-30Merge "heapprofd: Fix crash when tracing service disconnects" into tm-qpr-devDaniele Di Proietto
2022-11-17heapprofd: Fix crash when tracing service disconnectsDaniele Di Proietto
When the tracing service (traced) disconnects (because it crashes or other reasons), if heapprofd has an active client, it will crash, because: * HeapprofdProducer::Restart() is executed. * HeapprofdProducer destructor destroys its unwinding_workers_ * UnwindingWorker destroys its members. In order: * thread_task_runner_ is destroyed, so that the thread is stopped. * (If there's one connected client) client_data_ is destroyed. * ClientData includes a UnixSocket, which calls PostTask on thread_task_runner_. * thread_task_runner_ was destroyed earlier. This patch makes fixes the problem by destroying client_data_ (on thread_task_runner_) before destroying the thread_task_runner_ itself. Bug: 233338564 Bug: 155759761 Change-Id: Id1874abbff8f7a7b702542a943a8de3f3a52277a (cherry picked from commit abc9d3ea914ba24e4219fef68a67aca65b8c23a5) Merged-In: Id1874abbff8f7a7b702542a943a8de3f3a52277a
2022-11-17add cma alloc/info ftrace eventsMartin Liu
Backport from aosp/2299539 Bug: 258188795 Test: build pass Change-Id: Ied8cb9914cbe00fbb8bf8ce2b429055b62b3ec14 Signed-off-by: Martin Liu <liumartin@google.com> Merged-In: Ied8cb9914cbe00fbb8bf8ce2b429055b62b3ec14
2022-07-07android_system_property data source.Simon MacMullen
This is a fork of initial_screen_state but with the ability to configure which properties we want in the config rather than having them hard coded. (Cherry pick from aosp/2145789) Bug: 238063699 Change-Id: I633f9173274227bce9c09371c2379a8ff8a3c0b7 Merged-In: I633f9173274227bce9c09371c2379a8ff8a3c0b7 Test: Unit test + manual e2e tracing run.
2022-07-06Revert "perfetto: Allow to profile system server on user" am: 257fdf188f am: ↵Ryan Savitski
938185d82b Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/19170127 Change-Id: Id336ecf12a36d2c8280a442ec290ac1520859d10 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-06Revert "perfetto: Allow to profile system server on user" am: 257fdf188fRyan Savitski
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/19170127 Change-Id: I40a319e05fc7a5cfbc0d925369b42eaf4b4337cd Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-07-06Revert "perfetto: Allow to profile system server on user"Ryan Savitski
This reverts commit b1e4afee320e83a044a4953963a1111afb0c8149. Revert accompanying the selinux revert in r.android.com/2142152. Context in bug. Bug: 217368496 Tested: redfin-user and barbet-userdebug: build+flash+boot; manual test of typical profiling (heap and perf); atest CtsPerfettoTestCases. Change-Id: Ia5e3a79df64e6d84595c054050ddb87406d7e388 Merged-In: Ia5e3a79df64e6d84595c054050ddb87406d7e388 (cherry picked from commit 8b44f9934d609ce8beb5305c03791329d1f461c6)
2022-06-23perfetto: Dynamically create and remove trace event triggers am: 1ab43b2d4b ↵Kalesh Singh
am: 5e53c70796 Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18959763 Change-Id: Ic2274fcd26e7c1994b7df49af019e811a112de06 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-23perfetto: Add rss_stat.cfg test config am: eee1f322a6 am: 4c76ccf7e7Kalesh Singh
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18959762 Change-Id: I96cc57862462e9fd4694e8ed36d752a5ea57dd60 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-23perfetto: Dynamically create and remove trace event triggers am: 1ab43b2d4bKalesh Singh
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18959763 Change-Id: I4280130e98531c2d4760e42da75994e2ff4691c4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-23perfetto: Add rss_stat.cfg test config am: eee1f322a6Kalesh Singh
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18959762 Change-Id: I6b49246341889753257ed11cd0d68a3bf7d69b30 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-22perfetto: Dynamically create and remove trace event triggersandroid-vts-13.0_r4android-vts-13.0_r3android-vts-13.0_r2android-cts-13.0_r4android-cts-13.0_r3android-cts-13.0_r2android13-devKalesh Singh
Using a persistent event trigger for rss_stat_throttled was found to cause regression of 8% more CPU cycles in kswapd. Have perfetto dynamically create these triggers when needed and cleanup the trigger once the perfetto session no longer needs it. Triggers are created/removed when the associated trace event is enabled/disabled by perfetto, so multiple sessions with the same event trigger are inherently handled correctly by the same ftrace_config_muxer logic for enabling/disabling ftrace events. The persistent rss_stat_throttled histogram trigger will be changed to an as-needed trigger created by perfetto. So the existence of this event trigger can no longer be used to check if the kernel supports throttling rss_stat event. Instead test creating a histogram trigger with division arithmetic (needed for event throttling) on rss_stat_throttled. Creating the trigger on rss_stat_throttled also implicitly checks that the synthetic throttled event is present. Test: adb push test/configs/rss_stat.cfg /data/local/tmp/ && cf-adb shell 'cat /data/local/tmp/rss_stat.cfg | perfetto --txt -c - -o /data/misc/perfetto-traces/trace Bug: 236172293 Change-Id: I9e14d56bb442129ea85163e492e00382eb8d8994 Merged-In: I9e14d56bb442129ea85163e492e00382eb8d8994 Merged-In: Ifa50c9e08893c8494739747fe77ab1ceec5c0dfd
2022-06-22perfetto: Add rss_stat.cfg test configKalesh Singh
Add a test config for rss_stat/rss_stat_throttled ftrace events. Test: adb push test/configs/rss_stat.cfg /data/local/tmp/ && cf-adb shell 'cat /data/local/tmp/rss_stat.cfg | perfetto --txt -c - -o /data/misc/perfetto-traces/trace Bug: 236172293 Change-Id: Ie2852467c21c6c7bdfa1c75dc60f49f28e6f709f Merged-In: Ie2852467c21c6c7bdfa1c75dc60f49f28e6f709f
2022-05-10Adding missing dependencies batch 9 am: ed805dc1d1 am: 9a2e5a9a79jahinimtiaz
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18186572 Change-Id: If73c39cb73ee65f1c4872e8a0d362f8541958c25 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-10Adding missing dependencies batch 9 am: ed805dc1d1jahinimtiaz
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18186572 Change-Id: Ic1468c2d7970f6f6322263524509735243b5051c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-09Adding missing dependencies batch 9jahinimtiaz
Bug: 226950040 Test: Presubmit Change-Id: I78be402b5e9f757de04ef5faff37780967245dd2
2022-04-21tp: parse begin and end async systrace events associated to tracks am: ↵Lalit Maganti
9c92776ac2 am: fd5167fa40 am: f940c1a114 am: 08eca682ee am: b810ca4229 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118 Change-Id: If7e56052682ac27c614e94a17f403bcf115247ef Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21tp: parse begin and end async systrace events associated to tracks am: ↵Lalit Maganti
9c92776ac2 am: fd5167fa40 am: f940c1a114 am: 08eca682ee Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118 Change-Id: I2d6531f4e4027e495ef78d239b30a82afa16e080 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21tp: parse begin and end async systrace events associated to tracks am: ↵Lalit Maganti
9c92776ac2 am: fd5167fa40 am: f940c1a114 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118 Change-Id: Ic97074330d16f9748390d4fcc44e64385f746b1f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21tp: parse begin and end async systrace events associated to tracks am: ↵Lalit Maganti
9c92776ac2 am: fd5167fa40 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118 Change-Id: I41267a4ea513dd39b326385c354f0104e73ed612 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21tp: parse begin and end async systrace events associated to tracks am: ↵Lalit Maganti
9c92776ac2 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118 Change-Id: Ie9db5b11c80aa96a7d2e51bfca76b5dc87df4937 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21Update libunwindstack for standalone build am: 4c54e4e3e9 am: 61cd1400f4 am: ↵Daniele Di Proietto
acc187ac17 am: 21f5d67e9e am: 1417a1797c Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794 Change-Id: Ib708b7b2ace34084386e7066934e5f0d4e4a082b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21Update libunwindstack for standalone build am: 4c54e4e3e9 am: 61cd1400f4 am: ↵Daniele Di Proietto
acc187ac17 am: 21f5d67e9e Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794 Change-Id: I0885788252d85666f39b1ae7356afed8fa2836af Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21Update libunwindstack for standalone build am: 4c54e4e3e9 am: 61cd1400f4 am: ↵Daniele Di Proietto
acc187ac17 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794 Change-Id: I4543cd60cb556d67c2b95ccc0e42ee219c89144c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21Update libunwindstack for standalone build am: 4c54e4e3e9 am: 61cd1400f4Daniele Di Proietto
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794 Change-Id: I8a32e87ef9b5ffdf1259ec83c175800b07a5cb11 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21tp: parse begin and end async systrace events associated to tracksLalit Maganti
This CL adds support for parsing 'T' and 'U' events introduced in aosp/2037685 Bug: 221119585 Change-Id: I6831c5eb81f88306f4482f5f74860fb6058609a0
2022-04-21Update libunwindstack for standalone build am: 4c54e4e3e9Daniele Di Proietto
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794 Change-Id: I8fac5b1d61fcd0a6412e84b36f20b78001687091 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21Update libunwindstack for standalone buildDaniele Di Proietto
http://r.android.com/2068137 in perfetto requires an updated version of libunwindstack from the android tree. This picks a new version of libunwindstack that includes http://r.android.com/2029306 for the perfetto standalone build. Also, the LocalUnwinder.cpp file has been removed in http://r.android.com/2008230 Change-Id: I89d683feaffff2e23bb51923f3d2cfeb949040bb
2022-04-21Merge "Add support for new unwindstack error codes." am: 623889d7db am: ↵Christopher Ferris
12e0138561 am: b8e2096b7e am: f9e5ecef39 am: 71f8e9b927 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137 Change-Id: I76e22d5bb6d8441cedf44c3de63d6da4ea2ef609 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21Merge "Add support for new unwindstack error codes." am: 623889d7db am: ↵Christopher Ferris
12e0138561 am: b8e2096b7e am: f9e5ecef39 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137 Change-Id: I867974100819ef07c6d4611c3ab2e20cac602ffe Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21Merge "Add support for new unwindstack error codes." am: 623889d7db am: ↵Christopher Ferris
12e0138561 am: b8e2096b7e Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137 Change-Id: I14b11a177a09e8a4de234518e3d4ef69e34b4670 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21Merge "Add support for new unwindstack error codes." am: 623889d7db am: ↵Christopher Ferris
12e0138561 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137 Change-Id: If2fbd6f430fd9b894b72a545bf8912802900cca1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21Merge "Add support for new unwindstack error codes." am: 623889d7dbChristopher Ferris
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137 Change-Id: I17b61837cdfa81cd3ded49a604bf9441ab882180 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20Merge "Add support for new unwindstack error codes."Christopher Ferris
2022-04-20Merge "traced_perf: fixup erroneous [D]CHECKS" am: 3a7d61d68c am: 8aae922cb9 ↵Treehugger Robot
am: a776f81f1e am: 0af6ae745d am: 1b734c3b4c Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111 Change-Id: Icb2810d06bc3f32370f9c6f969b1883ef03ee5d0 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20Merge "traced_perf: fixup erroneous [D]CHECKS" am: 3a7d61d68c am: 8aae922cb9 ↵Treehugger Robot
am: a776f81f1e am: 0af6ae745d Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111 Change-Id: I2fe8b37be7c1cf50b3bc1ec8892f125cd7ecd2b3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20Merge "traced_perf: fixup erroneous [D]CHECKS" am: 3a7d61d68c am: 8aae922cb9 ↵Treehugger Robot
am: a776f81f1e Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111 Change-Id: Ic8adf27b7ce3babb6baa4e39f44b6e0d5019b9f3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20Merge "traced_perf: fixup erroneous [D]CHECKS" am: 3a7d61d68c am: 8aae922cb9Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111 Change-Id: I756380861e45dd8d888fbf8f8052ee2029c4edca Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20Merge "traced_perf: fixup erroneous [D]CHECKS" am: 3a7d61d68cTreehugger Robot
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111 Change-Id: I72a1be2adbcb7bdc4c5a16fe8ad4be044dc36c31 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20Merge "traced_perf: fixup erroneous [D]CHECKS"Treehugger Robot
2022-04-20Simplify the code am: 63d7ac5b95 am: 9c9aef8e22 am: 935a899e7d am: ↵Andrew Shulaev
43c40167c4 am: ae81291a74 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069107 Change-Id: I59756c6fbc78768dfdf3c267ee9ae37f8457bb66 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20Simplify the code am: 63d7ac5b95 am: 9c9aef8e22 am: 935a899e7d am: 43c40167c4Andrew Shulaev
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069107 Change-Id: I2e84910908a917299e9ae4b0adfeed1587d2f40b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20traced_perf: fixup erroneous [D]CHECKSRyan Savitski
The contiguous sample dcheck wasn't correct, it failed when the end of the event aligned with the end of the buffer (e.g. 4 != 4%4). Instead of fixing it up, remove the dcheck altogether as it's strongly implied by the if-else condition and surrounding checks. Assignment in the CHECK was an error-prone typo. I double-checked the rest of the codebase with a basic search, no other hits. Change-Id: I1c051d87590bb3c4f17287498123255d7338cf73