New issue
Advanced search Search tips

Issue 874514 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Aug 22
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression



Sign in to add a comment

34kb regression in resource_sizes (MonochromePublic.apk) at 583155:583155

Project Member Reported by agrieve@chromium.org, Aug 15

Issue description

Caused by “Add range and arithmetic checks to `base::VectorBuffer`.”

Commit: b586d770ad4c96daaef4104e89e43126568c6e3f

Link to size graph: https://chromeperf.appspot.com/report?sid=bb23072657e2d7ca892a1c3fa4643b1ee29b3a0a44d0732adda87168e89c0380&num_points=10&rev=583155

Link to supersize symbol diff:
https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8938165736347884272/+/steps/Show_Supersize_Diff/0/logs/s_____Show_Diff____/0

Debugging size regressions is documented at: https://chromium.googlesource.com/chromium/src/+/master/docs/speed/apk_size_regressions.md#Debugging-Apk-Size-Increase

Based on the graph, size is from native code.

Given the nature of the change, it sounds like the increase is expected and "worth it". If so, then please close as "Won't Fix".
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=874514

(For debugging:) Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?sid=12a097a645dc0c3db52d43769ffadb3720b54a2ae1c010c5b9585e9fd0b91b81


Bot(s) for this bug's original alert(s):

Android Builder Perf
Assigning to palmer@chromium.org because this is the only CL in range:
Add range and arithmetic checks to `base::VectorBuffer`.

Bug: 817982
Change-Id: If8602db9f284873f037775f3a37bcac8e120b313
Reviewed-on: https://chromium-review.googlesource.com/1166456
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Chris Palmer <palmer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583155}
Components: Security Internals
Labels: OS-Android
This is a bit surprising. My local testing for object code size (Linux, 64-bit, debug = false, non-Release build) resulted in exactly 0 size change. (Which then sent me on a disassembly adventure to ensure the checks were there! They were, and fit inside the usual slack space in the object code.)

So it might be that a Release build has no/less slack space, and hence the checks become visible in object code size. Or perhaps the compiler for Android is different than for Linux, and different code is generated?

34 KiB is also larger than I would have expected, unfortunately.

Still, my view is that this is "worth it".

It may be that (now-redundant) checks in `VectorBuffer` call sites, if any, can be removed now. I'll keep this bug open for now to remind me to see if there is any of that going on.
Cc: awhalley@chromium.org
Status: WontFix (was: Assigned)
Confirmed that I could not find any now-redundant `CHECK`s in `VectorBuffer` call sites.

Sign in to add a comment