Open Bug 1441814 Opened 6 years ago Updated 2 years ago

Google Spreadsheets unusable ("server error") on Firefox 57.0

Categories

(Core :: DOM: Device Interfaces, defect, P2)

57 Branch
Unspecified
macOS
defect

Tracking

()

Tracking Status
firefox58 --- affected
firefox59 --- affected
firefox60 --- affected

People

(Reporter: mail, Unassigned)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:57.0) Gecko/20100101 Firefox/57.0
Build ID: 20171112125346

Steps to reproduce:

1) Open https://docs.google.com/spreadsheets
2) Create new sheet or open existing one

I'm using Firefox 57.0 64bit on macOS 10.12.6 (16G1114) and this issue started appearing a few days ago. I also tried in private mode and with no extensions installed. I also verified it on a completely different machine and some coworkers have the same issue.

I'm not sure if it's a Firefox problem or a Google problem...



Actual results:

Google displays message "Working...", then "Something went wrong" and then "A server error occurred. Please press "Reload" in your browser.

Console output:

```
CSI/tbsd_
cb=gapi.loaded_0:336:127
CSI/_tbnd
cb=gapi.loaded_0:336:127
Use of getAttributeNode() is deprecated. Use getAttribute() instead.
351128769-ritz_waffle_i18n_core.js:3340:126
Attempt to set a forbidden header was denied: Connection
351128769-ritz_waffle_i18n_core.js:464:114
Wed Feb 28 14:44:07 GMT+100 2018 RitzEntryPoint
SEVERE: Uncaught Exception:
Class$S441: (TypeError) : a.d.tC is not a function
	at Unknown.i3f(ritz-3.js)
	at Unknown.j3f(ritz-3.js)
	at Unknown.p3f(ritz-3.js)
	at Unknown.Kz(ritz-0.js)
	at Unknown.Mz(ritz-0.js)
	at Unknown.Iz(ritz-0.js)
	at Unknown.M5d(ritz-3.js)
	at Unknown.ritz_api.FunctionHelpContentApi.getAllFunctionHelp<(ritz-3.js)
	at Unknown.iP(ritz-0.js)
	at Unknown.lP(ritz-0.js)
	at Unknown.kP/<(ritz-0.js)
	at Unknown.Jsb(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.prototype.load/<(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.prototype.Xl(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.c(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.Z1a(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.tM(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.nB(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.anonymous(https://docs.google.com/static/spreadsheets2/client/js/973718345-ritz_waffle_i18n_functionhelpcontent.js)
	at Unknown.Fa(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.f2a(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.rlb(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.Hea(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.dispatchEvent(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.prototype.D(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.Hea(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.dispatchEvent(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.qna(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.tpa(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.c(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.ARa(https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js)
	at Unknown.anonymous(Unknown)
ritz-0.js:1290:147
bpc ritz-0.js:1290:147 t0l ritz-0.js:11627:174 s0l ritz-0.js:11626:70 D0l ritz-0.js:11636:123 t0d ritz-0.js:1851:63 oP ritz-0.js:890:55 lP ritz-0.js:887:102 kP/< ritz-0.js:886:46 Jsb
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:2591:61
Isb.prototype.load/<
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:2590:289
iB.prototype.Xl
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:1932:562
c
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:485:92
Z1a
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:1933:171
p.tM
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:1932:1132
nB
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:1947:150
<anonymous>
https://docs.google.com/static/spreadsheets2/client/js/973718345-ritz_waffle_i18n_functionhelpcontent.js:545:365
Fa
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:36:238
f2a
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:1935:119
p.rlb
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:1935:341
Hea
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:141:198
p.dispatchEvent
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:139:369
b2a.prototype.D
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:1933:826
Hea
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:141:198
p.dispatchEvent
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:139:369
qna
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:467:196
p.tpa
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:466:383
c
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:485:92
p.ARa
https://docs.google.com/static/spreadsheets2/client/js/351128769-ritz_waffle_i18n_core.js:466:353
Content Security Policy: Ignoring “'unsafe-inline'” within script-src: ‘strict-dynamic’ specified
Content Security Policy: Ignoring “https:” within script-src: ‘strict-dynamic’ specified
Content Security Policy: Ignoring “http:” within script-src: ‘strict-dynamic’ specified 
```


Expected results:

The Spreadsheet should open.
I'm seeing the same problem with my default profile on Firefox Nightly. However, I cannot reproduce with a clean profile.
OS: Unspecified → Mac OS X
Using the "Refresh Nightly..." button from about:support has made it work again for me.
This appears to be caused by changing the config setting "security.webauth.u2f" to "true". If set to "false", Google Sheets works fine.

I noticed that if I started with a clean profile (similar to comment #2) everything was fine. So instead of resetting my profile, I backed it up, then "reset" different parts of my profile until Sheets started working. I cleared caches, local storage, passwords, addons, etc... When it was time to check all of my local preferences, I just did a binary search on prefs.js and would remove half-at-a-time until I narrowed down exactly which preference was causing the issue.

To validate that this was all correct, I restored my original (untouched) profile, double checked that Sheets was still broken (it was) then flipped "security.webauth.u2f" to true and validated that Sheets started working. I can now switch Sheets from  working to broken just by toggling the u2f setting.
Adam, thanks for doing that legwork! Confirmed that I also had U2F enabled before, so that would explain the problem. I've moved this into DOM: Device Interfaces for now so maybe the people working on U2F support can take a look. Might be web compat instead, though.
Status: UNCONFIRMED → NEW
Component: Untriaged → DOM: Device Interfaces
Ever confirmed: true
Product: Firefox → Core
(In reply to Adam Batkin from comment #4)
> This appears to be caused by changing the config setting
> "security.webauth.u2f" to "true". If set to "false", Google Sheets works
> fine.
> [...]

Thanks for tracking that down. I also have this option enabled for my Yubikey and it also explains why I didn't find so many other people that had this problem!
Pulling in the Security team working on WebAuthn implementation. Also wondering if recent news on Yubikey and WebUSB around 4-5 days ago has had some effect on this behaviour?
Flags: needinfo?(jjones)
Probably not. This is pretty much the same situation as Bug 1411710. Like that bug, it will need to be fixed at Google's side. I'll reach out to my Google contacts about it.

In the mean time, I guess we need to flip the pref back to "false" as comment #4 suggests.
Flags: needinfo?(jjones)
Same here, though using Google Inbox, the page appear to load, but then after loading I get the message 

> Sorry, there was a problem while loading Inbox. Do you want to reload?

changing `security.webauth.u2f` to false resolves it.

For me, this is in Firefox 58.0.2 on Solus Linux.
I believe this is happening because enabling security.webauth.u2f adds a new global "u2f" on window, which is short enough to be used by JS compilers.

We (Google) have added "u2f" to the list of names that the compiler is not allowed to generate, and expect this to be fixed once that propagates to frontend builds.
(In reply to J.C. Jones [:jcj] from comment #8)
> Probably not. This is pretty much the same situation as Bug 1411710. Like
> that bug, it will need to be fixed at Google's side. I'll reach out to my
> Google contacts about it.
> 
> In the mean time, I guess we need to flip the pref back to "false" as
> comment #4 suggests.

Do we have a separate bug for this, JC? Should we morph this to be that? Do we have a tracking bug in Tech Evangelism for this?

Thanks for comment 10, Arnar!
Flags: needinfo?(jjones)
Priority: -- → P1
(In reply to Andrew Overholt [:overholt] (Back March 22) from comment #11)
> (In reply to J.C. Jones [:jcj] from comment #8)
> > Probably not. This is pretty much the same situation as Bug 1411710. Like
> > that bug, it will need to be fixed at Google's side. I'll reach out to my
> > Google contacts about it.
> > 
> > In the mean time, I guess we need to flip the pref back to "false" as
> > comment #4 suggests.
> 
> Do we have a separate bug for this, JC? Should we morph this to be that? Do
> we have a tracking bug in Tech Evangelism for this?
> 
> Thanks for comment 10, Arnar!

Per Arnar, I think there's no action for us to take. I think we're good-to-go for this bug and the similar ones for Gmail in the past (Bug 1411710) once Google's minifier updates. I'm not aware of any other minifiers causing this issue.
Flags: needinfo?(jjones)
Priority: P1 → P2
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: