Edge Case for Data Loss (Firefox Settings, Extension Settings, Sessions)
Labelled as "Firefox Sync" as it may be involved, as the only preserved data is seemingly what comes through firefox sync.
Hi all, My C drive filled itself with 50GB of Crusader Kings 3 crash logs.
While the drive was (unknowingly) full, I opened firefox. Firefox was...wonky...and instantly I could tell something was wrong, as my speeddial homepage was missing all the sites. My best guess is that, in the worst timing ever, firefox sync chose this time to sync. I immediately cleared space on the drive, and restarted firefox. No extension data recovered. I restarted the PC. No extension data recovered.
I began following Firefox troubleshooting steps, such as checking about:profile. Other profiles are present, but each lacks any extensions or extension data. I widened my search with Everything, to search everywhere for any waylaid installs or profiles that may hold backups. Specifically, prefs.js, extensions.json, firefox.exe (incase I was somehow running a non-default install location) or any sign of other installations. I did find some hits, but none had extensions installed.
Perhaps useful, my FF profile weave folder is populated with many CORRUPT files, and the 'failed' folder lists addons, bookmarks, clients, extension-storage and prefs from it's most recent sync. Perhaps this is the result of trying to write to a full disk?
This is mostly an exercise of curiosity now, as the developer of Group Speed Dial (Juraj Mäsiar) helped me recover from their own backup system seperate from the Mozilla Preferences. I have an easy way to see if any backup file has the correct data, as I have many settings that are instantly visible.
Useful info: Antivirus - None added (Windows Defender) FF Version - 111.0.1 (64-bit) Profile - default-release
(Moz Helpers, the remainder of this post is irrelevant, and purely to help future travellers) If a weary traveller comes across this post in the future, I gift you my knowledge from the year 2023 of Group Speed Dial. At this time, the way you access the backups on your system is to navigate to the Group Speed Dial homepage. If you are on the default homepage, you should find the option to set it as New Tab or Homepage in Firefox settings. Next, as you face the oblivion of an empty dialler page, click the Burger Menu (top-right for me) for the extension. NOT the firefox burger menu, the one as if you were clicking a menu in a website. For me, the Fourth option is History/Backups. This is a new-ish feature from the developer, so don't be surprised if it move around...be they seem very proud of it, so I imagine it lurks somewhere!
If you just want to recover your extension list, at this time you can find a complete list of everything by examining extensions.js, extension-settings.js and extension-preferences.js. There is a tool online for helping parse into a human readable table, but I would not rely on it, and instead look into a generic JSON formatter to make the data human readable. The site is jeffersonscher.com, which has a extension file reader here https://www.jeffersonscher.com/ffu/extensionsjson.html
Have a nice day all!
All Replies (9)
One reason you might lose the connection between your add-ons and their data is if the local UUID changes. Unfortunately, the storage folders are named using those IDs and it can be difficult to backtrack and figure out what goes with which.
You can use the about:sync extension to create an internal page called about:sync and view what is on the Sync server for your Firefox Account. Look for the "extension-storage" category and check the Records (table) to see what is up there. It looks like that data uses the public extension ID from the add-ons site rather than the local one.
Forgot the link: https://addons.mozilla.org/firefox/addon/about-sync/
Very interesting extension, definitely some clues in here!
The data I'm looking for isn't here, unfortunately. Only 3 records in that table, not even an entry available for most of my extensions (simplelogin, sponsorblock and groupspeeddial). However, I did see something of interest that seems to confirm my suspicion about Drive Space causing the problem.
When looking at the error logs for Sync, there is a log timed from when the drive was full. I would love to read it, but...the drive was full. so it's just a 0kb empty file, as the log couldn't be saved.
Looking around, the Sync profile is a *mess*. 5 clientMissing, 1 serverMissing (probably the extension I did a manual restore of), 10 serverUnexpected and a duplicate.
I feel like what I'm looking for is here, somewhere, in the mysterious Cloud of "someone else's computer"!
Here is a fail from normal circumstance before the empty fail log, and a success following. I can't even share the 0kb fail log, as services error at such a weird file! https://file.io/T6l0mogMZkkI
If you check the storage folder --
[profile.folder]\storage\default
-- can you find folders whose names start with moz-extension that were last updated around the critical time but are not accounted for when you check the local UUIDs of your key extensions (typically listed on the about:debugging page, "This Firefox" panel)?
Possibly one of them could have useful data, but these files are a pain to work with...
Ref. Profiles - Where Firefox stores your bookmarks, passwords and other user data
Note that extension's data is mapped to their UUID via the extensions.webextensions.uuids pref stored in prefs.js, so a problem with this file can cause losing extension data.
jscher2000 - Support Volunteer said
If you check the storage folder -- -- can you find folders whose names start with moz-extension that were last updated around the critical time but are not accounted for when you check the local UUIDs of your key extensions (typically listed on the about:debugging page, "This Firefox" panel)?
I can indeed, seems to be about the right timeframe here too, with last-modified going back far enough. If these are the correct local files, would that be what is confusing Sync and generating those errors?
cor-el said
Note that extension's data is mapped to their UUID via the extensions.webextensions.uuids pref stored in prefs.js, so a problem with this file can cause losing extension data.
Checking that file, I find that line is filled out with all the extensions.
Bit of a crazy idea, but what if I tried to restore the link between Sync and the extension storage I have locally? the ```serverUnexpected: 10 problems
The following server records appear on the server but should not have been uploaded.``` records match (at least, at a glance) with the extensions that lost their data. Could I just...add those entries alongside the current "valid" three extension entries? I've attached an image of what I mean in about:sync, and here is the line from prefs.js ``` user_pref("extensions.webextensions.uuids", "{\"doh-rollout@mozilla.org\":\"0415dc1f-3840-406e-847d-76bfb0b5ab04\",\"formautofill@mozilla.org\":\"db534cea-bb1c-40ee-82ef-ecff8809a399\",\"pictureinpicture@mozilla.org\":\"7d17f97c-2bdd-45e3-add0-b1a8201f9d7f\",\"screenshots@mozilla.org\":\"191ff1bd-066e-42e2-9d86-3dfc683b2875\",\"webcompat-reporter@mozilla.org\":\"ce017f39-0e68-4681-8d90-87698a0e5b36\",\"webcompat@mozilla.org\":\"354419c7-9be9-4703-a04f-d50904b84c81\",\"default-theme@mozilla.org\":\"1ee8f8b1-bbcf-4191-b50b-b7ba4bb645eb\",\"google@search.mozilla.org\":\"d7874bee-a986-495f-9e03-4659b9153e0a\",\"wikipedia@search.mozilla.org\":\"4d8f9b17-c64c-4d00-9367-030a469e3d93\",\"bing@search.mozilla.org\":\"20538a17-9b86-41cf-9e27-599b7631aa5c\",\"amazon@search.mozilla.org\":\"ba4ed1d5-6044-4176-a613-1d213ca98c83\",\"ddg@search.mozilla.org\":\"b6baedd8-56ff-4a2a-98d1-8b91bd4b585a\",\"ebay@search.mozilla.org\":\"1a3b3713-b3d7-4aa5-a189-c73a12f858ce\",\"addons-search-detection@mozilla.com\":\"c24866fa-dfcd-4045-a43f-5686cd3e55c2\",\"uBlock0@raymondhill.net\":\"8142f70f-8120-4071-9851-5b24654c8a8e\",\"jid1-xUfzOsOFlzSOXg@jetpack\":\"751568eb-15ed-493a-a620-93680af86966\",\"{0ff128a1-c286-4e73-bffa-9ae879b244d5}\":\"6dda6817-f85d-4a68-a874-6238502dbfa5\",\"{f73df109-8fb4-453e-8373-f59e61ca4da3}\":\"248f61ed-a5f6-4fe0-880e-ac2da6332dd4\",\"firefox@tampermonkey.net\":\"914aefeb-7151-4364-bcfa-38a0846aabc4\",\"enhancerforyoutube@maximerf.addons.mozilla.org\":\"f2392602-9b0e-4d6a-8da2-41e09a2a0272\",\"sponsorBlocker@ajay.app\":\"f4d5d6ae-1560-4d5a-bebf-453ec612b351\",\"{9063c2e9-e07c-4c2c-9646-cfe7ca8d0498}\":\"16ed95cd-2526-4655-8bc3-2ba591dd6271\",\"admin@fastaddons.com_GroupSpeedDial\":\"d1aa39b5-ac44-4292-b833-21754ab7fed9\",\"outlook@computerwhiz\":\"80394e5e-f48e-4cb8-9e38-8ac246fcc705\",\"soundfixer@unrelenting.technology\":\"9a77942b-f2ab-4330-95be-c0a172197ff1\",\"shinigamieyes@shinigamieyes\":\"b2aeae07-8a67-4b6c-96b8-2c61bf68434b\",\"firefox@betterttv.net\":\"fd324e65-f994-4d2c-b232-5b82bfc7f4ad\",\"Tab-Session-Manager@sienori\":\"366e835d-752b-49a6-8185-a30278c7566d\",\"@tiktok-container\":\"e4f449ed-2de7-4915-a235-056738ec49e8\",\"@contain-facebook\":\"494e9716-3eee-4907-930b-f04020476656\",\"@contain-amzn\":\"1d52f368-d9f6-43c6-830a-322d073ff1d1\",\"@contain-twitter\":\"cb358ea8-d826-4a34-9174-89d7cbd61341\",\"@contain-discord\":\"0beac8a5-65f1-453c-b5dc-288729e5f5fc\",\"@contain-microsoft\":\"9057f060-5b55-4254-b878-ecbf3d1c51d4\",\"@contain-google\":\"50b6d216-85b7-47fd-83eb-18b3b06ba405\",\"{0fa8f380-98c6-4cc9-9f24-10d84bf1b609}\":\"44afcf0f-96d4-4a9f-a97a-3f4ae7af24de\",\"webextension@metamask.io\":\"dbcf6a29-fca3-426d-8d34-7ecd8dae828a\",\"transmitter@unrelenting.technology\":\"1b809d45-d904-404a-bcda-8f59e8aa7b03\",\"languagetool-webextension@languagetool.org\":\"5da69c23-7415-4e5b-b067-4bd5f684e107\",\"private-relay@firefox.com\":\"01cb1655-93e2-425f-8f51-a2b068adc508\",\"firefox-extension@steamdb.info\":\"92a11508-2792-45d7-b505-fd3ae116a65b\",\"addon@simplelogin\":\"897cda4e-b1dd-4ac9-82c6-160e97c9b9ea\",\"aboutsync@mhammond.github.com\":\"a4679632-fefb-4611-bc78-9592d7b57b9d\"}"); ```
Maybe download/save that extension data you see in sync if it's so far the only place you've found it.
The way I read these in your prefs.js file --
"admin@fastaddons.com_GroupSpeedDial": "d1aa39b5-ac44-4292-b833-21754ab7fed9" "sponsorBlocker@ajay.app": "f4d5d6ae-1560-4d5a-bebf-453ec612b351" "uBlock0@raymondhill.net": "8142f70f-8120-4071-9851-5b24654c8a8e"
-- is that the expected folder name of the storage data would be moz-extension+++ followed by the local UUID on the right sides of those lines. That would be as of the time you extracted that data from prefs.js, so if those local UUIDs got reassigned during the fiasco, then the lost data would be in folders with other names.
firefox.92vtv said
Bit of a crazy idea, but what if I tried to restore the link between Sync and the extension storage I have locally? the ```serverUnexpected: 10 problems The following server records appear on the server but should not have been uploaded.``` records match (at least, at a glance) with the extensions that lost their data. Could I just...add those entries alongside the current "valid" three extension entries?
I don't know what the error means. If those extensions are currently installed, why would it not make sense for Sync to upload an add-on record for them?
You could try a new profile without extensions installed and connect that to the Sync account. If you Sync extehnsions and extension data then Sync should load this data from the server and install the extensions automatically.
jscher2000 - Support Volunteer said
The way I read these in your prefs.js file --
"admin@fastaddons.com_GroupSpeedDial": "d1aa39b5-ac44-4292-b833-21754ab7fed9" "sponsorBlocker@ajay.app": "f4d5d6ae-1560-4d5a-bebf-453ec612b351" "uBlock0@raymondhill.net": "8142f70f-8120-4071-9851-5b24654c8a8e"
-- is that the expected folder name of the storage data would be moz-extension+++ followed by the local UUID on the right sides of those lines. That would be as of the time you extracted that data from prefs.js, so if those local UUIDs got reassigned during the fiasco, then the lost data would be in folders with other names. </blockquote> Okay, this took a bit longer, but I have some more data to share. There is moz-extension+++ data, for 28 extensions (yay!). However, some of these are...duplicates? Is that normal, to have ^userContextId=**** appended to some copies of these folders? Does that mean this Firefox Profile has two sets of extension data for many extensions?
cor-el said
You could try a new profile without extensions installed and connect that to the Sync account. If you Sync extehnsions and extension data then Sync should load this data from the server and install the extensions automatically. https://support.mozilla.org/en-US/kb/profile-manager-create-remove-switch-firefox-profiles
Tried this, unfortunately no luck (or maybe it's camoflaged). The extensions all correctly pulled down, but the preferences were lost for all extensions. Similar to how my account was after the "Incident". Duplicate entries exist in that new Test profile, too.
phew...this is rough! Thank you for all your help so far! I'll attach my entire export of logs from about:sync [Note: now here, can only attach images not txt/zip https://file.io/CFOB4lDDPCPO ]. I made the Test profile on the 11th of April. I believe the 17:35 and after logs correspond to that new profile, and it includes an error (though is followed by successes). It sure looks like Firefox Sync may have to be fixed manually to recover my data. Oof.
Modified