FirefoxでIndexedDBが利用できないときの対処法


IndexedDBを利用しているアドオンのユーザから報告が寄せられたので調査した。
関連バグ: https://bugzilla.mozilla.org/show_bug.cgi?id=944918
解決までのやり取り: https://github.com/sienori/Tab-Session-Manager/issues/210

現象

window.indexedDB.openすると以下のエラーを吐く。
アドオンやwebサイトに関わらず,IndexedDBを利用している全てのサービスで再現性がある。

window.indexedDB.open('test', 1).onerror=(e=>{
    console.log(e.target.error.name);
    console.log(e.target.error.message);
});

//UnknownError
//The operation failed for reasons unrelated to the database itself and not covered by any other error code

解決方法

プロファイルのストレージが何らかの理由で破損していることが原因らしい。
以下の手順で初期化すれば解決する。

  1. about:profilesより使用中のプロファイルのルートディレクトリを開く
  2. Firefoxを終了し,storageフォルダを削除する

    注意: 一部のアドオンやサービスのデータが失われる可能性があります。 必ずファイルのバックアップを取り,リスクを理解した上で行ってください。
  3. Firefoxを起動するとIndexedDBを利用できるようになる