Firefox crashed and all session restores are gone.
Windows 10, Firefox version 81.0.1
I normally have Firefox open with several hundred tabs over 3 windows (I know its bad, I just started sorting through them... ). Because the normal firefox restore won't work with that many I usually close it via ctrl-alt-del and task manager. This means when I next open it just restores my whole previous session and I can continue where I left off.
Except this morning. This morning I opened it and there were no tabs at all. Immediately started looking for ways to restore... There is no restore option under New Private Window at all. My history is there, but it lists nothing at all for recently closed tabs or windows. When I went to my profile and the sessionstore-backups folder it only shows two files of the current session recovery.baklz4 and recovery.jsonlz4 (which I have left open since I found it with no tabs as I feared closing it would save it over my missing session). Even when I click Properties - Previous Versions of these files it still shows nothing, no previous versions. I only have the one profile.
The day before yesterday I installed a new game and the Origin game client, that same day or the previous day I also let Windows update.
So is there any other way that I might be able to restore my missing session? Or will I just have to resort to digging through my entire history in hopes of salvaging some of the most recent missing tabs?
Any help would be greatly appreciated, thank you.
Toate răspunsurile (10)
You may have corrupt sessionstore [v56] sessionstore.jsonlz4 file(s). Delete all sessionstore* files and the sessionstore-backups folder.
Type about:support<enter> in the address bar.
Under the page logo on the left side, you will see Application Basics. Under this find Profile Folder. To its right press the button Show Folder. This will open your file browser to the current Firefox profile. Now Close Firefox.
Windows: Show Folder; Linux: Open Directory; Mac: Show in Finder
Linux: Under the page logo on the left side, you will see Application Basics. Under this find Profile Directory. To its right press the button Open Directory.
Locate the above file. Then rename or delete it. Restart Firefox.
Don't delete the files if you need to rescue any data from
them, just move them out of the profile folder to some
location where Firefox doesn't look for them. You can
try to read out their contents using this tool:
https://www.jeffersonscher.com/res/scrounger.html
Are you sure that you haven't switched profiles because there should be more files in the sessionstore-backups folder ?
You would need previous.jsonlz4 or possibly an upgrade.jsonlz4 file to recover your windows and tabs.
Backup the session files in the sessionstore-backups folder in the Firefox profile folder to make sure not to lose possible important session data. Do NOT close Firefox when Firefox is already running.
You will normally find these files in the sessionstore-backups folder:
- previous.jsonlz4 (cleanBackup: copy of sessionstore.jsonlz4 from previous session that was loaded successfully)
- recovery.jsonlz4 (latest version of sessionstore.jsonlz4 written during runtime)
- recovery.baklz4 (previous version of sessionstore.jsonlz4 written during runtime)
- upgrade.jsonlz4-<build_id> (backup created during an upgrade of Firefox)
You can copy a file from the sessionstore-backups folder to the main profile and rename the file to sessionstore.jsonlz4 to replace the current file (make sure to backup the current sessionstore.jsonlz4).
You can use the button on the "Help -> Troubleshooting Information" (about:support) page to go to the current Firefox profile folder or use the about:profiles page.
- Help -> Troubleshooting Information -> Profile Folder/Directory:
Windows: Open Folder; Linux: Open Directory; Mac: Show in Finder - https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data
I tried deleting the folder as mentioned and it did nothing unfortunately, it still opens with nothing restored. I could not find a sessionstore.jsonlz4 file to delete.
I backed up the two recovery files which are each 2kb (these are from the empty session).
And yes as far as I know I only have one profile, when I open the profiles folder there is only one listed, which is the default. So unless it is somehow hiding profiles and/or made new ones without my knowledge there isn't another one.
I did find and run a program called Recuva on my profile folder and it found one recoverable recovery.jsonlz4 file which is 10,300kb and from the time looks like it is my missing session. I tried putting that file into the sessionstore-backups folder with no other files in there but when I opened firefox it was still empty. How would I go about making firefox try to recover from this file? I also found that I cannot open the file in the Session History Scrounger (perhaps its too big?).
Hi serilyn, sorry to hear about this problem.
I have a tool online to display out the contents of a recovery.jsonlz4 or other compressed session history file. This is one way to check whether the file is readable and contains useful data (open in either Firefox or Chrome):
https://www.jeffersonscher.com/ffu/scrounger.html
After dropping your file on the page, it should take less than 15 seconds to show its contents in the box near the top. This typically looks like text with a lot of { [ and " characters. If you see a lot of unusual symbols, that could indicate that Recuva was not successful in reconstructing a readable file.
If the text looks good, trying clicking the Scrounge URLs button. It should take less than 15 seconds to list out the tab URLs. If it doesn't finish in that time, the tab may have crashed. You could close the tab and try again in a new tab. If you get a useful list, use the Save HTML button to archive it for reference.
You may want to restore the sessionstore-backups folder from your Recycle Bin to try other older files.
Note that the OP write above: I also found that I cannot open the file in the Session History Scrounger (perhaps its too big?)
Did you try to place this recovery.jsonlz4 file which is 10,300kb as sessionstore.jsonlz4 at the main profile level ?
You can copy a file from the sessionstore-backups folder to the main profile and rename the file to sessionstore.jsonlz4 to replace the current file (make sure to backup the current sessionstore.jsonlz4).
You can possibly try to decompress the file with code in the Browser Console.
- "3-bar" menu button or Tools -> Web Developer
- https://developer.mozilla.org/en-US/Tools/Browser_Console
async function decompressFile(oFilePath,nFilePath){ let jsonString = await OS.File.read(oFilePath, { compression: "lz4" } ); await OS.File.writeAtomic(nFilePath, jsonString ); } var fu = Cu.import("resource://gre/modules/FileUtils.jsm").FileUtils; var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker); fp.init(window, "Open File", Ci.nsIFilePicker.modeOpen); fp.appendFilter(".*LZ4* Compressed Files","*.*lz4*"); fp.appendFilter(".LZ4 Compressed Files","*.lz4"); fp.displayDirectory = fu.File(OS.Path.join(OS.Constants.Path.profileDir, "")); fp.open((aResult) => { if (aResult == Ci.nsIFilePicker.returnOK) { if (fp.file.exists() && fp.file.isFile() && fp.file.isReadable()) { var oldfile = fp.file.path; var newfile = oldfile + ".json"; try { decompressFile(oldfile, newfile); console.log("Saved as: \"" + newfile + "\""); } catch (err) {console.log(err);} } } else {console.log("<canceled>");} });
Correct, when I tried to open the file in the Scrounger it presented me with the file picker window again and when I selected the file again it still did nothing and acted like I had no file selected (still says 'Drop file here'). Curiously, it did however update the details below the selection box with the file info "File name: recovery.jsonlz4; Size: 10546903; last modified 10/12/2020, 7:58:59 PM" But because it didn't seem to have actually opened it none of the buttons for scrounging urls from it work as they say no file is selected.
I also tried getting the mozlz4-edit add-on for firefox to attempt to open the file, when I select the file it says "Loading... Wait." and stayed that way with firefox saying it was slowing down the browser repeatedly, and eventually firefox crashed.
So I'm guessing either my former assumption that the file is simply too big for these programs to open, or that there is something wrong with the file that is causing the problems. Though when I recovered it with Recuva it reported the file state as Excellent.
(Currently I'd be happy just being able to see all the urls in the file so I could manually go through everything)
I opened the Web Developer but am not entirely sure where I need to be pasting the code?
serilyn said
I opened the Web Developer but am not entirely sure where I need to be pasting the code?
There's a setting that needs to be changed before the command line is enabled in the Browser Console:
https://developer.mozilla.org/docs/Tools/Browser_Console#Browser_Console_command_line
Note: the Browser Console is a separate window (Ctrl+Shift+j) and not the Web Console that opens in the lower part of the tab.
Okay, pasted the code into the Browser Console and selected my file when prompted, it came up with this:
Uncaught (in promise) Error: uncaught exception: Invalid header (no magic number) - Data: C:\Users\User\Documents\Firefox backup\Recover\recovery.jsonlz4
postMessage resource://gre/modules/PromiseWorker.jsm:349 post resource://gre/modules/PromiseWorker.jsm:388 post resource://gre/modules/osfile/osfile_async_front.jsm:482 promise callback*push resource://gre/modules/osfile/osfile_async_front.jsm:398 post resource://gre/modules/osfile/osfile_async_front.jsm:439 read resource://gre/modules/osfile/osfile_async_front.jsm:1250 decompressFile debugger eval code:2 <anonymous> debugger eval code:17
PromiseWorker.js:219
The magic number is a few characters that Firefox uses to recognize the compression method for the file, so if that part isn't correct, it would explain why it cannot be decompressed.
Did Recuva come up with any deleted, recovery.baklz4, previous.jsonlz4 or other session history files?
I'm guessing there isn't some way to easily add these numbers in or access the file urls in another way?
Recuva found two recovery.baklz4 files from the same date, but they're both in an Unrecoverable state. There's another recovery.baklz4 file from 15 days ago that is in a Very Poor recovery state. There are no previous.jsonlz4 files to recover, the only other file I can see mentioning sessions is aborted-session-ping. And one upgrade.jsonlz4 from April which is in Very Poor state.