Storage seem to be broken in general, although the problem has morphed with my bad troubleshooting attempts.
This problem started ~last week (or ~two months after I switc… (læs mere)
Storage seem to be broken in general, although the problem has morphed with my bad troubleshooting attempts.
This problem started ~last week (or ~two months after I switched OS from Windows to Garuda Linux, a variant of Arch) and has progressively gotten worse.
Initial problem:
Privacy Badger errors and says storage is broken. Putting `navigator.storage.estimate()` into PB's extension console leads to a quota of a large number, and a usage of 0.
Pandora.com then logs me out, and doesn't allow me to log back in. Console reveals it's an indexedDB problem about storage quotas.
Many websites are forgetting tokens - I'll log in, and then 15 minutes later, log in again. This happened on Discord, Fastmail, and this support forum (in fact, I couldn't log in on Firefox here. Had to use Chromium).
Bitwarden's extension also errors, although this one doesn't directly mention storage and instead says that the sync is out of date directly after syncing. Alright. (If I had to guess, the sync process no longer can write to storage so it's stuck with an old sync).
OK, this is odd. I load back the profile directory I still have saved from the last machine. Still symptomatic. Maybe it's a permissions problem? I run `chmod -R 777 ~/.mozilla/firefox` and relaunch. Still symptomatic.
I nuke my firefox directory entirely, reinstall firefox (switching to For Developers) in the process, reimport my bookmarks, and run chmod again. Still symptomatic. Alright.
Maybe it's a problem with my extensions. I really, really doubt that, but maybe. I restart into troubleshooting mode. The problem still exists, but when I go back my bookmarks and extensions are gone.
Problem as it stands now:
Pandora.com still logs me out, but I can log back in. Sometimes. It just doesn't remember when I relaunch firefox.
Along the way at some point, visiting about:support now shows nothing. As in, when I press "copy text to clipboard" this is the report I get back:
Application Basics
------------------
Name:
Version:
Build ID:
Distribution ID:
User Agent:
OS:
OS Theme:
Multiprocess Windows:
Fission Windows:
Remote Processes:
Enterprise Policies:
Google Location Service Key:
Google Safebrowsing Key:
Mozilla Location Service Key:
...full report in Troubleshooting Information section below, but it's not very helpful
When I open the browser console, I am greeted with dozens of errors.
Here are the first few:
NS_ERROR_NOT_IMPLEMENTED: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIAppStartup.secondsSinceLastOSRestart]
_collectStartupConditionsTelemetry resource:///modules/BrowserGlue.sys.mjs:1608
BG__onFirstWindowLoaded resource:///modules/BrowserGlue.sys.mjs:1716
BG_observe resource:///modules/BrowserGlue.sys.mjs:961
_delayedStartup chrome://browser/content/browser.js:2068
BrowserGlue.sys.mjs:1617:15
TypeError: connection not specified in clone options.
cloneStorageConnection resource://gre/modules/Sqlite.sys.mjs:1416
<anonymous> resource://gre/modules/PlacesUtils.sys.mjs:2165
promiseDBConnection resource://gre/modules/PlacesUtils.sys.mjs:1434
fetchAnnotatedPages resource://gre/modules/History.sys.mjs:183
_initializePromise resource://gre/modules/DownloadHistory.sys.mjs:205
ensureInitialized resource://gre/modules/DownloadHistory.sys.mjs:229
getList resource://gre/modules/DownloadHistory.sys.mjs:63
_promiseList resource:///modules/DownloadsCommon.sys.mjs:790
TypeError: connection not specified or invalid.
wrapStorageConnection resource://gre/modules/Sqlite.sys.mjs:1507
<anonymous> resource://gre/modules/PlacesUtils.sys.mjs:2177
withConnectionWrapper resource://gre/modules/PlacesUtils.sys.mjs:1484
get resource://gre/modules/PlacesUtils.sys.mjs:2253
#kickOffOriginsAlternativeFrecency resource://gre/modules/PlacesFrecencyRecalculator.sys.mjs:366
AlternativeFrecencyHelper resource://gre/modules/PlacesFrecencyRecalculator.sys.mjs:350
PlacesFrecencyRecalculator resource://gre/modules/PlacesFrecencyRecalculator.sys.mjs:136
TypeError: can't access property "executeBeforeShutdown", db is undefined
withConnectionWrapper resource://gre/modules/PlacesUtils.sys.mjs:1485
(Many more errors here of "db is undefined" in various places)
NS_ERROR_UNEXPECTED: Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsINavBookmarksService.tagsFolder] PlacesUtils.sys.mjs:2085
Error: Error(s) encountered during statement execution: database or disk is full
handleCompletion resource://gre/modules/Sqlite.sys.mjs:1067
Sqlite.sys.mjs:402:15
StorageError: Storage error: QuotaExceededError: IndexedDB: main/partitioning-exempt-urls importChanges() IndexedDB: importChanges() in main/partitioning-exempt-urls The current transaction exceeded its quota limitations.
StorageError resource://services-settings/RemoteSettingsClient.sys.mjs:157
_adjustedError resource://services-settings/RemoteSettingsClient.sys.mjs:928
maybeSync resource://services-settings/RemoteSettingsClient.sys.mjs:816
Caused by: QuotaExceededError: IndexedDB: main/partitioning-exempt-urls importChanges() IndexedDB: importChanges() in main/partitioning-exempt-urls The current transaction exceeded its quota limitations.
StorageError: Storage error: InvalidStateError: IndexedDB: main/message-groups importChanges() IndexedDB: collections, timestamps, records importChanges() in main/message-groups A mutation operation was attempted on a database that did not allow mutations.
StorageError resource://services-settings/RemoteSettingsClient.sys.mjs:157
_adjustedError resource://services-settings/RemoteSettingsClient.sys.mjs:928
maybeSync resource://services-settings/RemoteSettingsClient.sys.mjs:816
Caused by: InvalidStateError: IndexedDB: main/message-groups importChanges() IndexedDB: collections, timestamps, records importChanges() in main/message-groups A mutation operation was attempted on a database that did not allow mutations.
importChanges resource://services-settings/Database.sys.mjs:120
promise resource://services-settings/IDBHelpers.jsm:128
executeIDB resource://services-settings/IDBHelpers.jsm:92
executeIDB resource://services-settings/Database.sys.mjs:474
RemoteSettingsClient.sys.mjs:532:15
RemoteSettingsWorker error: QuotaExceededError: IndexedDB: execute() The current transaction exceeded its quota limitations.
Could not write session state file DOMException: Could not write chunk (size = 117330) to file /home/hugh/.mozilla/firefox/gkgh2t17.dev-edition-default/sessionstore-backups/recovery.jsonlz4.tmp. The file may be corrupt. <empty string> SessionFile.sys.mjs:405:17
QM_TRY failure (ERROR): 'Unavailable failed with resultCode 0x80520012, resultName NS_ERROR_FILE_NOT_FOUND, context dom::localstorage::FirstOriginInitializationAttempt::Datastore', file dom/localstorage/ActorsParent.cpp:1056
QM_TRY failure (WARNING): 'Unavailable failed with resultCode 0x80520012, resultName NS_ERROR_FILE_NOT_FOUND, context dom::localstorage::FirstOriginInitializationAttempt::Datastore', file dom/localstorage/ActorsParent.cpp:8393
QM_TRY failure (WARNING): 'Unavailable failed with resultCode 0x8052000F, resultName NS_ERROR_FILE_TOO_BIG, context dom::localstorage::FirstOriginInitializationAttempt::Datastore', file dom/localstorage/ActorsParent.cpp:487
I see the error of "database or disk is full" - however, my disk is new (6 months old) and is literally 95% free space (see attached screenshot).
I'm out of ideas, so hopefully someone else has more.