Health check hanging on some Linux targets

For some of our Linux targets, the health check is hanging, although everything should be fine. Here is the log output where it just stops:

Task ID: ServerTasks-14162
Task status: Executing
Task queued: Friday, April 1, 2016 12:53 PM
Task started: Friday, April 1, 2016 12:53 PM
Task duration: 6 minutes
Server version: 3.3.6+Branch.master.Sha.ef711d651c56c0d0097bfecf797bb02a0abb1d00

                | == Running: Check <servername> health ==

12:53:59 Info | Starting health check for a limited set of deployment targets
12:53:59 Info | 1 machines will have their health checks taken.
| == Running: Check deployment target: ==
12:53:59 Verbose | Requesting upload…
12:53:59 Verbose | Establishing SSH connection…
12:54:00 Verbose | SSH connection established
12:54:00 Verbose | Beginning streaming transfer of to $HOME.octopus\OctopusServer\Work\20160401105359-2
12:54:00 Verbose | Establishing SFTP connection…
12:54:02 Verbose | SSFTP connection established

Hi Ryan,

Thanks for getting in touch. This one has us stumped, you’ve already passed any internal locks by this point. To diagnose the issue further could you confirm/check a few things:

  1. You mention "some of our Linux targets"
    a) Are all health checks to these targets hanging, or is it hanging intermittently?
    b) Is there a set of targets that hang more frequently than other targets?
  2. Does cancelling and re-running the health check work, or do you need to restart the Octopus Windows Service and/or the Linux server itself to get those health checks working again? (That is, how do you recover from this state, if you can recover?)
  3. How many Linux targets do you have (approximately)?
  4. It appears to hang just after establishing the SFTP session when attempting to stream the bash script across: could you take a look at the SFTP logs from one of these failing health checks, and send it through?

Hope that helps!