In the recent update to Chrome 99 a number of users have encountered a bug where the in-browser database stops working. We received reports of this from GoFullPage users. Here are some steps to mitigate the issue.

The Chrome team has been helpful in tracking this issue and the following notes are mostly copied from Simeon’s response on this bug—thanks, Simeon et al.!

You can check for the problem by opening up the JavaScript console (right-click window > inspect > console) and seeing if there’s one of the following errors:

  • InvalidStateError: An operation that depends on state cached in an interface object was made but the state had changed since it was read from disk.
  • DOMException: Internal error retrieving bucket data directory
  • UnknownError: Internal error opening backing store for

See the workarounds below. If you’re up for it (especially if you know your way around a terminal), then I recommend doing option 3, but the quickest way to get something going in a time crunch is option 1.

Workaround 1: Create a new profile

The issue is profile-specific. So if you create a new one or switch to another you can likely get around this issue. It’s the quickest way to get around this issue.

See instructions to add or switch a profile on

  1. On your computer, open Chrome.
  2. At the top right, click the circular Profile image.
  3. Click Add or select another one.
  4. Try the extension here (install it first if necessary since extensions are installed per-profile)

Workaround 2: Reset your current profile

This allows you to continue using Chrome as you normally do, but many features will go back to default settings. See these instructions on resetting your profile for info on what gets reset and what remains.

  1. On your computer, open Chrome.
  2. At the top right, click the 3 dots for “More” and then Settings and then Advanced.
  3. Follow the appropriate instructions for your operating system
    • On Chromebook, Linux, and Mac: Click Reset settings and then Restore settings to their original defaults and then Reset settings.
    • On Windows: Click Reset and cleanup and then Reset settings to their original defaults and then Reset settings.

Workaround 3: Manually delete your QuotaManager database

This approach will surgically address the underlying database corruption without affecting your profile settings. The QuotaManager database will be rebuilt next time Chrome starts.

Before proceeding, copying these instructions to a text file as you will have to close Chrome.

  1. Enter the URL chrome://version in the URL bar of Chrome
  2. Search for the key "Profile Path" and copy the value, which should look something like the following (note: each profile has a unique path):
    • Windows:
      C:\Users\MyUserName\AppData\Local\Google\Chrome\User Data\Default
    • Mac:
      /Users/MyUserName/Library/Application Support/Google/Chrome/Default
    • Linux:
  3. Navigate to this path in your operating system's file browser (likely easier from the terminal if possible)
  4. Completely exit Chrome.
  5. Delete the "QuotaManager" and "QuotaManager-journal" entries inside this directory. Using the Mac example from above it would look like this:
rm "/Users/MyUserName/Library/Application Support/Google/Chrome/Default/QuotaManager"
rm "/Users/MyUserName/Library/Application Support/Google/Chrome/Default/QuotaManager-journal"

6. Reopen Chrome.

If you’re encountering this issue and tried one of the workarounds, let me know below. If you want to contact support for the extension, then just follow the prompts in the extension and someone will help you out!

27 February 2022

Browser tab hygiene

browser tabs are fine

As a software developer and denizen of the Internet, I open a lot of browser tabs every day. If I’m not vigilant and I fail to clean them up as I go, it quickly turns into an unmanageable mess. I find myself wasting time jumping between windows to find something all while the browser is consuming unnecessary memory.

My latest approach to this problem is to embrace the idea that I should be totally fine if all currently open browser tabs were abruptly closed and lost at any point in time. To build upon this with this mindset, we can take it one step further by closing all tabs at the beginning of every day and starting fresh.

This sort of matches the way that application servers are meant to be safe to tear down or boot up in an elastic web architecture where state is persisted in the database, cache, or logs. We can treat the browser as a temporary vehicle for information, but now we need to define where it persists:

  1. For emails, if there’s one I can’t act on immediately (by archiving or responding), then I’ll label it with “todo”, and can look back at TODOs at any time.

  2. For projects, I’ll lean on a productivity tool (like Trello, GitHub, Notion, Asana, etc.) to reference links. For anything more complicated, like a product requirements doc, I’ll create a Google Doc that organizes research, testing links, and other info in an easy-to-find place.

  3. For events—this one’s a no brainer—they go in the calendar.

  4. For interesting things to read, I love using Instapaper and their “Read later” button to track and come back to articles for… reading later.

  5. For key browser tabs, like daily work ones (maybe mail, calendar, project management tool, key dashboards), I sometimes create a bookmarks group and at least in Chrome if you open a new tab and right-click on it in the “bookmarks bar”, you can select “Open all”. Other than this use case, I don’t like to rely on bookmarks too much

Pretty much anything else is on the chopping block. Some of these solutions can definitely be info black holes (e.g., read later lists, email labels), but that’s OK—a black hole that is off in the distance is much better than a black hole that is pulling you into its event horizon and preventing you from getting your most pressing issues taken care of.

As an honorable mention for making due with lots of open tabs, I do really like in Chrome how (1) you can type the name of web page or doc in the URL bar and it will include that in the auto-complete and (2) how it will even present a button to switch to an already open tab (which is generally much faster than opening fresh!)

example of “Switch to this tab”

So put down that luggage you’ve been carrying around for days, weeks, or months. Close those tabs and start every day fresh.

What approaches do you take for better tabs?

A story of remembering a death scene from the video game Shadowgate. read full post…
A Wordle starting word randomizer. If the game feels too easy, then this can bring a little bit of fun chaos. read full post…
You might be sick of hearing about Wordle at this point, but here’s how I found the best starting word with a simple python script and “HTML view source”. We’ll also dive into dive into game design decisions and some gray area analysis. read full post…

Peter Coles

Peter Coles

is a software engineer living in NYC who is building Superset 💪 and also created GoFullPage 📸
more »

github · soundcloud · @lethys · rss