Skip to content

Torn free-list / pageNumber OOR on durable *.witdb after remount/Kill pressure #122

Description

@KarataevDmitry

Context

Consumer: CDP MCP Task Manager / desk seats via EF Core WitDB provider 1.0.3, dual-seat MCP (primary + debug) historically sharing or remount-fighting large *.witdb files.

Bug

Durable databases end up with torn free-list: ArgumentOutOfRangeException / pageNumber out of range (FreePage ≥ TotalPageCount). Lived sizes were hundreds of MB to ~1GB after remount/Recover kill cycles.

Expected

Engine should either refuse writes under exclusive-lock races without corrupting free-list, or recover/heal torn free-list on Open with a clear error that does not strand the file.

Notes

Per-seat paths alone were not enough once a file was already torn. Combined with failed-Open handle leak (separate issue), cockpit/go=plan became a hard wall until manual quarantine.

We are cutting over seat storage to SQLite; reporting for engine integrity under remount/Kill pressure.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions