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.
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.