Skip to content

Regression: Mutagen-synced changes in Docker not detected (unassociated rename events) on v0.13.8 #105

@scoueille

Description

@scoueille

Hi! We’re seeing the same “unassociated rename” problem as in #89, but in a real-world dev setup (Mutagen + Docker), and it looks like a regression introduced by the fix.

Context

We use php/frankenphp, which relies on e-dant/watcher.
The current FrankenPHP Docker images we tested ship with libwatcher v0.13.8, and we also explicitly tested libwatcher v0.14.1.

On Windows, we don’t use bind mounts (because of the known Docker Desktop Windows bind mount event issues); instead we use Mutagen to sync the code into the container.

What we observe

Files synced via Mutagen into the container are no longer detected by the watcher (no reload / no change picked up).

Bisect / regression evidence

  • libwatcher v0.13.6 → works correctly
  • libwatcher v0.13.8 → broken
  • libwatcher v0.14.1 → still broken (regression still present)

Additionally:

If we revert the set of commits involved in the fix, the watcher starts working again.
When we re-apply the logging-related commits mentioned in the discussion of #89, we consistently see warnings like:

[warn] impossible rename event, unassociated; in_path: /app/public/index.php, in_mask: 128, in_cookie: 3834757, next_path: (null), next_mask: 0, next_cookie: 0
[warn] impossible rename event, unassociated; in_path: /app/public/index.php, in_mask: 128, in_cookie: 3834757, next_path: (null), next_mask: 0, next_cookie: 0

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