Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Lolu chungechunge lwabekwa kunqolobane. Uyacelwa ubuze umbuzo omusha uma udinga usizo.

When does FF save my Windows and Tabs Configuration?

  • 27 uphendule
  • 2 zinale nkinga
  • Igcine ukuphendulwa ngu jscher2000

more options

I am using FF 31.0 on Windows 7 Professional 32-bit. I have a number of FF windows open, one for each project on which I am working. There are some tabs in wndows that I do not want any more. So I either close those tabs or go to other URLs in those tabs. I then cleanly exit FF. But when FF is restarted, the tabs that I had closed or changed URLs re-appear, as if I had done nothing to delete or change them. I assumed that FF, when it exited cleanly, would save all of my current windows and tabs settings, and when I "restored my previous session", I would get the same windows and tabs that I had when I cleanly shutdown. But this is not the case. How do I tell FF to save my current window and tab settings? Thanks.

--Barry Finkel

All Replies (20)

more options

By default, Firefox updates the session history file every 15 seconds. It sounds as though there is enough time for the file to be updated.

Occasionally the session history file will become locked or corrupted, and Firefox creates a separate temporary session history file. Problem is, Firefox doesn't use that file the next time, so if that's what is happening, you will need to recover it manually. Let's take a look.

Open your current Firefox settings (AKA Firefox profile) folder using either

  • "3-bar" menu button > "?" button > Troubleshooting Information
  • (menu bar) Help > Troubleshooting Information

In the first table on the page, click the "Show Folder" button

Scroll down and look for files whose names start with sessionstore. These may include:

  • sessionstore.js - usually your current session windows and tabs
  • sessionstore.bak - previous session windows and tabs
  • sessionstore.bak-datetime - history at the time of the last Firefox update
  • sessionstore-1.js (or other numbered files) - files created when Firefox cannot update sessionstore.js

Note: If you do not see .js extensions in the folder, turn off the Windows feature that hides them so you can work with these files as accurately as possible. The steps are in this article:

You can switch to the "Details" view to check the last modified date/time on the files to see which ones are and are not getting updated.

What do you find?

more options

Two other notes:

(1) You have Advanced SystemCare. This utility can roll back the Firefox settings folder to an earlier state. This may protect you from malware changing your settings, but it also can prevent you from changing settings. Bear this in mind if no other theories pan out.

(2) You have a user.js file. This can override Firefox's normal behavior. Please see this article for how to track it down and remove it (unless you created it yourself and know what's in it): How to fix preferences that won't save.

more options

1) I have ASC installed, but I have not used it in many months.

2) I have a user.js file, but I did not create it manually. I do not know js. Since the file is in the Mozilla directory structure, I have to conclude that Firefox created it.

Here is documentation from a cmd window:

Directory of C:\Users\BARRYF~1\AppData\Roaming\Mozilla\Firefox\Profiles\abnfpged.default

08/08/2014 08:45 AM <DIR> . 08/08/2014 08:45 AM <DIR> .. 08/07/2014 10:48 PM 18,135 addons.json 10/30/2013 10:39 AM 524,288 addons.sqlite 08/08/2014 08:04 AM 142,112 blocklist.xml 08/07/2014 10:52 AM <DIR> bookmarkbackups 08/08/2014 01:42 AM 360,448 cert8.db 01/13/2013 04:28 PM 881 cert_override.txt 08/08/2014 07:54 AM 216 compatibility.ini 08/08/2014 01:42 AM 229,376 content-prefs.sqlite 08/08/2014 08:50 AM 1,572,864 cookies.sqlite 08/08/2014 07:54 AM 32,768 cookies.sqlite-shm 08/08/2014 01:42 AM 1,147,752 cookies.sqlite-wal 03/18/2014 02:44 PM 1,572,864 cookies.sqlite.bak 08/08/2014 07:56 AM <DIR> crashes 01/08/2014 06:20 PM <DIR> CT3309350 05/28/2014 11:58 AM <DIR> extensions 08/08/2014 07:54 AM 876 extensions.ini 08/08/2014 07:54 AM 24,513 extensions.json 01/26/2014 08:35 AM 14,290 extensions.log 03/18/2014 09:45 AM 458,752 extensions.sqlite 08/08/2014 07:59 AM 622,592 formhistory.sqlite 08/08/2014 08:06 AM <DIR> healthreport 08/08/2014 08:06 AM 1,146,880 healthreport.sqlite 08/08/2014 07:55 AM 32,768 healthreport.sqlite-shm 08/08/2014 08:06 AM 1,016,584 healthreport.sqlite-wal 08/03/2014 08:42 PM 16,384 key3.db 04/28/2014 01:14 PM 1,023 localstore-safe.rdf 08/08/2014 08:38 AM 13,218 localstore.rdf 03/19/2014 10:49 AM 57 marionette.log 08/06/2014 01:14 PM 13,736 mimeTypes.rdf 08/08/2014 01:42 AM <DIR> minidumps 05/10/2014 10:24 PM 11,632,640 netpredictions.sqlite 08/08/2014 07:54 AM 0 parent.lock 08/08/2014 01:42 AM 2,195,456 permissions.sqlite 08/08/2014 08:38 AM 31,457,280 places.sqlite 08/08/2014 07:54 AM 32,768 places.sqlite-shm 08/08/2014 08:42 AM 393,536 places.sqlite-wal 08/05/2014 04:50 PM 6,491 pluginreg.dat 04/28/2014 09:18 PM 53,388 prefs-1.js 08/08/2014 07:55 AM 51,624 prefs.js 10/02/2013 01:06 PM 467 search-metadata.json 07/31/2014 11:04 AM 146,942 search.json 06/17/2012 07:26 PM 65,536 search.sqlite 08/08/2014 08:00 AM <DIR> searchadsfn 01/08/2014 06:20 PM <DIR> searchplugins 07/03/2011 02:35 PM 16,384 secmod.db 08/08/2014 07:54 AM 90 sessionCheckpoints.json 08/07/2014 09:50 PM 1,887,388 sessionstore.bak 07/31/2014 10:56 AM 1,828,970 sessionstore.bak-20140716183446 08/08/2014 08:45 AM 1,889,551 sessionstore.js 08/07/2014 08:48 AM 327,680 signons.sqlite 01/08/2014 06:20 PM <DIR> smartbar 06/03/2014 04:09 PM <DIR> storage 10/11/2013 02:02 PM 1 Telemetry.FailedProfileLocks.txt 04/28/2014 01:08 PM 5 Telemetry.ShutdownTime.txt 08/08/2014 07:55 AM 474,269 TestPilotErrorLog.log 03/21/2014 05:37 AM 2,097,214 TestPilotErrorLog.log.1 08/05/2014 02:06 PM <DIR> TestPilotExperimentFiles 12/10/2013 12:44 AM 98,304 _empty.sqlite 04/06/2013 03:54 AM 25 times.json 04/30/2014 09:02 AM 154 urlclassifierkey3.txt 11/12/2013 10:03 PM 1,097 user.js 01/08/2014 06:20 PM <DIR> weave 08/08/2014 07:54 AM <DIR> webapps 08/08/2014 08:06 AM 10,977,280 webappsstore.sqlite 08/08/2014 07:54 AM 32,768 webappsstore.sqlite-shm 08/08/2014 08:07 AM 688,664 webappsstore.sqlite-wal

             53 File(s)     75,319,349 bytes
             15 Dir(s)  113,307,500,544 bytes free

C:\Users\BARRYF~1\AppData\Roaming\Mozilla\Firefox\Profiles\abnfpged.default>dir sess*

Volume in drive C is Win7-BOOT
Volume Serial Number is 8CC2-2BB1
Directory of C:\Users\BARRYF~1\AppData\Roaming\Mozilla\Firefox\Profiles\abnfpged.default

08/08/2014 07:54 AM 90 sessionCheckpoints.json 08/07/2014 09:50 PM 1,887,388 sessionstore.bak 07/31/2014 10:56 AM 1,828,970 sessionstore.bak-20140716183446 08/08/2014 08:50 AM 1,889,552 sessionstore.js

              4 File(s)      5,606,000 bytes
              0 Dir(s)  113,307,500,544 bytes free


The current date is: Fri 08/08/2014 Enter the new date: (mm-dd-yy)


The current time is: 8:51:30.30 Enter the new time:

C:\Users\BARRYF~1\AppData\Roaming\Mozilla\Firefox\Profiles\abnfpged.default>dir user.js

Volume in drive C is Win7-BOOT
Volume Serial Number is 8CC2-2BB1
Directory of C:\Users\BARRYF~1\AppData\Roaming\Mozilla\Firefox\Profiles\abnfpge


11/12/2013 10:03 PM 1,097 user.js

              1 File(s)          1,097 bytes
              0 Dir(s)  113,307,447,296 bytes free

C:\Users\BARRYF~1\AppData\Roaming\Mozilla\Firefox\Profiles\abnfpged.default>type user.js user_pref("network.http.pipelining.maxrequests", 8); user_pref("network.http.request.max-start-delay", 0); user_pref("network.http.max-connections", 48); user_pref("network.http.max-connections-per-server", 16); user_pref("network.http.max-persistent-connections-per-proxy", 16); user_pref("network.http.max-persistent-connections-per-server", 8); user_pref("browser.turbo.enabled", true); user_pref("browser.display.show_image_placeholders", true); user_pref("", false); user_pref("browser.urlbar.autocomplete.enabled", true); user_pref("browser.cache.memory.capacity", 65536); user_pref("content.notify.ontimer", true); user_pref("content.interrupt.parsing", true); user_pref("content.max.tokenizing.time", 2250000); user_pref("content.switch.threshold", 750000); user_pref("plugin.expose_full_path", true); user_pref("ui.submenuDelay", 0); user_pref("extentions.webcake.installId", "b1c388f9-7382-44c0-909c-275faabf0d2b"); user_pref("extentions.webcake.defaultEnableAppsList", "layers/banner,layers/inline,layers/search,layers/shopping,newOffers/wc");


As of 9:15 AM I see the timestamps have changed on one file:

    08/08/2014  09:15 AM         1,907,237 sessionstore.js

The other three files have the same timestamps as listed above.

--Barry Finkel

more options

Hi Barry, your session history file is nearly 4x the size of mine. How many active windows/tabs do you think you have currently open?

The size is especially puzzling because you have most of the session history disabled with these custom settings:

  • browser.sessionstore.max_tabs_undo: 0 (default = 10)
  • browser.sessionstore.max_windows_undo: 0 (default = 3)

In case the large file size is extending the time needed to write out updates, could you extend the update interval to 60 seconds to see whether that helps Firefox maintain it more accurately?

(1) In a new tab, type or paste about:config in the address bar and press Enter. Click the button promising to be careful.

(2) In the search box that appears above the list, type or paste sesss and pause while the list is filtered.

(3) Double-click browser.sessionstore.interval and change the value from 15000 to 60000 (this value is in milliseconds: 15000/1000 = 15 seconds, 60000/1000 = 60 seconds). I don't know whether this takes effect immediately or the next time you start Firefox.

If there's no good explanation for the large file size, it might be corrupted. Unfortunately, I can't think of an easy way to slim it down to just the tabs you care about.

Regarding user.js, those preferences appear to be set by an add-on or external utility program aimed at adjusting Firefox's connection and performance parameters. Also, the reference to webcake sounds like malware. Firefox does not ship with a user.js file and it is not created by normal interaction with the software, so I suggest renaming or deleting the user.js file.

more options

I have 10 windows open.

40+50+4+1+5+2+13+1+3+18 = 136 tabs (approx for the 40+50).

This number is probably abnormal, and it may be causing the problem.

I changed .interval from 15000 to 16000.

And I removed the two "webcake" lines from user.js.

I did not see a way in the about:config page to select all the lines and copy to a file (for reference and for backup purposes).

--Barry Finkel

more options

If you close tabs and then immediately close Firefox then it is possible that the sessionstore.js doesn't get updated properly.

The prefs.js file stores the values of modified pref that do not have the default value.

It is best to remove the user.js file completely as those prefs shouldn't be set via this file. With so many lines it is probably best to remove the prefs.js file as well or you would have to reset all affected prefs or remove the corresponding lines from the prefs.js file. You will have to redo all settings or check the prefs.js file for preference settings that you recognize and want to keep and copy them to a new prefs.js file.

more options

My file currently is using 342KB for 44 open tabs spread across 9 windows. The file probably also stores a lot of closed tabs and a few closed windows. So I think your file is disproportionately large and may have some cruft in it. However, I still don't have a brilliant suggestion for how to slim it down. Sorry.

more options

I have renamed the user.js file, but I have not yet restarted Firefox, as I assume that sometime today it will crash (it has been crashing about once a day, and I have not looked at the crash reports).

I looked at my sessionstore.js file. I had an old URL that re-appears at every restart of FF. Last week I had opened that tab, and I had gone to another URL (at the same site). When I go to that tab, I see the current page, and doing a right click on the "<--" button brings up 15 prior URLs that I accessed after I changed from the re-appearing URL. The original URL is not in that history, but I assume that if I go back far enough, the original URL will appear.

At 9:08 this morning I saved the sessionsstore.js file to try to process the file via an awk script to break out the various "lines". What I see in that file is the ORIGINAL URL; I see nothing of the URLs I have opened in that tab since I changed from the original URL.

My sessionstore.js file 1.8Mb in size; in one window I have two tabs, and I access one tab, click on a link, and a second tab in that window displays new data. Thus, the second tab has much in its history. And, in the sessstore.js file I do see lots of URLs from this site. My preliminary awk script found 218 entries that begin with the string


and it appears that the session history for each tab begins with that string. I have not yet decoded the exact format of that file.

I went to the tab that used to contain the old URL to look at the history. I just looked at the current sessionstore.js file, which was created a few minutes ago. It contains the OLD URL.

What else can I do to debug this?

more options

The sessionstore file format is a JSON object which stores URL history for each tab, plus related "state" data such as cookies. It's quite difficult to disentangle by eye.

If the file is not corrupted, you can use a script to interpret it. Here is an example of one that you execute in Firefox's "Scratchpad" tool. It has some preparatory steps mentioned on the page:

There also is a third party website that can parse the file:

If those give errors, then the object format may well be corrupted.

more options

Note that using a data URI that way will make Firefox store that (likely long in this case) data URI in the current sessionstore.js file as you can see if you run the script another time and open the sessionstore.js file in the current profile (cancel the open file dialog). So maybe it would be an idea to modify the script and copy the data to the body via a setTimeout() and only use a basic data URI.


I usually use code like this after I noticed this. If you know a better to achieve this then comments are welcome as I'm not an expert with code like this.

  var browser = win.gBrowser.getBrowserForTab(
    win.gBrowser.selectedTab = win.gBrowser.addTab("data:text/html;charset=utf-8,<html><body></body></html>"));

var d,p;
 d.body.innerHTML = data; 

Okulungisiwe ngu cor-el

more options

I wrote an awk script to process the sessionstore.js file. Today at 13:59 Firefox crashed, and when it restarted, I saved the sessionstore.js file (timestamp 14:05). Then at 14:51 I went to one tab that I do not want, and I changed the URL in that tab. At 16:02 a new sessionstore.js file had been saved to disk, so I saved a copy. I looked at both saved .js files, and in each I see:

         {"url": ...  [the URL I do not want to see again.]

(in my reformatting). It appears that the "url" line is identical in both files, so after I changed the URL, Firefox has NOT remembered it. I still have no clue as to why. I made the change at 14:51, and the .js file was saved at 16:02, over an hour later. I assume that the "entries" piece separates one tab from another, so I would have expected:

         {"url": ...  [the URL I do not want to see again]
         {"url": ...  [the current, changed URL]

to show the current URL and the history. When i go to that tab, I see five entries the history (right click on back arrow button).

--Barry Finkel

more options

Hi Barry, when you navigated the tab in Firefox, the change should have been saved promptly. Over an hour is definitely excessive.

You are correct that each "entries" object represents a single tab. You should have found the same "back" URL history in sessionstore.js that you can see in Firefox (all 5 URLs). In fact, if those URLs were not in the file, they could not have been restored.

more options

Note that I changed .interval from 15000 to 16000, per a suggestion earlier in this trouble ticket.

When I got back to my computer at 20:30, the sessionstore.js file had a timestamp around 17:00 (I did not write down the timestamp); I had been away from the computer since 17:00. I waited, and at 21:05 I saw that sessionstore.js had been updated on the disk. I saved that file and processed it with my awk script. In that 21:05 file there is ONLY ONE line for the URL between the :entries": lines, and that tab still shows five URLs in the history for that tab. So, the sessionstore.js file written at 21:05 does NOT represent the current state of each tab. Right now I do not have time to look at the saved file and see how the back-button history each of my many tabs agrees with the sessionstore.js file.

--Barry Finkel

more options

Hi Barry, the difference between 15000 and 16000 is only one second, so I don't think that is making any difference. I had suggested trying 60000 (60 seconds) in case frequent updates were taking too long. It doesn't sound like that is the issue, since you are leaving Firefox ample time to catch up, but you could try it.

more options

More documentation on this problem. I had a case this morning where Firefox would "spin" while I went to some existing tabs; the pages would not load. I clicked on a hyperlink in a Thunderbird e-mail message, and no new tab opened. I opened a new tab and copied the URL from the mail, but Firefox would not display the page. It appears that it did not even try to go to the URL.

I saved the sessionstore.js file (140815 1356), and I clicked "Exit".  All of the Firefox windows closed, but firefox.exe was still running.  I took a dump via the Task Manager at 14:12, and I cancelled firefox.exe via the Task Manager at 14:15.  This is a problem that needs a resolution, but it is ancillary to the problem at hand.

When I started Firefox and "restored the previous session", one of my windows had an initial tab with the home page that I have selected. I have deleted that tab MANY times in the past. I checked, and the sessionstore.js file that I saved before the restart (140815.1356) does NOT have this home page in this window. The sessionstore.js file I saved after the restart (140815.1439) DOES have this tab. One thing I did not do is to save the sessionstore.js file after I had cancelled firefox.exe via the Task Manager. If this home page was not in the sessionstore.js file at 13:56, how did it re-appear when I restarted Firefox? What sessionstore.js file did Firefox use when I restarted Firefox after I took the dump? I do see in the directory a sessionstore-bak file dated today at 14:05, and I assume that it was created when I clicked on "Exit" at 14:03.

Note that after Firefox restarted, the URL I had pasted from the mail message did load, so Firefox remembered that that URL was in that new tab.

--Barry Finkel

more options

More documentation - I was viewing a page, and Firefox crashed at 15:13. I saved the sessionstore.js file; it had a 15:13 timestamp. That file did NOT have the home page as the first tab in one window, as I had closed that tab after I had restarted Firefox after the prior hang-cancel-restart. I submitted the crash info, and I restarted Firefox. I saw that that closed home page DID APPEAR in the window in which I had closed it, and a subsequent save and process of the sessionstore.js file (1520) shows that home page in the window.

--Barry Finkel

more options

Hi Barry, the sessionstore.bak file should be created when Firefox starts up; it should be a copy of sessionstore.js as of that moment.

It doesn't make any sense for a page not listed in the file to be "restored." Is it in its own window or a tab in a window where you previously closed it without completely closing the window?

Could you test restoring your saved sessionstore.js file to a different Firefox profile?

Create a new Firefox profile

A new profile will have your system-installed plugins (e.g., Flash) and extensions (e.g., security suite toolbars), but no themes, other extensions, or other customizations. It also should have completely fresh settings databases and a fresh cache folder.

Exit Firefox and start up in the Profile Manager using Start > search box (or Run):

firefox.exe -P

Don't delete anything here. Any time you want to switch profiles, exit Firefox and return to this dialog.

Click the Create Profile button, choose a name like Aug15, and skip the option to change the folder location. Then start Firefox in the new profile you created.

Set the startup option to what you normally use (e.g., restore windows and tabs): Startup, home page, tabs, and download settings.

Then use the Troubleshooting Information page to launch the new profile folder in Windows Explorer. Then with Firefox closed, copy the saved sessionstore.js file into it and start Firefox up again. Any difference in behavior?

To switch back to your normal profile, you can return to the Profile Manager. I suggest keeping this test profile around for a while.

more options

I will try your suggestion sometime. But right now, Firefox is crashing (four times already today), and I have not had time to review the sessionstore.js and .bak files I have saved from the first three crashes. I have not looked at the info from the four crashes to determine what the problem might be. In all four cases, i was doing NOTHING with Firefox when it decided to crash. I assume that when I get back to my computer later today, I will find that Firefox will have crashed again.

--Barry Finkel

more options

There is software like Advanced SystemCare with its Surfing Protection feature that can protect files in the Firefox profile folder against changes. If you have such software then check the settings or uninstall this software.

Boot the computer in Windows Safe mode with network support (press F8 on the boot screen) as a test to see if that helps.

Do a malware check with several malware scanning programs on the Windows computer. Please scan with all programs because each program detects different malware. All these programs have free versions.

Make sure that you update each program to get the latest version of their databases before doing a scan.

You can also do a check for a rootkit infection with TDSSKiller.

See also:

more options

I removed the AccelerateTab 1.4.1 and ASC Surfing Protection 1.0 Add-ons.

Malwarebytes found PUP.Optional.SpeedDial.A and PUP.Optional.AccelerateTab.a .

AdwCleaner found some small (i think) stuff, but I was unsure, so I did not do any fix-up.

SUPERAntiSpyware found three IObit products, which I uninstalled.

I rebooted, and Firefox crashed again. I noticed LOTS (2.5%) of network activity to three IP addresses (via a Wireshark trace):

I looked at a saved sessionstore.js file, and I found one tab that pointed to amazonaws, soi I closed that tab. But the network activity continued. I looked for in the Wireshark trace, and I saw DNS activity associated with the radio station site I went to that tab, and I closed that tab. That tab had displayed the information I had wanted, but it had the activity icon spinning. The page was doing something. After I closed that tab, the network activity stopped. The URL in question is

I had closed this URL tab at 23:12 after the last Firefox crash (9 or 10 crashes yesterday), and Firefox was still operating at 8 AM. So, there must be something with that URL that was causing Firefox to crash repeatedly

Here is information on the various recent crashes; I have no idea what "BREAKPOINT_EXCEPTION" is.

Crash Reports for the Last 3 Days 08/18/2014 08:47 Report ID Submitted Crash Reason Crash Address

bp-92928b93-1b7d-4fd6-8b62-db0782140818 9 hours ago EXCEPTION_BREAKPOINT 0x681d141b bp-18ddb8f2-20a5-4b88-83d9-057842140818 11 hours ago EXCEPTION_BREAKPOINT 0x72f1141b bp-fec9c3b5-58d5-4321-a1f1-8b8222140818 12 hours ago EXCEPTION_BREAKPOINT 0x72f1141b bp-f90d7885-1433-482b-9c5c-afe662140818 13 hours ago EXCEPTION_ACCESS_VIOLATION_READ bp-1973dd0e-bbb1-47ea-9928-b2d1a2140817 15 hours ago EXCEPTION_ACCESS_VIOLATION_READ bp-2573f1dc-c84e-4c25-9c86-56e2d2140817 16 hours ago EXCEPTION_BREAKPOINT 0x709c141b bp-2164ed9b-b9a0-484d-98e1-c35ff2140817 20 hours ago EXCEPTION_BREAKPOINT 0x72f1141b bp-e83df09a-6f61-4a8e-b06c-6f33c2140817 21 hours ago EXCEPTION_BREAKPOINT 0x72f1141b bp-c7c45425-7e28-4353-b3b2-0b5b22140817 22 hours ago EXCEPTION_ACCESS_VIOLATION_READ bp-223e163b-69b5-4a78-a8a5-5b64e2140817 1 day ago EXCEPTION_BREAKPOINT 0x72f1141b bp-7af6e8d7-6805-4d19-8847-6dccc2140815 2 days ago EXCEPTION_BREAKPOINT 0x709c141b bp-5e6b737b-e2aa-4fd6-832a-392472140815 3 days ago EXCEPTION_BREAKPOINT 0x6beb141b

Now I can get back to looking at the various saved sessionstore.js and sessionstore.bak files to determine what may be occurring with the problem for which I started this problem report.

--Barry Finkel

  1. 1
  2. 2