Skip to content

OutOfProcessSilo.Dispose() sometimes leaves the child process running #66

Description

@Kittyfisto

SharpRemote v0.5.166

The following sequence of events may lead to a child process being left for dead:

  1. Create a new OutOfProcessSilo with a restart on failure strategy
  2. Start silo
    ...
  3. child process crashes
  4. Dispose silo shortly (a few milliseconds) after the crash occurred

There exists a race condition inside the Dispose() implementation which causes the child process to be restarted eventually while the silo is being disposed. The problem does not occur every time, but I've been able to reproduce this behavior in synthetic tests with roughly a 25% success rate.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions