Closed Bug 1668920 Opened 4 years ago Closed 4 years ago

[Fission] Gmail tab often restores with "your account is temporarily unavailable" message after browser restart

Categories

(Firefox :: Session Restore, defect, P3)

defect

Tracking

()

RESOLVED FIXED
Fission Milestone M6c

People

(Reporter: neha, Unassigned)

References

Details

(Whiteboard: [see bug 1586047 for non-Fission Fedora Gmail issue])

Attachments

(1 file)

With Fission and sessionHistoryInParent enabled, my pinned gmail tab does not restore after browser restart. I've attached screenshot of the error I see. Reloading the page fixes it.
Non-pinned gmail tabs restore fine.

Fission Milestone: --- → M6b
See Also: → 1668743

I have seen this on latest Nightly since earlier this week. I update Nightly everyday. Also, I'm on Mac.

Looks like this bug is already on file so probably not a Fission bug then.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE

Reopening because I'm seeing this consistently with fission and it doesn't reproduce for me without fission (sessionHistoryInParent is already enforced with fission).

Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Severity: -- → S3
Fission Milestone: M6b → M6c
Priority: -- → P3
Blocks: fission-dogfooding
No longer blocks: fission-history-m6b

Just saw this on today's nightly (which has the patches from bug 1662925).

I've been experiencing this issue for a few days now, and I also had it on the latest Nightly https://hg.mozilla.org/mozilla-central/rev/e88890094825db821835b2f173e1e16eae3f51af

I managed to reproduce this and got this error in the developer console first, followed by some others later:

Object { stack: "wa/<@https://mail.google.com/mail/u/0/:20:448\n@https://mail.google.com/mail/u/0/#inbox:141:183\ne@https://mail.google.com/_/scs/mail-static/_/js/k=gmail.main.en.i8LX9p0ytY8.O/am=1-v_pTwi5EXgZ2eEQwMAwPBcEE0RqtzjAP9Iqdd_gg8JoF9j8jB4ceABoOdt9AMAAAAAAAAAAAAAAAAAAIB9WAygEg/d=1/im=1/dg=0/ct=zgms/rs=AHGWq9Dp-Aj5NrfBQ7CpDAr6dquHd-tgEw/m=b:1071:137\n", message: "Error in protected function: can't access property "GM_SLF", B.top is null", cause: TypeError }

Is that B.top thing possibly a SessionHistory thing? Did anyone else get console errors that showed up?

.top is probably the top attribute on a window object. Not directly related to session history.

This has happened to me even in a non-pinned gmail tab. It doesn't restore after restart and shows the temporary error page.

I reproduced under pernosco on an up-to-the-minute trunk build: https://pernos.co/debug/5aiHRAUkXvuwHEJaHD6zZg/index.html

My specific reproduction scenario was:

  • Have gmail in a pinned tab
  • Have the currently selected tab be about:blank such that when the session is restored you're looking at about:blank

It seems to have become harder to reproduce this with the most recent nightly.

In general, you can tell if you've reproduced the problem if you see the following on stdout/stderr:

JavaScript error: https://mail.google.com/mail/u/0/, line 133: uncaught exception: ReferenceError: GM_LP is not defined
JavaScript error: https://mail.google.com/mail/u/0/, line 141: ReferenceError: GM_LP is not defined
JavaScript error: https://mail.google.com/mail/u/0/, line 133: uncaught exception: ReferenceError: GM_LP is not defined
JavaScript error: https://mail.google.com/mail/u/0/, line 141: ReferenceError: GM_LP is not defined
JavaScript error: https://mail.google.com/mail/u/0/, line 142: ReferenceError: _rmNode is not defined
JavaScript error: https://mail.google.com/_/scs/mail-static/_/js/k=gmail.main.en.i8LX9p0ytY8.O/am=1-v_pTwi5EXgZ2eEQwMAwPBcEE0RqtzjAP9Iqdd_gg8JoF9j8jB4ceABoOdt9AMAAAAAAAAAAAAAAAAAAIB9WAygEg/d=1/im=1/dg=0/ct=zgms/rs=AHGWq9Dp-Aj5NrfBQ7CpDAr6dquHd-tgEw/m=b, line 1071: uncaught exception: CustomError: Error in protected function: can't access property "GM_SLF", B.top is null
JavaScript error: https://mail.google.com/_/scs/mail-static/_/js/k=gmail.main.en.i8LX9p0ytY8.O/am=1-v_pTwi5EXgZ2eEQwMAwPBcEE0RqtzjAP9Iqdd_gg8JoF9j8jB4ceABoOdt9AMAAAAAAAAAAAAAAAAAAIB9WAygEg/d=1/im=1/dg=0/ct=zgms/rs=AHGWq9Dp-Aj5NrfBQ7CpDAr6dquHd-tgEw/m=b, line 1071: uncaught exception: CustomError: Error in protected function: y`zj4RJ`2
JavaScript error: https://mail.google.com/_/scs/mail-static/_/js/k=gmail.main.en.i8LX9p0ytY8.O/am=1-v_pTwi5EXgZ2eEQwMAwPBcEE0RqtzjAP9Iqdd_gg8JoF9j8jB4ceABoOdt9AMAAAAAAAAAAAAAAAAAAIB9WAygEg/d=1/im=1/dg=0/ct=zgms/rs=AHGWq9Dp-Aj5NrfBQ7CpDAr6dquHd-tgEw/m=b, line 1071: uncaught exception: CustomError: Error in protected function: y`a6jdv`2
JavaScript error: https://mail.google.com/_/scs/mail-static/_/js/k=gmail.main.en.i8LX9p0ytY8.O/am=1-v_pTwi5EXgZ2eEQwMAwPBcEE0RqtzjAP9Iqdd_gg8JoF9j8jB4ceABoOdt9AMAAAAAAAAAAAAAAAAAAIB9WAygEg/d=1/im=1/dg=0/ct=zgms/rs=AHGWq9Dp-Aj5NrfBQ7CpDAr6dquHd-tgEw/m=b, line 1071: uncaught exception: CustomError: Error in protected function: y`VWNrn`2
JavaScript error: https://mail.google.com/_/scs/mail-static/_/js/k=gmail.main.en.i8LX9p0ytY8.O/am=1-v_pTwi5EXgZ2eEQwMAwPBcEE0RqtzjAP9Iqdd_gg8JoF9j8jB4ceABoOdt9AMAAAAAAAAAAAAAAAAAAIB9WAygEg/d=1/im=1/dg=0/ct=zgms/rs=AHGWq9Dp-Aj5NrfBQ7CpDAr6dquHd-tgEw/m=b, line 1071: uncaught exception: CustomError: Error in protected function: y`Cl6csf`2

GM_LP in a successful case is a Promise. Its usage seems to look like H("GM_LP",Me.o,void 0);, GM_LP.then(...), and Dp.top.GM_LP.catch(...).

The H call appears to be a helper that combines "."-delimited object/array traversal of the first arg to assign the second arg. Its jsnice.org decompilation is:

    var cb = function(obj, node, doc) {
      obj = obj.split(".");
      doc = doc || win;
      if (!(obj[0] in doc || "undefined" == typeof doc.execScript)) {
        doc.execScript("var " + obj[0]);
      }
      var i;
      for (; obj.length && (i = obj.shift());) {
        if (obj.length || void 0 === node) {
          if (doc[i] && doc[i] !== Object.prototype[i]) {
            doc = doc[i];
          } else {
            doc = doc[i] = {};
          }
        } else {
          doc[i] = node;
        }
      }
    };

The jsnice.org decompilation of the "Me" object is:

    var test = function() {
      var timeouts = this;
      var error;
      var h;
      /** @type {boolean} */
      this.c = false;
      /** @type {!Promise} */
      this.o = new Promise(function(callback, firstRequestHeaders) {
        error = callback;
        h = firstRequestHeaders;
      });
      /** @type {null} */
      this.f = null;
      /**
       * @return {undefined}
       */
      this.m = function() {
        clearTimeout(timeouts.f);
        error(void 0);
      };
      /**
       * @param {?} x
       * @return {undefined}
       */
      this.g = function(x) {
        clearTimeout(timeouts.f);
        h(x);
      };
      next();
      write(this);
    };

All payloads that seem to include this content seem to appear as inline "script" tags with CSP nonces which suggests either something bad is happening with CSP that doesn't generate stdout/stderr logs, the top-level HTML navigation is occasionally corrupt/truncated or, since there are non-inline script tags and async script tags and there are rel="preload" links, perhaps there is some kind of timing issue as it relates to script execution.

Aside: In a successful case, there appear to be 12 distinct windows involved in gmail per devtools, with document.querySelectorAll('iframe') returning 9 of those. These windows seem to span 6 origins, but only one eTLD+1, google.com, so they live in just the one process, which unfortunately makes it harder to blame fission for whatever is going wrong.

In case it's relevant: I'm seeing intermittent issues loading gmail in a new tab on beta 83, where I'll press enter in the address bar and nothing happens. Because it's beta, fission is definitely not involved... The URL stays in the address bar but nothing loads (ie the new tab page stays visible); a second attempt to load it always works. There are some CSP warnings around strict-dynamic in the browser console, but I don't see anything obvious actually pointing to something not loading. I don't see the error page from attachment 9179353 [details].

I can consistently reproduce this every time I restart my browser. When disabling fission this never happens.

(In reply to :Gijs (he/him) from comment #12)

In case it's relevant: I'm seeing intermittent issues loading gmail in a new tab on beta 83, where I'll press enter in the address bar and nothing happens. Because it's beta, fission is definitely not involved... The URL stays in the address bar but nothing loads (ie the new tab page stays visible); a second attempt to load it always works. There are some CSP warnings around strict-dynamic in the browser console, but I don't see anything obvious actually pointing to something not loading. I don't see the error page from attachment 9179353 [details].

While there may be a common cause that is likely a separate issue since Firefox doesn't appear to load any page while in this case a tab is loaded but Gmail is confused or Firefox confuses Gmail.

There are several reports of empty tabs, possibly related. See bug 1668087, bug 1644045, bug 1654130, bug 1606640, and probably other reports.

Has this issue gone away? I haven't seen it the last few times I've started or restarted Nightly. I'm using the second build from 24 October 2020.

(In reply to B.J. Herbison from comment #15)

Has this issue gone away? I haven't seen it the last few times I've started or restarted Nightly. I'm using the second build from 24 October 2020.

Still happening for me, although it seems to be less frequent. I have 4 pinned Google mail tabs, before it would happen to all of them, in the last 2 restarts it only happened once (currently on 20201025214116).

I still get this fairly regularly on my personal Windows machine. (I thought it was 100% of the time, but I restarted 4 or so times and it only happened about half of the time.)

This happens with non pinned tabs for me.
Keep Gmail open, wait for browser update. Restart and the error with Numeric Code: 1010
84.0a1 (2020-10-29) (64-bit)

Summary: Pinned gmail tab does not restore after browser restart → Gmail tab often restores with "your account is temporarily unavailable" message after browser restart

Fedora 33 and Firefox 82.0.2 shows Account Temporarily Unavailable frequently, even on fresh installs and in incognito mode. Downgrading to Firefox 81.0.1 and I can no longer reproduce it.

If there is any log data I can provide I'll happily provide it.

I'm experiencing the same thing on Fedora 33 with Firefox 82.0.2.

Sometimes it occurs after a restart but it also occurred without restarting the browser.

For those reproducing on 82, what's the value of fission.autostart in your about:config? So far, this only seems to be a problem with Fission, and that should be disabled on release.

Seeing this problem on Fedora 82.0.2, not specifically related to restarting the browser, also happens consistently if you just open a new tab and navigate to gmail. See also this issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1586047

(In reply to Francesco Lodolo [:flod] from comment #21)

For those reproducing on 82, what's the value of fission.autostart in your about:config? So far, this only seems to be a problem with Fission, and that should be disabled on release.

fission.autostart is set to false and can't be updated here.

fission.autostart is set to false and can't be updated here (same as vincent)

(In reply to mozilla from comment #24)

fission.autostart is set to false and can't be updated here (same as vincent)

Then I'd suggest to follow bug 1586047, since this seems to be a different issue specific to Fedora, and not related to Fission.

I'll make the summary more specific to Fission.

Summary: Gmail tab often restores with "your account is temporarily unavailable" message after browser restart → [Fission] Gmail tab often restores with "your account is temporarily unavailable" message after browser restart
Whiteboard: [see bug 1586047 for non-Fission Fedora Gmail issue]
See Also: → 1586047

Gmail tabs restore fine now with Fission. Yay!
May be fixed by bug 1671962.

Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: