Closed Bug 1562168 Opened 5 years ago Closed 4 years ago

[Fission] Facebook games are not working properly if Fission is activated

Categories

(Core :: DOM: Events, defect, P2)

69 Branch
Desktop
All
defect

Tracking

()

RESOLVED WORKSFORME
Fission Milestone M6
Tracking Status
firefox69 --- disabled
firefox70 --- disabled

People

(Reporter: vlucaci, Unassigned)

References

Details

Attachments

(1 file)

Affected versions

  • 69.0a1(2019-06-27)

Affected platforms

  • Windows 10x64
  • Ubuntu 18.04x64
  • macOS 10.14

Steps to reproduce

  1. Launch FF.
  2. Go to about:config
  3. Turn on fission.autostart pref.
  4. Go to Facebook.com
  5. Login with valid credentials.
  6. Play any of the following games Caesars Slots, BINGO Blitz, House of Fun - Slots, Slotomania Slot Machines.

Expected result

  • Games are loading all of their content(video and audio) and the user can interact with the game interface and reach the Action Phase(actual gameplay)

Actual result

  • Game remains stuck at the loading screen and never reaches the game menu or actual gameplay.

Regression range

  • Will return with regression range ASAP

Additional notes

  • There are multiple behaviors for this issue:
  • The game remains stuck inside the loading screen(black screen , or with the game logo)

  • After the loading animation has been completed, when the game menu should be displayed, the screen starts flashing between a blank white or blue screen and the loading bar of the game.

  • Errors that are triggered inside the console are:
    Security Error: Content at https://www.facebook.com/ may not load data from https://s.update.fbsbx.com/2/843748/utils.html?ti=aa532b19-7…acebook.com&bt=FACEBOOK&dt=8437481520966594402012&sn=SESSION.
    NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIProgressEventSink.onStatus]

Bugbug thinks this bug is a regression, but please revert this change in case of error.

Keywords: regression
Has Regression Range: --- → no

Hi Ethan,
Looking at the security error, I wonder if your team has ideas here. Do we need certain work for Fission?

Flags: needinfo?(ettseng)
Blocks: fission-dogfooding
No longer blocks: fission
Fission Milestone: --- → M5

The error message came from here: https://searchfox.org/mozilla-central/source/dom/locales/en-US/chrome/security/caps.properties#5
It is "CheckSameOriginError". Maybe it was caused by https://searchfox.org/mozilla-central/source/caps/nsScriptSecurityManager.cpp#484?
Chris, can you or jkr investigate this issue?

Flags: needinfo?(jkt)
Flags: needinfo?(ckerschb)
Flags: needinfo?(ettseng)

Tom, is there any chance I could offload that investigation to you?

Flags: needinfo?(ckerschb) → needinfo?(tom)

Started digging into this. I found the following suspicious log messages that are different between a non-fission and fission attempt to open a game:

WARNING: CompleteRedirectSetup failed, HttpChannelChild already open?: file /Users/tritter/Documents/moz/mozilla-unified/netwerk/protocol/http/HttpChannelChild.cpp, line 2125

(Many of the "CompleteRedirectSetup failed" messages)

JavaScript error: resource://gre/modules/LoginManagerContent.jsm, line 811: SecurityError: Permission denied to access property "document" on cross-origin object
JavaScript error: resource:///actors/PageStyleChild.jsm, line 35: SecurityError: Permission denied to access property "document" on cross-origin object

[Child 84660, Main Thread] WARNING: Can't add a range if the end is older that the start.: file /Users/tritter/Documents/moz/mozilla-unified/dom/html/TimeRanges.cpp, line 73

I don't think this one is Fission related; but it's possible because comparing TimeStamps cross-process isn't safe as time may be slightly different between them.

Flags: needinfo?(tom)

So I'm pretty sure it's not LoginManagerContent.jsm or PageStyleChild.jsm. I'm really only receiving the flashing black behavior and I don't see the Security Errors in any console I've checked.

I do see a perpetual stream of requests to apps.facebook.com/v3.2/dialog/oauth which isn't present in a non-fission session. In fact there isn't a single request to that url in a non-fission session.

At this point I don't really think it's a DOM Security type failure; maybe something with cross-origin redirects passing state...

Priority: -- → P2

I looked to find a regression for this issue and I noticed that this issue is not a regression due to the fact that the fission.autostart option from the about:config menu was not visible in earlier versions of FX. Here is a pushlog from where the issue is reproducible and the fission.autostart option is visible in the about:config menu https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=ce56e2779818d25cfa2ac32f38ed84e6811d76a9&tochange=7e01c4d1cddcbbd4375fbd8b8909249b9ecb4eb6.

QA Whiteboard: [qa-regression-triage]

Play any of the following games Caesars Slots, BINGO Blitz, House of Fun - Slots, Slotomania Slot Machines.

Vlad, can you still reproduce this Facebook bug with Fission enabled?

Tracking for Fission Nightly (M6) because Facebook games don't need to block dogfooding.

Fission Milestone: M5 → M6
Flags: needinfo?(vlad.lucaci)

Hello,

I have tried reproducing this issue with 75.0a1(ID:20200225214332) on Windows 10x64, macOS 10.15 and Ubuntu 16.04 ,with the following games: BINGO Blitz, House of Fun - Slots, Slotomania Slot Machines, Farmville and did not manage to reproduce this issue anymore.

Flags: needinfo?(vlad.lucaci)

(In reply to Vlad Lucaci, QA (:vlucaci) from comment #9)

I have tried reproducing this issue with 75.0a1(ID:20200225214332) on Windows 10x64, macOS 10.15 and Ubuntu 16.04 ,with the following games: BINGO Blitz, House of Fun - Slots, Slotomania Slot Machines, Farmville and did not manage to reproduce this issue anymore.

Awesome! In that case, I'll close this bug. Thanks for verifying.

Status: NEW → RESOLVED
Closed: 4 years ago
Flags: needinfo?(jonathan)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: