Bug 1867289 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Filed based on bug 1812314 where I wallpapered the fact that artifact builds on infra complain in some of the browser tests that check for buildid vs about:restartrequired issues. I wallpapered because frontend folks regularly use artifact builds on trypushes to get faster try results, and it's annoying when all the debug runs of the test complain about this thing which is unrelated to any specific patch. Potentially related context: bug 1541133.

Context from bug 1812314:

(In reply to Geoff Brown [:gbrown] from bug 1812314 comment #3)
> In https://treeherder.mozilla.org/jobs?repo=try&revision=fcaf9de151092ce4f241aadac236cce4c017cfc6 you can see that ensureBuildID() successfully retrieves the contents of platform.ini, as seen in the artifact build's target.tar.bz. However, the build ID in platform.ini is different from the build ID provided by Services.appinfo.platformBuildID.
> 
> I believe Services.appinfo.platformBuildID is gToolkitBuildID, which is compiled into libxul and comes from https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/toolkit/library/gen_buildid.py#36.
> 
> I don't know what to do about the difference.

(In reply to Nika Layzell [:nika] (ni? for response) from bug 1812314 comment #9)
> It seems likely that the `MOZ_BUILDID` constant is not the same in artifact builds compared to the artifacts they are building off of, like is usually the case. This constant is preprocessed into the [`platform.ini` file](https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/toolkit/xre/platform.ini#10) (as well as other places, like [`AppConstants.sys.mjs`](https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/toolkit/modules/AppConstants.sys.mjs#345) and [`application.ini`](https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/build/application.ini.in#29,50)) when running the build system.
> 
> It makes sense that artifact builds would use different build IDs, given that the value is determined [from the current date](https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/build/variables.py#13-20), in order to ensure it's unique for every build.
> 
> In general it's OK for us to have multiple different build IDs, in fact we track both the `appBuildID` (https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/xpcom/system/nsIXULAppInfo.idl#46, taken from `application.ini`), as well as the `platformBuildID` (https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/xpcom/system/nsIPlatformInfo.idl#18, taken from the binary), as they can be different.
> 
> I think specifically, the `platform.ini` file probably needs to agree with the `MOZ_BUILDID` which is built into the binary, given how we're using it right now for detecting `about:restartrequired` false-positives, so perhaps it is an artifact which should be downloaded, instead of built for artifact builds.

(In reply to Jed Davis [:jld] ⟨⏰|UTC-8⟩ ⟦he/him⟧ from bug 1812314 comment #11)
> (In reply to Nika Layzell [:nika] (ni? for response) from comment #9)
> > I think specifically, the `platform.ini` file probably needs to agree with the `MOZ_BUILDID` which is built into the binary, given how we're using it right now for detecting `about:restartrequired` false-positives, so perhaps it is an artifact which should be downloaded, instead of built for artifact builds.
> 
> That code can be changed, if there's a better / more reliable way to tell when the install on disk doesn't match the running install (ideally without needing to execute anything).  But, if it's relatively simple to just include `platform.ini` in the artifact part of the artifact build along with libxul, that's at least be a short-term solution.
Filed based on bug 1812314 where I wallpapered the fact that artifact builds on infra complain in some of the browser tests that check for buildid vs about:restartrequired issues. I wallpapered because frontend folks regularly use artifact builds on trypushes to get faster try results, and it's annoying when all the debug runs of the test complain about this thing which is unrelated to any specific patch. Potentially related context: bug 1651133.

Context from bug 1812314:

(In reply to Geoff Brown [:gbrown] from bug 1812314 comment #3)
> In https://treeherder.mozilla.org/jobs?repo=try&revision=fcaf9de151092ce4f241aadac236cce4c017cfc6 you can see that ensureBuildID() successfully retrieves the contents of platform.ini, as seen in the artifact build's target.tar.bz. However, the build ID in platform.ini is different from the build ID provided by Services.appinfo.platformBuildID.
> 
> I believe Services.appinfo.platformBuildID is gToolkitBuildID, which is compiled into libxul and comes from https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/toolkit/library/gen_buildid.py#36.
> 
> I don't know what to do about the difference.

(In reply to Nika Layzell [:nika] (ni? for response) from bug 1812314 comment #9)
> It seems likely that the `MOZ_BUILDID` constant is not the same in artifact builds compared to the artifacts they are building off of, like is usually the case. This constant is preprocessed into the [`platform.ini` file](https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/toolkit/xre/platform.ini#10) (as well as other places, like [`AppConstants.sys.mjs`](https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/toolkit/modules/AppConstants.sys.mjs#345) and [`application.ini`](https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/build/application.ini.in#29,50)) when running the build system.
> 
> It makes sense that artifact builds would use different build IDs, given that the value is determined [from the current date](https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/build/variables.py#13-20), in order to ensure it's unique for every build.
> 
> In general it's OK for us to have multiple different build IDs, in fact we track both the `appBuildID` (https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/xpcom/system/nsIXULAppInfo.idl#46, taken from `application.ini`), as well as the `platformBuildID` (https://searchfox.org/mozilla-central/rev/e1b4aec181f4e630fd9b08ac29c1d00a56ae5eed/xpcom/system/nsIPlatformInfo.idl#18, taken from the binary), as they can be different.
> 
> I think specifically, the `platform.ini` file probably needs to agree with the `MOZ_BUILDID` which is built into the binary, given how we're using it right now for detecting `about:restartrequired` false-positives, so perhaps it is an artifact which should be downloaded, instead of built for artifact builds.

(In reply to Jed Davis [:jld] ⟨⏰|UTC-8⟩ ⟦he/him⟧ from bug 1812314 comment #11)
> (In reply to Nika Layzell [:nika] (ni? for response) from comment #9)
> > I think specifically, the `platform.ini` file probably needs to agree with the `MOZ_BUILDID` which is built into the binary, given how we're using it right now for detecting `about:restartrequired` false-positives, so perhaps it is an artifact which should be downloaded, instead of built for artifact builds.
> 
> That code can be changed, if there's a better / more reliable way to tell when the install on disk doesn't match the running install (ideally without needing to execute anything).  But, if it's relatively simple to just include `platform.ini` in the artifact part of the artifact build along with libxul, that's at least be a short-term solution.

Back to Bug 1867289 Comment 0