New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 770199 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
please use my google.com address
Closed: Sep 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

33kb regression in resource_sizes (MonochromePublic.apk) at 505219:505219

Project Member Reported by agrieve@chromium.org, Sep 29 2017

Issue description

Caused by “Mojo: Scramble message IDs at build time”

Commit: 496fe9b7b6233b74af73c71c87404bc3f27323d4

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

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: 400 bytes of dex, and the rest is native code growth (.text section)

It's not clear to me whether or not this increase was expected.
Please have a look and either:

Close as “Won't Fix” with a short justification, or
Land a revert / fix-up.
 
Project Member

Comment 1 by 42576172...@developer.gserviceaccount.com, Sep 29 2017

All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=770199

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


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

Android Builder
Output of: tools/binary_size/diagnose_bloat.py 496fe9b7b6233b74af73c71c87404bc3f27323d4 --cloud

1 symbols added (+), 2076 changed (~), 0 removed (-), 529460 unchanged (not shown)
Number of unique symbols 410560 -> 410710 (+150)
0 paths added, 0 removed, 239 changed

Showing 2,077 symbols (aliases not grouped for diffs) with total pss: 36109 bytes
.text=35.3kb     .rodata=0 bytes    .data.rel.ro=0 bytes    .data=0 bytes    .bss=0 bytes    total=35.3kb
Number of unique paths: 239

Section Legend: t=.text, r=.rodata, R=.data.rel.ro, d=.data, b=.bss
Index | Running Total | Section@Address | Δ PSS (Δ size_without_padding) | Path
------------------------------------------------------------
+ 0)       -434 (-1.2%) t@0x0        -434 (0->0)        {{no path}}
               ** aggregate padding of diff'ed symbols
~ 1)       -190 (-0.5%) t@0xa8eedc   244 (3120->3364)   content/common/indexed_db/indexed_db.mojom.cc
               indexed_db::mojom::DatabaseStubDispatch::Accept
~ 2)         38 (0.1%)  t@0xa966b8   228 (1592->1820)   content/common/input/input_handler.mojom.cc
               content::mojom::FrameInputHandlerStubDispatch::Accept
~ 3)        258 (0.7%)  t@0xa96e78   220 (724->944)     content/common/input/input_handler.mojom.cc
               content::mojom::FrameInputHandlerRequestValidator::Accept
~ 4)        470 (1.3%)  t@0xa8fe3c   212 (700->912)     content/common/indexed_db/indexed_db.mojom.cc
               indexed_db::mojom::DatabaseRequestValidator::Accept
~ 5)        638 (1.8%)  t@0xae0c78   168 (520->688)     components/leveldb/public/interfaces/leveldb.mojom.cc
               leveldb::mojom::LevelDBDatabaseRequestValidator::Accept
~ 6)        806 (2.3%)  t@0xb9159c   168 (520->688)     services/viz/privileged/interfaces/gl/gpu_service.mojom.cc
               viz::mojom::GpuServiceRequestValidator::Accept
~ 7)        958 (2.7%)  t@0xaaf6e0   152 (496->648)     content/common/service_worker/service_worker_event_dispatcher.mojom.cc
               content::mojom::ServiceWorkerEventDispatcherRequestValidator::Accept
~ 8)       1103 (3.1%)  t@Group      145 (0->0)         {{no path}}
               ** symbol gaps (count=9)
~ 9)       1247 (3.6%)  t@0xaae13c   144 (3164->3308)   content/common/service_worker/service_worker_event_dispatcher.mojom.cc
               content::mojom::ServiceWorkerEventDispatcherStubDispatch::AcceptWithResponder
~ 10)      1387 (4.0%)  t@0xeae400   140 (472->612)     components/autofill/content/common/autofill_driver.mojom.cc
               autofill::mojom::PasswordManagerDriverRequestValidator::Accept
~ 11)      1527 (4.4%)  t@0xae74dc   140 (472->612)     components/filesystem/public/interfaces/directory.mojom.cc
               filesystem::mojom::DirectoryRequestValidator::Accept
~ 12)      1667 (4.8%)  t@0xadef9c   140 (4312->4452)   components/leveldb/public/interfaces/leveldb.mojom.cc
               leveldb::mojom::LevelDBDatabaseStubDispatch::AcceptWithResponder
~ 13)      1803 (5.1%)  t@0xaafa64   136 (320->456)     content/common/service_worker/service_worker_event_dispatcher.mojom.cc
               content::mojom::ServiceWorkerEventDispatcherResponseValidator::Accept
~ 14)      1931 (5.5%)  t@0xeadd54   128 (1520->1648)   components/autofill/content/common/autofill_driver.mojom.cc
               autofill::mojom::PasswordManagerDriverStubDispatch::Accept
~ 15)      2055 (5.9%)  t@0xae6590   124 (2308->2432)   components/filesystem/public/interfaces/directory.mojom.cc
               filesystem::mojom::DirectoryStubDispatch::AcceptWithResponder
~ 16)      2179 (6.2%)  t@0xa8c47c   124 (1800->1924)   content/common/indexed_db/indexed_db.mojom.cc
               indexed_db::mojom::CallbacksStubDispatch::Accept
~ 17)      2303 (6.6%)  t@0xae1038   124 (308->432)     components/leveldb/public/interfaces/leveldb.mojom.cc
               leveldb::mojom::LevelDBDatabaseResponseValidator::Accept
~ 18)      2419 (6.9%)  t@0xea8ed8   116 (420->536)     components/autofill/content/common/autofill_agent.mojom.cc
               autofill::mojom::AutofillAgentRequestValidator::Accept
~ 19)      2535 (7.2%)  t@0xea895c   116 (1160->1276)   components/autofill/content/common/autofill_agent.mojom.cc
               autofill::mojom::AutofillAgentStubDispatch::Accept
~ 20)      2651 (7.6%)  t@0xae782c   116 (296->412)     components/filesystem/public/interfaces/directory.mojom.cc
               filesystem::mojom::DirectoryResponseValidator::Accept
~ 21)      2767 (7.9%)  t@0xaebbf4   116 (420->536)     components/filesystem/public/interfaces/file.mojom.cc
               filesystem::mojom::FileRequestValidator::Accept
~ 22)      2883 (8.2%)  t@0xa8cdc8   116 (420->536)     content/common/indexed_db/indexed_db.mojom.cc
               indexed_db::mojom::CallbacksRequestValidator::Accept
~ 23)      2996 (8.6%)  t@0xb0fb0c   113 (18->132)      third_party/WebKit/public/platform/modules/background_fetch/background_fetch.mojom.cc
               blink::mojom::BackgroundFetchService_UpdateUI_ProxyToResponder::Run (num_aliases=7->1)
~ 24)      3110 (8.9%)  t@0xb16b94   113 (18->132)      third_party/WebKit/public/platform/modules/keyboard_lock/keyboard_lock.mojom.cc
               blink::mojom::KeyboardLockService_RequestKeyboardLock_ProxyToResponder::Run (num_aliases=7->1)
~ 25)      3224 (9.2%)  t@0xb1812c   113 (18->132)      third_party/WebKit/public/platform/modules/notifications/notification_service.mojom.cc
               blink::mojom::NotificationService_GetPermissionStatus_ProxyToResponder::Run (num_aliases=7->1)
~ 26)      3337 (9.5%)  t@0xb1aac0   113 (18->132)      third_party/WebKit/public/platform/modules/permissions/permission.mojom.cc
               blink::mojom::PermissionService_HasPermission_ProxyToResponder::Run (num_aliases=7->1)
~ 27)      3451 (9.9%)  t@0xb1ab44   113 (18->132)      third_party/WebKit/public/platform/modules/permissions/permission.mojom.cc
               blink::mojom::PermissionService_RequestPermission_ProxyToResponder::Run (num_aliases=7->1)
~ 28)      3565 (10.2%) t@0xb119cc   113 (18->132)      third_party/WebKit/public/platform/modules/bluetooth/web_bluetooth.mojom.cc
               blink::mojom::WebBluetoothService_RemoteServerConnect_ProxyToResponder::Run (num_aliases=7->1)
~ 29)      3679 (10.5%) t@0xb2c238   113 (18->132)      device/screen_orientation/public/interfaces/screen_orientation.mojom.cc
               device::mojom::ScreenOrientation_LockOrientation_ProxyToResponder::Run (num_aliases=7->1)
~ 30)      3792 (10.8%) t@0xae5794   113 (18->132)      components/filesystem/public/interfaces/directory.mojom.cc
               filesystem::mojom::Directory_OpenFile_ProxyToResponder::Run (num_aliases=7->1)
~ 31)      3906 (11.2%) t@0xaea35c   113 (18->132)      components/filesystem/public/interfaces/file.mojom.cc
               filesystem::mojom::File_Close_ProxyToResponder::Run (num_aliases=7->1)
~ 32)      4020 (11.5%) t@0xad9c2c   113 (18->132)      components/leveldb/public/interfaces/leveldb.mojom.cc

Comment 3 by roc...@chromium.org, Sep 29 2017

Status: WontFix (was: Assigned)
The only code change here is intentionally moving message IDs from sequential 0-based integers, to arbitrary 32-bit hash values. The numbers are generated at build time though, so the extra code size is from the integers themselves and probably a slightly larger switch/case block as a result.

If we want scrambled message IDs, this will probably be unavoidable.
Status: Assigned (was: WontFix)
Confirmed the size increase is from the numbers getting larger and more random.

However, the attached bug indicates that this randomization is needed only for desktop platforms. Could we disable it for is_android?

Comment 5 by roc...@chromium.org, Sep 29 2017

Sure, makes sense. Note that it's getting reverted for now anyway since it
affects build determinism and we need to figure that out first. I'll close
this after the revert lands, and ensure that the reland doesn't affect
Android build.

Comment 6 by roc...@chromium.org, Sep 29 2017

Status: Fixed (was: Assigned)
Revert landed in r505413. The reland prohibits this change from affecting Android in the future: https://chromium-review.googlesource.com/c/chromium/src/+/693037

Sign in to add a comment