Skip to content

Error in worker: NoModificationAllowedError: Failed to execute 'removeEntry' #142

@xvrh

Description

@xvrh

In Chrome with cross-origin isolation, we are seeing this error when multiple tabs are open. We use some powersync & sqlite_async databases.

NoModificationAllowedError: Failed to execute 'removeEntry' on 'FileSystemDirectoryHandle': An attempt was made to modify an object where modifications are not allowed.

When that error arises, we observe various behaviors. Sometimes it's benign, but sometimes it poisons the database and we have to go to chrome://inspect to kill the Shared Worker.

We worked around it with custom navigator.locks and retry logic, but I'm not really confident in that approach.

We are not able to reliably reproduce the "bad behaviors", but we can easily trigger the error itself. Hopefully this helps.

Repro: https://github.com/xvrh/sqlite3_web-dual-tab-repro

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions