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

Issue 761205 link

Starred by 1 user

Issue metadata

Status: Archived
Owner: ----
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Linux ChromiumOS Ozone Builder is broken: InfoPlist.strings is dirty

Project Member Reported by alemate@chromium.org, Sep 1 2017

Issue description

Example build:

https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Ozone%20Builder/builds/55593


Check-after-build fails:

ninja -w 'dupbuild=err' -C out/Release -j 50 All all -d explain -n
ninja explain: output gen/remoting/host/remote_assistance_host-InfoPlist.strings/en_US.lproj/InfoPlist.strings doesn't exist
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/am.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/ar.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/bg.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/bn.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/ca.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/cs.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/da.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/de.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/el.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/en.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/es.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/et.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/fa.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/fi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/fil.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/fr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/gu.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/he.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/hi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/hr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/hu.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/id.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/it.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/ja.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/kn.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/ko.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/lt.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/lv.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/ml.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/mr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/ms.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/nb.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/nl.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/pl.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/ro.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/ru.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/sk.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/sl.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/sr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/sv.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/sw.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/ta.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/te.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/th.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/tr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/uk.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/vi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/en_GB.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/pt_PT.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/zh_CN.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/zh_TW.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/fake_bidi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/en_US.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/pt_BR.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remote_assistance_host-InfoPlist.strings/es_419.lproj/InfoPlist.strings is dirty
ninja explain: output gen/remoting/host/remoting_me2me_host-InfoPlist.strings/en_US.lproj/InfoPlist.strings doesn't exist
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/am.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/ar.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/bg.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/bn.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/ca.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/cs.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/da.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/de.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/el.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/en.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/es.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/et.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/fa.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/fi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/fil.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/fr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/gu.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/he.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/hi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/hr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/hu.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/id.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/it.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/ja.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/kn.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/ko.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/lt.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/lv.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/ml.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/mr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/ms.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/nb.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/nl.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/pl.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/ro.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/ru.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/sk.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/sl.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/sr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/sv.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/sw.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/ta.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/te.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/th.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/tr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/uk.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/vi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/en_GB.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/pt_PT.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/zh_CN.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/zh_TW.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/fake_bidi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/en_US.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/pt_BR.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/remoting_me2me_host-InfoPlist.strings/es_419.lproj/InfoPlist.strings is dirty
ninja explain: output gen/remoting/host/native_messaging_host-InfoPlist.strings/en_US.lproj/InfoPlist.strings doesn't exist
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/am.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/ar.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/bg.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/bn.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/ca.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/cs.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/da.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/de.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/el.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/en.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/es.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/et.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/fa.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/fi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/fil.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/fr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/gu.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/he.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/hi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/hr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/hu.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/id.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/it.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/ja.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/kn.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/ko.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/lt.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/lv.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/ml.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/mr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/ms.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/nb.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/nl.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/pl.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/ro.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/ru.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/sk.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/sl.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/sr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/sv.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/sw.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/ta.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/te.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/th.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/tr.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/uk.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/vi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/en_GB.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/pt_PT.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/zh_CN.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/zh_TW.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/fake_bidi.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/en_US.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/pt_BR.lproj/InfoPlist.strings is dirty
ninja explain: gen/remoting/host/native_messaging_host-InfoPlist.strings/es_419.lproj/InfoPlist.strings is dirty
ninja explain: obj/remoting/host/remoting_infoplist_strings.stamp is dirty
ninja explain: obj/remoting/host/remoting_infoplist_strings.stamp is dirty


The problem seems to be in remoting/remoting_locales.gni / remoting/tools/build/remoting_localize.py .
"en_US"  is in lists of locales, but remoting_localize.py seems to normalize it to "en" and never generates */en_US.lproj/InfoPlist.strings .
This way, all outputs of "remoting_localize" rule are marked as dirty.

 
Labels: Build-PFQ-Failures
Components: Infra

Comment 3 by mmoss@chromium.org, Jan 2 2018

Components: -Infra Infra>Client>ChromeOS
[It appears that a bunch of old cros issues bulk-added the "Infra" component recently, but they should probably be "Infra>Client>ChromeOS".]
Status: Archived (was: Untriaged)

Sign in to add a comment