Skip to content

macOS x86_64: Locked on writer reopen straight after drop #7

Description

@nullarch

Two tests in crates/attemptdb-storage/tests/crash.rs
abort_wal_append_after_write and abort_manifest_after_tmp_write_leaves_a_tolerated_tmp_file
failed on macos-x86_64 only, both with Locked on a writer open taken immediately after drop(db).

Closing the lock file releases the flock synchronously, so this should be impossible. What we know:

  • 12 consecutive local runs on macOS ARM64 pass; the ARM64 CI job passes.
  • open_eventually in crash.rs now waits up to 5 seconds and counts retries, which separates a lagging lock release (milliseconds) from a genuinely leaked handle (budget exhausted → the fix belongs in the engine, not the test).
  • A later green Intel run reported zero retries, so the retry helper contributed nothing and the original failure is still unexplained.

What would close this

An Intel macOS run that reports a non-zero retry count, or a reproduction under load. If you have an Intel Mac and can run

cargo test -p attemptdb-storage --test crash -- --nocapture

in a loop and paste the output when it fails, that is the whole contribution.

Help wanted: we cannot reproduce this on the hardware we have.

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

    bugSomething isn't workinghelp wantedExtra attention is neededplatformWindows, Linux, or macOS specific

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions