Troubleshooting IndexedDB Errors

Troubleshooting IndexedDB connection, quota, and corruption problems

Background

PixieBrix uses the browser's on-device high-performance IndexedDB database to store package/mod definitions and logs.

In the Extension Console, Sidebar, and Page Editor, PixieBrix will show a banner if it's unable to connect to IndexedDB:

Additionally, PixieBrix may report one of the following errors:

  • Internal error opening backing store for IndexedDB.open

  • Failed to read large IndexedDB value

  • IndexedDB Full

  • Encountered full disk while opening backing store for indexedDB.open

Solution 1: restart the browser profile

In many cases, restarting the browser will correct the problem. Because, when Chrome restarts, it will force close all local database connections.

Solution 2: delete local databases via the Chrome Developer Tools

This solution requires that your organization does not restrict your access to the Chrome Developer Tools. See Chrome documentation

  • Open the PixieBrix Extension Console by either:

    • Open the PixieBrix sidebar and click the gear icon in the upper-right

    • Navigate directly to: chrome-extension://mpjjildhmpddojocokjkgmlkkkfjnepo/options.html

  • Open the Chrome Dev Tools by either:

    • Right click on the page and select "Inspect", or:

    • Press F12

  • If Inspect is disabled in the context menu for the page, contact your organization administrator to get access to the Chrome Dev Tools. See Chrome documentation

  • Click on the Applications tab

  • Under Storage > IndexedDB, for each of the following databases, select the database and click the Delete database button in the detail pane:

    • BRICK_REGISTRY

    • LOG

    • TRACE

    • telemetrydb

Solution 3: manually delete IndexedDB files from the file system

  • Locate the IndexedDB storage location:

    • Visit chrome://indexeddb-internals/#chrome-extension://mpjjildhmpddojocokjkgmlkkkfjnepo

    • Locate the database paths under "Paths"

  • Close Chrome. Closing Chrome which will cause Chrome to close all connections to the database and release it's locks on the directories/files

  • On Windows, delete the IndexedDB folders for the PixieBrix extension. For example, on Windows (replace <username> with your username):

C:\Users\<username>\AppData\Local\Google\Chrome\User%20Data\Default\IndexedDB\chromeextension_mpjildhmpddojocokjkgmlkkkfjnepo_0.indexeddb.leveldb\
C:\Users\<username>\AppData\Local\Google\Chrome\User%20Data\Default\IndexedDB\chromeextension_mpjildhmpddojocokjkgmlkkkfjnepo_0.indexeddb.blob\
  • Re-open Chrome

Solution 4: recover local databases

These steps require the PixieBrix support team to enable Extension Storage Diagnostics for your account. Email [email protected] for access before completing the steps

  • Close local database connections:

    • In a new Chrome tab, visit chrome://indexeddb-internals/#chrome-extension://mpjjildhmpddojocokjkgmlkkkfjnepo

    • Click "Force Close"

  • Recover the local PixieBrix databases

    • Navigate to the Extension Console > Settings page, by either:

      • Open the Extension Console, and click "Settings" in the left side-nav, or

      • Navigate directly to: chrome-extension://mpjjildhmpddojocokjkgmlkkkfjnepo/options.html#/settings

    • Click "Recover Databases". If you do not seen the "Extension Storage Statistics" section, contact [email protected]

Frequently Asked Questions

How do I determine if my Chrome profile is corrupted?

Method 1: create a new Chrome profile

  • Create a new Chrome profile and install the PixieBrix extension

  • If PixieBrix works in the the new profile, that indicates your other profile is corrupt

Method 2: delete your existing Chrome profile

Before deleting your Chrome profile, back up your bookmarks or any other information if it's not synced with your Google Account

  • Visit chrome://version/ in a new tab

  • Find "Profile Path" and copy the folder path for your profile

  • Close Chrome completely

  • In File Explorer (Windows) or Finder (Mac), open the profile path you copied

  • Delete the directory

  • Open Chrome

How do I determine if IndexedDB database connections are blocked/deadlocked?

  • In a new Chrome tab, visit chrome://indexeddb-internals/#chrome-extension://mpjjildhmpddojocokjkgmlkkkfjnepo

  • Refer to the "Open Connections:" count.

  • Chrome will also display the status of open connections, e.g., Running, Blocked, etc.

  • If a transaction is blocking other transactions, you'll see a transaction as "Running" with other transactions marked as "Blocked"

Last updated