nrepl/piggieback

BrowserEnv SocketServer not cleaned up when interrupted before connecting to the browser

potetm opened this issue · 3 comments

Repo steps:

  • Start a piggieback-wrapped BrowserEnv repl
  • Wait for the prompt to connect the browser. Do not connect the browser.
  • Interrupt evaluation
  • Start a new piggieback-wrapped BrowserEnv repl

You should see the following exception:

java.net.BindException: Address already in use (Bind failed)

I just filed a patch to have this addressed in ClojureScript. However, when I tried the patched version with piggieback, I found that repl cleanup was again being skipped in this case.

As a side note, I wanted to submit a PR for this issue, but I'm unclear what the execution model is. You are very explicitly circumventing -tear-down on the underlying repl-envs.

I'm afraid I'm not competent enough to help, but probably @bhauman can give you some guidance.

Piggieback experts are in short supply. ;-)

I'm closing this ticket due to no recent activity. Feel free to re-open it if you ever come back to it.