propensive / fury-old

A new build tool for JVM languages
Apache License 2.0
413 stars 34 forks source link

Fury freezes when Bloop crashes during build #344

Open odisseus opened 5 years ago

odisseus commented 5 years ago

Steps to reproduce

  1. Start the Bloop server (e. g. with frontend/runMain bloop.Server in the project's SBT prompt)
  2. Build Fury using the makefile.
  3. Start Fury. The progress graph will appear in the terminal
  4. Kill the Bloop server.

Expected result: Fury stops or at least crashes, and a terminal prompt shows up Actual result: Fury hangs indefinitely; you have to press Ctrl-C to interrupt it

odisseus commented 5 years ago

Apparently Fury thinks the connection is still open after the server is suddenly stopped.

propensive commented 5 years ago

Is this repeatable?

odisseus commented 5 years ago

Confirmed on the latest master.

odisseus commented 5 years ago

It turns out that, after the Bloop server was killed, Fury is capable of building other projects. It starts a new Bloop server if necessary, but the broken connection to the old one still remains in the pool. We need a way to check whether a BSP connection is functional.

odisseus commented 4 years ago

Although the Python launcher has been replaced with Bloopgun, the issue is still present.