Closed
Bug 339678
Opened 19 years ago
Closed 3 years ago
No way to recover session state if network unavailable at first startup
Categories
(Firefox :: Session Restore, defect)
Firefox
Session Restore
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: shaver, Unassigned)
References
Details
(Keywords: dataloss)
When restarting my browser after a crash (OS or application), I'm unable to restore the session if the network isn't around (possibly transiently).
This could also arise in the case in which we restart for an update and are blocked in our new form by firewall/AV software. (Or where the network requires some sort of login, as is common in hotels and many wireless networks.)
We should be able to restore that session once the network is available.
Reporter | ||
Updated•19 years ago
|
Flags: blocking-firefox2?
Reporter | ||
Comment 1•19 years ago
|
||
Some ways we could detect this:
- load two unrelated URLs, and see if they get redirected to the same place
- load a known-will-not-resolve hostname and see if we get a page loaded (though this could also give us a false positive for the working-proxy case, so we shouldn't do it on its own)
Other cases in which we might want to do this:
- checking for extension updates at new-version startup
- checking for app update
Comment 2•19 years ago
|
||
Ok, so what we really need is an extension of the new offline/online detection that can detect whether you need to auth through a proxy. Shaver suggested using something known to not redirect, and perhaps a bogus domain that doesn't resolve, and see if they redirect to the same place, which would indicate some additional action is required. We also need something like this for checking for extension updates on startup (i.e. after upgrades) and I'm sure there's other consumers that would make use of it.
ccing darin/biesi/sayrer to see if they can lend a hand here.
Flags: blocking-firefox2? → blocking-firefox2+
Comment 3•19 years ago
|
||
Why does session restore depend on a functioning network? Is the session data stored on the network?
Comment 4•19 years ago
|
||
Oh, is it that some of the web-pages that were part of the saved session are not persistently stored such that they need to be re-downloaded?
Comment 5•19 years ago
|
||
Yes. We don't serialize the entire DOM, we store key information like URL, form data, and some JS object data, iirc.
Comment 6•19 years ago
|
||
Right, we'll pull from cache, else reload. When restoring from a crash, we must reload everything, b/c cache has been invalidated.
Comment 7•19 years ago
|
||
Right: the cache will fail however for https sites, after crashes (see your bug 105843) and when its size limit is reached. These pages will be restored from the web.
Note that the session information is preserved after a crash until the next clean shutdown/startup (whatever comes first). As a work-around to this issue, saving the file sessionstore.bak from the profile, closing Firefox and copying that file back as sessionstore.ini will currently allow to recover the session again.
Updated•19 years ago
|
Assignee: nobody → jwalden+bmo
Updated•19 years ago
|
Target Milestone: --- → Firefox 2 beta1
Comment 8•19 years ago
|
||
There seem to be ~3 separate things requested here: make sessionstore handle restarting after a crash with no network connection, add networking API to determine whether network access is occurring through a proxy that prevents access to actual websites (such as those used by airport wireless services that never mention the extortion fees until you try to use them), and make sessionstore use that new API.
The first doesn't look complicated -- I'll guesstimate a day. I'm unsure how long the second would take given that I've barely looked at that section of netwerk -- maybe 4 days to implement a resolve-two-addresses approach? Once the first and second are implemented, the third should fit in fairly obviously.
Anyway, I'll probably do more looking through sessionstore to figure out the first over the weekend. The latter two will wait until I've figured that out. Self-assigning...
Status: NEW → ASSIGNED
Updated•19 years ago
|
Whiteboard: [swag: 2d]
Comment 9•19 years ago
|
||
Putting this back to nomination to discuss/triage.
Flags: blocking-firefox2+ → blocking-firefox2?
Comment 10•19 years ago
|
||
The thing that most has me stymied about this is how we handle cases where the user does more than just start up network-less after a crash and immediately close. Do we save the previous state if a network connection appears? What about if the network appears, the user browses, and then the network goes away? How about if the user restarts, the network appears, the user does no browsing, and then the network disappears and Firefox closes? These issues make the problem more complicated than I initially envisioned it.
Comment 11•19 years ago
|
||
(In reply to comment #10)
> The thing that most has me stymied about this is how we handle cases where the
> user does more than just start up network-less after a crash and immediately
> close. Do we save the previous state if a network connection appears? What
> about if the network appears, the user browses, and then the network goes away?
IMO this bug is only about restoration at startup. Handling mid-session network drops should be a new bug. That said, a solution might be to not overwrite stored data if we get server-not-found, etc.
> How about if the user restarts, the network appears, the user does no
> browsing, and then the network disappears and Firefox closes? These issues
> make the problem more complicated than I initially envisioned it.
In this scenario, the data is culled from the already-loaded windows and tabs, so nothing is lost unless a page is refeshing on it's own, etc.
Comment 12•19 years ago
|
||
1.8.1 drivers: this is a nice to have; the important thing is to fail cleanly and if the network is missing try to pull from cache or render the pages with "unable to contact server" errors or whatnot. We'd take a patch, but aren't going to block release on it.
Flags: blocking-firefox2? → blocking-firefox2-
Comment 13•18 years ago
|
||
(In reply to comment #12)
> 1.8.1 drivers: this is a nice to have;
not sure what you mean by nice to have.
for those that encounter this, isn't it a DATALOSS issue?
Updated•17 years ago
|
Assignee: jwalden+bmo → nobody
Status: ASSIGNED → NEW
Component: Tabbed Browser → Session Restore
QA Contact: tabbed.browser → session.restore
Target Milestone: Firefox 2 beta1 → ---
Comment 14•16 years ago
|
||
Fixing bug 345135 would be one possible solution to this issue.
Updated•16 years ago
|
Comment 17•12 years ago
|
||
What should be done here?
Comment 18•12 years ago
|
||
Is this still a bug? IIRC this was fixed long ago in a galaxy far far away.
Comment 19•12 years ago
|
||
(In reply to Dietrich Ayala (:dietrich) from comment #18)
> Is this still a bug? IIRC this was fixed long ago in a galaxy far far away.
Current trunk behavior ... startup with network connection disabled, pages have
title: Problem loading page
contents: "Server not found", with a button for "try again"
If I bring network connection up and "try again" then page is reloaded with form data (at least for what I tested, which is bugzilla)
Is that the recovery method?
If not, what should the recovery method be - other than somehow letting me use sessionrestore.bak?
bug 450711 addresses comment 11
Severity: major → critical
Keywords: helpwanted
Comment 20•4 years ago
|
||
Hi Wayne, is this still an issue with our latest Firefox builds ?
Flags: needinfo?(vseerror)
Comment 21•4 years ago
|
||
Has anyone else seen this in support or bug triage?
I'll have to test - it may be several days from now.
Comment 22•3 years ago
|
||
Hello I have tried to reproduce the issue as described and it seems not to reproduce it anymore. The restore session is as mentioned in comment 19. I will reduce the severity of this issue. If you consider that the severity might be higher please feel free to revert the change.
Thank you and have a nice day!
Severity: critical → S3
Comment 23•3 years ago
|
||
Happy to agree it's resolved, based on Negritas' testing.
Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(vseerror)
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•