microsoft/playwright · error · Error

Unable to serialize IndexedDB: ${e.message}

Error message

Unable to serialize IndexedDB: ${e.message}

What it means

Error "Unable to serialize IndexedDB: ${e.message}" thrown in microsoft/playwright.

Source

Thrown at packages/injected/src/storageScript.ts:145

    }));

    return {
      name: dbInfo.name,
      version: dbInfo.version,
      stores,
    };
  }

  async collect(recordIndexedDB: boolean): Promise<SerializedStorage> {
    const localStorage = Object.keys(this._global.localStorage).map(name => ({ name, value: this._global.localStorage.getItem(name)! }));
    if (!recordIndexedDB)
      return { localStorage };
    try {
      const databases = await this._global.indexedDB.databases();
      const indexedDB = await Promise.all(databases.map(db => this._collectDB(db)));
      return { localStorage, indexedDB };
    } catch (e) {
      throw new Error('Unable to serialize IndexedDB: ' + e.message);
    }
  }

  private async _restoreDB(dbInfo: IndexedDBDatabase) {
    const openRequest = this._global.indexedDB.open(dbInfo.name, dbInfo.version);
    openRequest.addEventListener('upgradeneeded', () => {
      const db = openRequest.result;
      for (const store of dbInfo.stores) {
        const objectStore = db.createObjectStore(store.name, { autoIncrement: store.autoIncrement, keyPath: store.keyPathArray ?? store.keyPath });
        for (const index of store.indexes)
          objectStore.createIndex(index.name, index.keyPathArray ?? index.keyPath!, { unique: index.unique, multiEntry: index.multiEntry });
      }
    });

    // after `upgradeneeded` finishes, `success` event is fired.
    const db = await this._idbRequestToPromise(openRequest);

    if (db.objectStoreNames.length === 0)

View on GitHub (pinned to c8fc3bf8d3)

When it happens

Trigger: Thrown at packages/injected/src/storageScript.ts:145 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of microsoft/playwright@c8fc3bf8d3 (2026-08-12). Data as JSON: /api/errors/3db4891d89570e92. Report an issue: GitHub.