Building resources.arsc is non-hermetic in some cases |
||
Issue descriptionThis came up with: https://chromium-review.googlesource.com/c/chromium/src/+/991236 Adding a new asset was causing the 64-bit resources.arsc to differ from the 32-bit one. However, assets are not even inputs to the step that builds resources.arsc! Diffing the two .apks shows that they have identical contents, but subtle differences in the order in which strings are put into the string table. Here is a diff of "strings resources.arsc" of 32-bit vs 64-bit: 416d415 < Edit 590d588 < Name 707d704 < Password 1004d1000 < Username 4117a4114 > Continua 6433a6431 > Navn 6553a6552 > Rediger adresse 8896d8894 < Navn 9075d9072 < Rediger adresse 10502a10500 > Name 17971d17968 < Heslo 20524d20520 < prava karty 26259a26256 > Prijava 26543a26541 > Uredi 27759a27758 > Password 27908a27908 > Username 27911a27912 > Visa 28671a28673 > Edit 36176d36177 < Prijava 36582d36582 < Uredi 40347a40348 > Heslo 42767a42769 > prava karty 43279d43280 < Contrase 43413d43413 < Editar direcci 43419d43418 < Editar tarjeta 43480a43480 > Enviar 43865d43864 < s informaci 43958,43959d43956 < Nombre < Nombre de usuario 44264d44260 < Seleccionar 44934d44929 < Continua 57350d57344 < Visa 60812d60805 < Continuar 60928d60920 < Editar 60961d60952 < Enviar 62562a62554,62555 > Continuar > Contrase 62658a62652,62653 > Editar > Editar direcci 62663a62659 > Editar tarjeta 63030a63027 > s informaci 63094a63092 > Nombre 63095a63094 > Nombre de usuario 63405a63405 > Seleccionar Note that all of the strings are the same in the end, but appear in different spots within the string table.
,
Apr 4 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/081ead710ebc4645053c6bf3ef0a00bb36d50a3c commit 081ead710ebc4645053c6bf3ef0a00bb36d50a3c Author: Andrew Grieve <agrieve@chromium.org> Date: Wed Apr 04 18:19:45 2018 Android: Maintain original order of sibling deps within .build_configs This reduces randomness in the build by making our dependency sorting a stable sort. Bug: 828528 , 828508 Change-Id: Ibf0f1de0d77333cdee575560912728e47b8f292e Reviewed-on: https://chromium-review.googlesource.com/994545 Commit-Queue: agrieve <agrieve@chromium.org> Reviewed-by: Samuel Huang <huangs@chromium.org> Cr-Commit-Position: refs/heads/master@{#548131} [modify] https://crrev.com/081ead710ebc4645053c6bf3ef0a00bb36d50a3c/build/android/PRESUBMIT.py [modify] https://crrev.com/081ead710ebc4645053c6bf3ef0a00bb36d50a3c/build/android/gyp/util/build_utils.py [add] https://crrev.com/081ead710ebc4645053c6bf3ef0a00bb36d50a3c/build/android/gyp/util/build_utils_test.py [modify] https://crrev.com/081ead710ebc4645053c6bf3ef0a00bb36d50a3c/build/android/gyp/write_build_config.py [modify] https://crrev.com/081ead710ebc4645053c6bf3ef0a00bb36d50a3c/build/android/gyp/write_ordered_libraries.py
,
Apr 5 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by agrieve@chromium.org
, Apr 3 2018To reproduce: Apply diff to commit from #1: diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn index a0171e8eb34c..460c4d6fefce 100644 --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn @@ -1097,7 +1097,7 @@ template("chrome_public_apk_tmpl_shared") { # assigns different names for these versions. _add_unwind_tables_in_chrome_public_apk = can_unwind_with_cfi_table && is_official_build -_add_unwind_tables_in_monochrome_public_apk = is_official_build +_add_unwind_tables_in_monochrome_public_apk = can_unwind_with_cfi_table && is_official_build chrome_public_apk_tmpl_shared("chrome_public_apk") { android_manifest = chrome_public_android_manifest