Error after hang and restart: SessionRestore.init called with previous execution state 'Running'

RESOLVED INCOMPLETE

Status

defect
RESOLVED INCOMPLETE
5 years ago
2 years ago

People

(Reporter: mbrubeck, Unassigned)

Tracking

Trunk
x86_64
Windows 8.1
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [defect] p=5)

Attachments

(1 obsolete attachment)

(Reporter)

Description

5 years ago
I recently got the following error in the console, indicating we were in a state that we thought was impossible (see bug 850372):

SessionRestore.init called with previous execution state 'Running'
browser/metro/components/SessionStore.js:90

I think what happened is that Metro Firefox froze / became unresponsive (possibly because I was trying to open its JS console which contained a large number of messages.  While it was hanging, I briefly switched to the desktop and then back with alt-tab.  When I switched back, I got the splash screen and then a blank tab with no title (not my previous session, and not the start page).
(Reporter)

Comment 1

5 years ago
The error in comment 0 was followed by this error, which might be also be related to the weird blank tab:

NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsISHEntry.adoptBFCacheEntry]
chrome://browser/content/bindings/browser.js:301
Whiteboard: [triage] [defect] p=0
Whiteboard: [triage] [defect] p=0 → [beta28] [defect] p=0
(Reporter)

Updated

5 years ago
Blocks: 958170
Switching from a logged in session on irccloud.com in desktop to metro reproduces this every time. Something in the session store we process is really messed up. I tried adding a few exception traps and early returns but kept running into javascript errors and an empty tab.

Also, once you're in this "empty tab" state in metrofx, switching to desktop will totally hose up desktop ui loading. I'm left with a desktop browser that is visible but non-functional.

Updated

5 years ago
Blocks: 957011

Updated

5 years ago
Duplicate of this bug: 951371
Posted patch hacks (obsolete) — Splinter Review
This is my hacking around here, despite all these traps I still end up with odd errors during deserialization.

Updated

5 years ago
Attachment #8359771 - Attachment is patch: true
Comment on attachment 8359771 [details] [diff] [review]
hacks

Review of attachment 8359771 [details] [diff] [review]:
-----------------------------------------------------------------

::: browser/metro/components/SessionStore.js
@@ +815,5 @@
>            // until we get the real selected tab. Then we stop selecting tabs. The end result
>            // is that the right tab is selected, but we also don't get a bunch of errors
>            let bringToFront = (i + 1 <= selected) && aBringToFront;
> +          if (!tabData.entries[tabData.index - 1] || !tabData.entries[tabData.index - 1].url) {
> +            Util.dumpLn("Invalid tab entry in session store.");

this might have introduced a bug, I don't think Util is available in components.
(Reporter)

Updated

5 years ago
Blocks: 957150
(Reporter)

Comment 6

5 years ago
Bug 957150 fixes the error in deserialization, and the blank white tab.

The "SessionRestore.init called with previous execution state 'Running'" bug still exists but seems to be a separate issue, possibly harmless, and probably doesn't need to block release.
No longer blocks: 957150
Depends on: 957150
(Reporter)

Updated

5 years ago
No longer blocks: 957011
No longer blocks: 958170
Whiteboard: [beta28] [defect] p=0 → [beta28] [defect] p=5

Updated

5 years ago
Attachment #8359771 - Attachment is obsolete: true
(In reply to Matt Brubeck (:mbrubeck) from comment #6)
> Bug 957150 fixes the error in deserialization, and the blank white tab.
> 
> The "SessionRestore.init called with previous execution state 'Running'" bug
> still exists but seems to be a separate issue, possibly harmless, and
> probably doesn't need to block release.

Anyone know how to reproduce this? I haven't had any switching issues in a while.
Moving this back to triage, given comment 6
Whiteboard: [beta28] [defect] p=5 → [triage] [defect] p=5
Blocks: metrobacklog
No longer blocks: metrov1backlog
Whiteboard: [triage] [defect] p=5 → [defect] p=5
Mass close of bugs in obsolete product https://bugzilla.mozilla.org/show_bug.cgi?id=1350354
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.