In the case that reset() is called (e.g., threshold condition met) while waiting for a VM instances to connect, vm-node enters a deadlock which in turn causes the entire framework to deadlock.
Sequence:
Start VM instance.
Call reset() before vm-node has connected to crete-run.
reset() will terminate the VM, meaning vm-node will never connect and it will continue waiting indefinitely (the connection waits on another thread).
Since the next step of reset() is to to kill the FSMs managing the VM instances, as part of the destruction of AsyncTask, it joins the thread it's waiting for; thus, it blocks indefinitely.
As long as reset() is not called while waiting for a connect, this problem should not occur.
Likelihood: low.
In the case that reset() is called (e.g., threshold condition met) while waiting for a VM instances to connect, vm-node enters a deadlock which in turn causes the entire framework to deadlock.
Sequence:
As long as reset() is not called while waiting for a connect, this problem should not occur.