restore session grayed out
FF crashes at least once a week. For at least the past 4 weeks, when I re-open it and try to restore session, all the pages open as "blank". In History, "restore session" is grayed out. I've looked through the articles here about restore session, and looked at the suggested solutions and tried the ones that are relevant. Nothing worked. I suspect the problem lies in the profile but I can't find a step-by-step answer how to fix the profile saving the session correctly. I don't even know if this is the problem, but every other solution was wrong.
所有回复 (17)
Hello,
write to BugZilla.
Best regards, David-Walczysko Volunteer supporter
Hello,
I recommend to write on Bugzilla. If you've tried all instructions, it will be a problem elsewhere.
Best regards, David-Walczysko Volunteer supporter
由David Walczysko于
Your Firefox identified itself as Firefox 28. Changes were made in Firefox 33 to make session history storage more robust. I recommend upgrading to either:
- Firefox 49 (current mainstream release)
- Firefox 45esr (current extended support release)
Presumably you are using Firefox 28 because of a user interface or add-on compatibility issue? What's holding you back?
In the meantime, try backing up sessionstore.js more often so you have the possibility of rolling back or extracting URLs when needed.
To try extracting what you have now as a test...
If the contents of the session history file are in good condition (not corrupted), you can load it into a Firefox tab and run a script against it.
One-time Setup:
(0) Install the "Session Extractor" bookmarklet (see the instructions in the top bar of the page for how to install it):
https://www.jeffersonscher.com/res/sumomarklets.html#SessExtr
To extract the file:
(1) Create a copy of the session history file you want to mine for URLs and change the .js extension of the copy to a .txt extension. To do that:
Make sure Windows is showing .js and .txt extensions. If you need to turn that on, see http://windows.microsoft.com/en-us/wi.../show-hide-file-name-extensions or http://support.microsoft.com/kb/865219.
Working in a safe backup folder, right-click the file you want to investigate and click Copy. Then right-click a blank area and choose Paste. Right-click the copy and Rename with a .txt extension.
(2) Open the backup txt file in a Firefox tab. Either drag the renamed file and drop it on an existing page to load the txt file in its place, or right-click the file and choose Open With and use Firefox.
(3) In the tab displaying the session history file, click the bookmarklet button to run the script. This should generate a new page listing the URLs of each open tab from the file. You can select and copy this list and paste it somewhere for safekeeping.
Unfortunately, if you want to save the page as is, there's an extra step: press Ctrl+U to launch the "view source" page, and save that as a .htm or .html file. For some reason, saving the original page gives you the original session file instead of the HTML.
jscher2000: I'm going to try your instructions. They are a little technical for me. When I first started using Firefox 3 or 4 years ago, it worked perfectly for awhile. Somewhere around 33, it began crashing every day. I don't know why and couldn't figure it out. Reading the FF Wikipedia article, this occurred when you switched the algorithm or platform or whatever for FF. I went back to 28 and have had few problems.
jscher2000: thanks for your help. I clicked on the blue box on the new webpage (yours). and got this: "SyntaxError: JSON.parse: unexpected character". I also don't know how to backup sessionstore.js manually.
ikonoklast61 said
jscher2000: thanks for your help. I clicked on the blue box on the new webpage (yours). and got this: "SyntaxError: JSON.parse: unexpected character". I also don't know how to backup sessionstore.js manually.
First, do not click the box. Follow the steps in the gray band above the box to install the button to your Bookmarks Toolbar or Bookmarks menu.
Second, I assumed you saw the earlier threads about making backups, but since those probably were for Firefox 33 and later, here's a revised version:
(1) To open your profile folder...
If Firefox is still running:
You can open your current Firefox settings (AKA Firefox profile) folder using either
- "3-bar" menu button > "?" button > Troubleshooting Information
- (menu bar) Help > Troubleshooting Information
- type or paste about:support in the address bar and press Enter
In the first table on the page, click the "Show Folder" button.
If Firefox is closed:
Type or paste the following into the Windows Run dialog or the system search box and press Enter to launch Windows Explorer:
%APPDATA%\Mozilla\Firefox\Profiles
In that folder, do you see a semi-randomly-named folder? If so, click into it. If you find multiple such folders, find the one that was most recently updated.
(2) Copy out session history files (Firefox 32 and earlier)
In your profile folder, scroll down and right-click sessionstore.js and choose Copy. Open a safe location, such as your Documents folder, and then right-click > Paste to create a copy there. You can repeat with sessionstore.bak if that looks reasonably current.
Note: By default, Windows hides the .js extension. To ensure that you are looking at the files I mentioned, you may want to turn off that feature. These articles have the steps for various versions of Windows:
jscher2000: Okay, did everything you wrote. Thank you for the very detailed and specific instructions. sessionstore.bak was created and last modified on Oct. 13. So now I'm assuming that if session restore is greyed out the next time FF crashes -- it is right now and I haven't had to re-start FF for the past couple of days -- I use sessionstore.js, which is storing my current open window addresses. Looking in the library, I see I can import bookmarks but I don't see import history.
Usually if "Restore Previous Session" is grayed, it was already restored or no file was available to restore from.
Were you able to extract real URLs from either of the sessionstore files?
ikonoklast61 said
Looking in the library, I see I can import bookmarks but I don't see import history.
Correct, there is no built-in way to import history.
jscher2000:
Okay, I extracted. What I got was a list of 28 windows, each "tab 1". There is no other information, such as a page name or web address or link.
Also, this process seems to produce a list of web addresses of the open windows. Is that correct? Because I've been bookmarking them in a separate folder so I can restore them all one by one when my problem occurs.
ikonoklast61 said
Okay, I extracted. What I got was a list of 28 windows, each "tab 1". There is no other information, such as a page name or web address or link.
Unfortunately, the addresses either are not in the file or the file format is corrupted in some manner.
Does this occur even with your currently live session (if you back up your current sessionstore.js and try that)?
Also, this process seems to produce a list of web addresses of the open windows. Is that correct? Because I've been bookmarking them in a separate folder so I can restore them all one by one when my problem occurs.
It lists out what it found in the session history file. Since the files are not helpful, I think your method makes a lot of sense.
Well, I appreciate all your time and effort on my behalf. Thank you!
I thought I did back up my current sessionstore.js. It was the only one there when I did it. Do you mean sessionstore.bak? I copied it as you suggested but never did anything else with it.
If your current sessionstore.js isn't getting updated with real addresses, that's a problem. I don't know what could cause that, however. You might need to start from scratch on your sessionstore files.
The sessionstore.bak might not be any better, but you could try the same extraction technique on it and see.
sessionstore.bak was exactly the same. I don't know how to "start from scratch" on my sessionstore files. A few years ago, I recall having to start a new profile. Do I delete the current session store files and they'll regenerate?
Yes, if Firefox doesn't find a sessionstore file at startup, it should start a new one.
Okay, I copied them to a safe place (in case something goes wrong) then deleted them. We'll see if this works. Thanks again for all your help! BTW, I take it reinstalling FF wouldn't solve whatever problem this is.
ikonoklast61 said
BTW, I take it reinstalling FF wouldn't solve whatever problem this is.
Well, it might if your program files are damaged...