Firefox's Session Restore code is changing, bugs possible
Firefox users may experience bugs and issues related to the browser's Session Restore feature while Mozilla is working on changing the feature's code.
Session Restore is a core feature of the Firefox web browser designed to reload the last browsing session on start of the browser.
Firefox users may set up the browser to load all open tabs of the previous browsing session on start of the browser. All that is required for that is to make sure that "Restore previous session" is enabled on about:preferences.
Mozilla started to work on converting Firefox's current Session Restore logic to C++ to reduce the feature's impact on the browser's memory usage and performance.
The bug listing on Mozilla's bug tracking website, bug 1474130, highlights the rationale behind the change
content-sessionStore.js is currently loaded into every tab frameloader. Which means it gets loaded multiple times per process, which is not great. But even when loaded only once, it uses about 86K. Add to that 17K from ContentRestore.jsm and 12K from SessionHistory.jsm, and we're up to at least 120K per process, if none of the other helper JSMs get loaded.
The things that these scripts do can easily be done by C++ (some of them more easily), so there doesn't seem to be a good justification for loading this much JS into every process for the sake of session restore.
Ah, and of course another 12K for Utils.jsm.
Mozilla hopes to address Sessionstore related performance issues with the move and to reduce the per-process memory costs of Firefox processes.
The meta Sessionstore feature development bug lists the work that still needs to be done to improve the feature. It is clear, just by looking at the list of dependencies and open bugs, that it will take quite some time to resolve all outstanding issues.
Another meta bug collects reliability reports related to Sessionstore, and yet another performance related issues. The list of dependencies is even longer and some users who filed bugs noticed them in stable versions of the Firefox web browser and not development versions.
Tip: How to restore Firefox sessions if Session Restore is not working correctly
Firefox users will benefit from the change once it lands but issues may be experienced in the meantime, especially in development versions of the Firefox web browser.
Session Restore may be unable to restore the session; at least one case has been reported on Reddit by a user who reported that Firefox would restore an older session and not the most recent one.
Firefox users may want to consider backing up their profiles regularly in the meantime or using extensions such as Session Boss, Tab Stash, SessionSync or Set Aside. (thanks Robert)
More reading: https://www.reddit.com/r/firefox/comments/c1lk3p/firefoxs_session_restore_code_is_changing_bugs/erdy3yw
Session management API (https://bugzilla.mozilla.org/show_bug.cgi?id=1427928) is scheduled for preparation after convertion of content-sessionStore to C++ (and probably Fission Session History work) will be completed. Please, check also here:
https://www.reddit.com/r/firefox/comments/7m8nvx/can_session_manager_tab_session_manager_coexist/drslt43/ (1st and 2nd comment)
Or you know, use bookmarks… or even more secure, a txt.
” bookmarksâ€¦ or even more secure, a txt.”
Yes, now that Mozilla is starting to collect browsing data, even bookmarks aren’t safe any more, they are the logical next step, in their journey towards sucking every data of value their code may be able to send them. I have removed in anticipation all bookmarks from the Firefox install I keep for testing purposes only, because I don’t want to spend time tracking hidden changes in browser updates to find out when they finally cross this line, which is only a matter of time.
@Anonymous: ” now that Mozilla is starting to collect browsing data”
They are? That’s news to me. Not only have I not seen that claim anywhere else, Mozilla also explicitly states that they don’t. So, I think evidence is needed to support your claim.
Let them mess with it, the session restore nonsense is disabled here anyway. But thanks for sharing.
It’s nice to see them chasing down such small RAM gains. Last time they did something like this, it was Quantum Flow, and that was insanely efficient in making Firefox faster.
I could already felt the gains when they enabled 8 content processes instead of 4, RAM actually decreased because of the RAM reduction effort that went along with the release of the new Firefox version.
So for Fission, which is going to use a shitload of processes, chasing down a myriad of small RAM gains like this is important.
You know the modern saying “if it is broke than don’t fix it, buy a new one”. microsft takes it to a new level and breaks exisirtng features and says you are the problem in a broken system.