Closed Bug 1758164 Opened 2 years ago Closed 2 years ago

Some Google properties not working with the changes from bug 1178639

Categories

(Core :: DOM: Bindings (WebIDL), defect)

Firefox 99
Desktop
All
defect
Points:
5

Tracking

()

VERIFIED FIXED
100 Branch
Iteration:
99.2 - Feb 21 - Mar 6
Webcompat Priority P1
Tracking Status
firefox-esr91 --- disabled
firefox98 --- disabled
firefox99 --- disabled
firefox100 + verified

People

(Reporter: metalmunna, Assigned: edgar)

References

(Regression, )

Details

(Keywords: regression)

Attachments

(7 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0

Steps to reproduce:

Google Analytics not working on Nightly 99.0a1 (2022-03-03) (64-bit). this is 2nd days i keep trying to fix. but unable to do so .. no issue to run Google Analytics on FireFox 97.0.1 (64-bit). so is there any new update or the way to fix the issue?

Actual results:

It brings a blank screen and unable to load or run Google Analytics on Nightly 99.0a1 and same thing happens on Nightly build 98 also.

Expected results:

So there is no way to see my visitor list or anything else on Nightly 99.0a1. But there is no issue to run the Google Analytics on Firefox 97. I got the problem found on Nightly 99.0a1 and Nightly 98 build also.

This screen shows GA working without any issue on Firefox build 97

Flags: needinfo?(metalmunna)
Severity: -- → S1
Points: --- → ?
Component: Untriaged → General
Flags: needinfo?(metalmunna)
OS: Unspecified → Windows 11
Priority: -- → P1
Hardware: Unspecified → Desktop
Iteration: --- → 99.2 - Feb 21 - Mar 6
Points: ? → 5

I missed to tell, on the same browser(Nightly 99.0a1) no issue to run any other Google products included Google Ads, mail, TagManager, sites, webmaster .. etc on Nightly. All of that works fine, just Google Analytics not working. it stopped on the screen as shown. I have cleared all browser data, Reset the browser, even delete and reinstall the Nightly 99.0a1 but the result is same.

Since it's working in release, I thought it could be a regression. FWIW, I've tried running mozregression, but it's broken as far as 2020-01-01 for me on MacOS, so I didn't get a meaningful result. There are some errors in the console that we could investigate more: https://github.com/webcompat/web-bugs/issues/100495#issuecomment-1058397498

Webcompat Priority: --- → P1

GA on Nightly 99 with Dev. Console view

GA on Nightly with Debigger view

Flags: needinfo?(metalmunna)

Please skip 1st GA on Nightly with Debigger view, not uploaded properly, so the is the correct version: GA on Nightly with Debigger view - 01

Flags: needinfo?(metalmunna)

I am adding the Console view(In reply to MetalMunna from comment #2)

I missed to tell, on the same browser(Nightly 99.0a1) no issue to run any other Google products included Google Ads, mail, TagManager, sites, webmaster .. etc on Nightly. All of that works fine, just Google Analytics not working. it stopped on the screen as shown. I have cleared all browser data, Reset the browser, even delete and reinstall the Nightly 99.0a1 but the result is same.

QA Whiteboard: [qa-regression-triage]
Attached file 100495.html

This is quite hard to debug as the file with the error is huge (over 600k lines) and the tab freezes each time I try to set a breakpoint :(
I was able to track down find the error that is leading to Uncaught TypeError: _._DumpException is not a function, which is the following:

TypeError: can't redefine non-configurable property "onJsResourceLoad"
    ga4Aba https://www.gstatic.com/_/gafe4/_/js/k=gafe4.gafe4.en_US.kJsv8tgQWvE.es6.O/am=AQ/d=1/br=1/rs=AFkJpdBS5nii0mKnbPB8n5JLY5Iba0rBKw/m=pm_base_lazy:117
    ga4Bba https://www.gstatic.com/_/gafe4/_/js/k=gafe4.gafe4.en_US.kJsv8tgQWvE.es6.O/am=AQ/d=1/br=1/rs=AFkJpdBS5nii0mKnbPB8n5JLY5Iba0rBKw/m=pm_base_lazy:117
    <anonymous> https://www.gstatic.com/_/gafe4/_/js/k=gafe4.gafe4.en_US.kJsv8tgQWvE.es6.O/am=AQ/d=1/br=1/rs=AFkJpdBS5nii0mKnbPB8n5JLY5Iba0rBKw/m=pm_base_lazy:4001
    Gk https://www.gstatic.com/_/gafe4/_/js/k=gafe4.gafe4.en_US.kJsv8tgQWvE.es6.O/am=AQ/d=1/br=1/rs=AFkJpdBS5nii0mKnbPB8n5JLY5Iba0rBKw/m=pm_base_lazy:3932
    <anonymous> https://www.gstatic.com/_/gafe4/_/js/k=gafe4.gafe4.en_US.kJsv8tgQWvE.es6.O/am=AQ/d=1/br=1/rs=AFkJpdBS5nii0mKnbPB8n5JLY5Iba0rBKw/m=pm_base_lazy:4000
    <anonymous> https://www.gstatic.com/_/gafe4/_/js/k=gafe4.gafe4.en_US.kJsv8tgQWvE.es6.O/am=AQ/d=1/br=1/rs=AFkJpdBS5nii0mKnbPB8n5JLY5Iba0rBKw/m=pm_base_lazy:25361

It looks like there is a global function onJsResourceLoad() {}, that is being redefined later with Object.defineProperty, which leads to this error.

There is a check whether the onJsResourceLoad property of the window object is configurable with Object.getOwnPropertyDescriptor(window, 'onJsResourceLoad').configurable. The difference here is that in Firefox release it's false and in Nightly it is true (therefore they try to redefine it, which leads to an error in Nightly only ). I've attached a reduced test case.

Not sure if this is the only issue, but I think it's worth investigating.

Setting this to New - reproduced it on the latest Nightly 99.0a1 and all the way to Nightly 65.0a1 on Windows 10 x64 and macOS Big Sur 11.6. This issue is not reproducible on the Beta and Release versions.

Narrowed regression window to:
Last good revision: 204cda7581188cfc8c8ef11dce4680dadf2b43bb (2018-11-27)
First bad revision: f2915d3ee5f8705676e4bb643eab54b62246f25f (2018-11-28)

Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=204cda7581188cfc8c8ef11dce4680dadf2b43bb&tochange=f2915d3ee5f8705676e4bb643eab54b62246f25f

Changing component to Core:: Javascript Engine, if this is not correct, please move it to a more suitable one.

Thanks!

Severity: S1 → S3
Status: UNCONFIRMED → NEW
Has Regression Range: --- → yes
Has STR: --- → yes
Component: General → JavaScript Engine
Ever confirmed: true
OS: Windows 11 → All
Priority: P1 → --
Product: Firefox → Core

:simona.marcu, since this bug is a regression, could you fill (if possible) the regressed_by field?
For more information, please visit auto_nag documentation.

Flags: needinfo?(simona.marcu)

Thanks :mix5003. Indeed it looks related to 1496510, and probably https://bugzilla.mozilla.org/show_bug.cgi?id=1178639 is the potential regressor

Blocks: 1496510
Component: JavaScript Engine → DOM: Core & HTML
Regressed by: 1178639

Thanks Simona for finding the regression range

Flags: needinfo?(simona.marcu)

This seems to be also affecting https://console.firebase.google.com/ .

Hi Anne, following up on your comment, wonder if we can align Nightly behaviour with release as it affects multiple google sites.

Flags: needinfo?(annevk)

Just now Nightly updated to 100.0a1 (2022-03-08) (64-bit) but Google Analytics issue not solved yet ..

Set release status flags based on info from the regressing bug 1178639

Ksenia, thank you for bringing this to my attention. I forwarded the request in bug 1496510 comment 6.

Flags: needinfo?(annevk)

:bzbarsky, since you are the author of the regressor, bug 1178639, could you take a look?
For more information, please visit auto_nag documentation.

Flags: needinfo?(bzbarsky)

Please make sure this is surfaced to the TC39 standards body and the WHATWG. They need to get their act together and actually make the specifications here not contradict each other.

Past that, one reasonable option is to turn off the behavior in Nightly and then do one of two things:

  1. Actually invest resources in getting the specs aligned to implementations here.
  2. Reach out to GA and get them to not write code that assumes a spec-violating implementation, then get the implementations to follow the specs.
Flags: needinfo?(bzbarsky)

I ran a build that removes all the relevant RELEASE_OR_BETA-gated snippets from dom/base/nsGlobalWindowOuter.cpp to see if this issue is also causing the uptick of Google Cloud Console-issues we've seen recently, and indeed, the GCP console works fine with this patch reverted.

[Tracking Requested - why for this release]:

Bug 1178639 landed a long time ago and we didn't notice any significant breakage, but it appears like Google rolled out changes to some internal library or something that causes the Google Cloud Platform Console to break, and causes the Google Analytics Console to break. The breakage here is significant, where you either see a blank page or an error message, and can't use the apps at all.

Since bug 1178639 is Nightly-only, this isn't super critical as it won't affect release users, but since that change appears to be non-compatible, reverting it for now and starting a standards body discussion as bz suggested might be a way to relieve the pressure for Nightly users. I don't think Outreach will be very successful here, since this is a Firefox Nightly-only issue...

Summary: Google Analytics not working on Nightly 99.0a1 → Google properties not working with the changes from bug 1178639
Summary: Google properties not working with the changes from bug 1178639 → Some Google properties not working with the changes from bug 1178639

Edgar, can you please revert the nightly behavior according to https://bugzilla.mozilla.org/show_bug.cgi?id=1496510#c6 and the comments above?

Flags: needinfo?(echen)
Assignee: nobody → echen
Component: DOM: Core & HTML → DOM: Bindings (WebIDL)
Flags: needinfo?(echen)
Pushed by echen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8fdefc93e70f
Align the behavior of defining non-configurable properties on a WindowProxy on Nightly with Release/Beta; r=peterv
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 100 Branch

Yay, Google Analytics is working again. Thank you!!

Flags: qe-verify+

Reproduced the issue without the fix on Ubuntu 20.4, using build from description.
Verified as fixed on Ubuntu20.4, Mac10.13, Win10 using build 100.0b5 (20220412185818).

Status: RESOLVED → VERIFIED
Flags: qe-verify+

Given the high impact of this bug, I think we can consider this S2 and not S3. Please revert my change if you disagree.

Severity: S3 → S2
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: