Firefox's Session Restore code is changing, bugs possible

Martin Brinkmann
Jun 17, 2019
Updated • Jun 17, 2019
Firefox
|
11

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.

firefox restore previous session

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)

Summary
Firefox's Session Restore code is changing, bugs possible
Article Name
Firefox's Session Restore code is changing, bugs possible
Description
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.
Author
Publisher
Ghacks Technology News
Logo
Advertisement

Tutorials & Tips


Previous Post: «
Next Post: «

Comments

  1. nofox said on June 19, 2019 at 8:28 pm
    Reply

    Abandon ship…

  2. gibberishly said on June 18, 2019 at 5:53 pm
    Reply

    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.

  3. Sudo said on June 17, 2019 at 6:43 pm
    Reply

    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.

  4. SessionRestoreNonsense said on June 17, 2019 at 6:22 pm
    Reply

    Let them mess with it, the session restore nonsense is disabled here anyway. But thanks for sharing.

  5. CharredDog said on June 17, 2019 at 4:48 pm
    Reply

    Or you know, use bookmarks… or even more secure, a txt.

    1. Anonymous said on June 17, 2019 at 8:56 pm
      Reply

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

      1. John Fenderson said on June 17, 2019 at 9:49 pm
        Reply

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

  6. Robert Ab said on June 17, 2019 at 12:20 pm
    Reply

    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)

    1. Robert Ab said on June 17, 2019 at 12:49 pm
      Reply

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.