Session Lost due to Firefox Crash
Hi, my session with a lot of open tabs has been lost due to a crash. In the profile folder, the recovery and previous files in the sessionstore-backups have been deleted. I tried to recover them using shadow explorer, but these files are corrupted, so I've had no success reading them. Is there a way to fix the corrupted files? Alternatively, because I've had sync enabled for open tabs, is there a log for past open tab synchronizations? If this was stored on the cloud, it may be possible to retrieve that table and restore the list of open tabs that way?
All Replies (18)
Did you look at your history to see if they were still there.
markwarner22 said
Did you look at your history to see if they were still there.
Restoring previous session did not work (it said it encountered an issue, the list of tabs there was empty). There were no recently closed windows or tabs.
During such crashes the chances are very slim that anything was saved correctly to retrieve the information and if your "History" didn't show the sessions then the chances are they are gone as result of the crash.
markwarner22 said
During such crashes the chances are very slim that anything was saved correctly to retrieve the information and if your "History" didn't show the sessions then the chances are they are gone as result of the crash.
Yeah this is why my question is specifically about these two points: 1. I have shadow copies of the session from a week ago, these copies are corrupted, but not due to the crash. Is there a way to fix the corruption and somehow still decompress them and possibly retrieve a partial list? 2. Sync was always turned on. The moment I started Firefox and it was not able to restore the previous session, it overwrote the open tabs from this Computer. However, previously the open tabs were synced, so that must have been stored at some point in the database and it may be possible through some logs to retrieve the old state of this entry or to revert the last few transactions.
Crashes never guarantees anything was saved or saved to history that is what a system crash is by nature. This us why if you do alot of sessions one should bookmark them so if crashes do occur there is a bookmark start the sessions again. Sync syncs between devices it’s not for backup purpose.
An gyara
markwarner22 said
Crashes never guarantees anything was saved or saved to history that is what a system crash is by nature. This us why if you do alot of sessions one should bookmark them so if crashes do occur there is a bookmark start the sessions again. Sync syncs between devices it’s not for backup purpose.
Sync saves to a database, which is kept both locally and on the cloud. Databases usually have a transaction history as well, to allow them to restore to a previous state.
Note that the files in the sessionstore-backups folder are LZ4 compressed, so you can't view them in a text editor.
You can look at this tool to inspect a compressed jsonlz4 sessionstore file. This tool works locally, no uploading is done.
markwarner22 said
Sync syncs between devices
It sync's with a Sync server
from for example https://support.mozilla.org/en-US/kb/how-reset-your-password-without-account-recovery-keys-access-data
Synced data When you sync your data with your Mozilla account, your data gets uploaded to Sync servers, based on your settings.
other articles that mentions Sync servers. https://support.mozilla.org/en-US/kb/how-stop-firefox-making-automatic-connections https://support.mozilla.org/en-US/kb/how-change-or-reset-your-mozilla-account-password https://support.mozilla.org/en-US/kb/how-firefox-sync-keeps-your-data-safe-even-if-tls-fails
James said
markwarner22 said
Sync syncs between devicesIt sync's with a Sync server
from for example https://support.mozilla.org/en-US/kb/how-reset-your-password-without-account-recovery-keys-access-data
Synced data When you sync your data with your Mozilla account, your data gets uploaded to Sync servers, based on your settings.other articles that mentions Sync servers. https://support.mozilla.org/en-US/kb/how-stop-firefox-making-automatic-connections https://support.mozilla.org/en-US/kb/how-change-or-reset-your-mozilla-account-password https://support.mozilla.org/en-US/kb/how-firefox-sync-keeps-your-data-safe-even-if-tls-fails
Exactly, I found a local database as well in the profiles folder, called "synced-tabs.db". Sadly on my other computers it was instantly overwritten with the updated session, so no tabs shown there. However, that kind of database is indeed kept in the cloud, so my hope is that Mozilla may have an older version of it.
cor-el said
Note that the files in the sessionstore-backups folder are LZ4 compressed, so you can't view them in a text editor. You can look at this tool to inspect a compressed jsonlz4 sessionstore file. This tool works locally, no uploading is done.
I've tried that and other tools to decompress the files, unfortunately they are completely corrupted. I looked into them with a hex editor, but I very much doubt they are salvageable, there's a huge amount of zeros in there and even manually adding the magic header didn't help with decompressing it. Also unlike other lz4 files I've looked at in the hex editor, these ones are just translated into gibberish, so I think there is no hope to fix the corruption.
Darkmight11 said
Hi, my session with a lot of open tabs has been lost due to a crash. In the profile folder, the recovery and previous files in the sessionstore-backups have been deleted.
I've seen that before which is why I sometime make a copy of the sessionstore-backup folder. see screenshot Is there another profile? From your profile folder, just go up 1 folder to see if there is previous profile folder.
An gyara
jonzn4SUSE said
Darkmight11 said
Hi, my session with a lot of open tabs has been lost due to a crash. In the profile folder, the recovery and previous files in the sessionstore-backups have been deleted.I've seen that before which is why I sometime make a copy of the sessionstore-backup folder. see screenshot Is there another profile? From your profile folder, just go up 1 folder to see if there is previous profile folder.
Yeah making backups is the way to go! Sadly my last one is from a year ago, which is pretty useless. I should've done this on a monthly basis at least, or more frequently even. There is another profile folder, it contains only 1 file, times.json, with the following content: { "created": 1694610346633, "firstUse": null }
I looked at a synced-tabs.db file using a web-based SQLite viewer (https://inloop.github.io/sqlite-viewer/). When I click into a row in the record column, and expand the box by pulling down the right corner, this file seems to have tabs from other devices connected to my account, not the current device. If you have a backup of this file from another computer from before the disaster, perhaps it would still have the older tabs.
I don't know why ShadowExplorer or the similar https://www.nirsoft.net/utils/shadow_copy_view.html would not recover an intact session history file. You could open the file in Notepad++ or another text editor that will show the internal contents of pretty much any file to see whether it bears any resemblance to a normal session history file that starts off with
mozLz40 éi ð?{"version":
(Those spaces are actually NUL characters, but those can't be easily represented here and probably vary from file to file.)
jscher2000 - Support Volunteer said
I looked at a synced-tabs.db file using a web-based SQLite viewer (https://inloop.github.io/sqlite-viewer/). When I click into a row in the record column, and expand the box by pulling down the right corner, this file seems to have tabs from other devices connected to my account, not the current device. If you have a backup of this file from another computer from before the disaster, perhaps it would still have the older tabs. I don't know why ShadowExplorer or the similar https://www.nirsoft.net/utils/shadow_copy_view.html would not recover an intact session history file. You could open the file in Notepad++ or another text editor that will show the internal contents of pretty much any file to see whether it bears any resemblance to a normal session history file that starts off with mozLz40 éi ð?{"version": (Those spaces are actually NUL characters, but those can't be easily represented here and probably vary from file to file.)
Yeah I wanted to check that file on other computers, sadly they had Firefox open and it was already overwritten, so the contents from the lost session were no longer there. I was able to recover some of it on a Linux device, but it's difficult to reconstruct anything from there.
I tried both ShadowExplorer and shadow_copy_view, both returned corrupted files. For non-corrupt session files, it matches what you've shared: mozLz40 ?H( ò!{"version": For the corrupt files from the shadow copies it looks like this: 鯫䙸袢㖹䏋衝ñ햕矾฿痞 I tried searching for "mozLz40", but it did not find this string. I attached an image of what these files look like in the hex editor. The left one is from a shadow copy, the right one is from an intact session.
I don't recognize anything in the corrupt file, it's as though it has undergone another round of compression or encryption.
For the recovered synced-tabs.db file, was the SQLite viewer able to display the data intact? I think it's a JSON array.
jscher2000 - Support Volunteer said
I don't recognize anything in the corrupt file, it's as though it has undergone another round of compression or encryption. For the recovered synced-tabs.db file, was the SQLite viewer able to display the data intact? I think it's a JSON array.
Yeah the synced-tabs.db files are all intact, I have it on a Mac and on a Linux Computer, sadly both were overwritten right away as they had Firefox open at the time of the crash. I did not find a shadow copy equivalent there, if you have some pointers, let me know, but I think at this point it may be too late. Sadly didn't make backups of this folder anywhere :(
Do shadow copies encrypt somehow? I don't have any disk encryption enabled AFAIK.
It is possible (or in this case likely) that the clusters used by this file have been reused to store other data. Windows usually only set a deleted flag and keeps the index files and other meta data on a deleted file, so recovering a deleted file should be a rather simple process.
cor-el said
It is possible (or in this case likely) that the clusters used by this file have been reused to store other data. Windows usually only set a deleted flag and keeps the index files and other meta data on a deleted file, so recovering a deleted file should be a rather simple process.
Hm, how much of a difference does deletion vs overwriting make? For Linux I used this command: grep -i -a -B100 -A100 'a string unique to your file' /dev/sda1 strings > /var/tmp/my-recovered-file
This recovered some of the remote tabs from the synced_tabs.db file that was overwritten, but not all of them. Is there a better way to do this in general for Windows/Mac/Linux with files that were overwritten, not deleted? For future reference I guess, since it's probably too late now anyways.