FD.isMonitorRunning() is sometimes false even when the membership is > 1. Probable cause is restartMonitor() will stops the running monitor, but doesn't start a new one if ping_dest == null.
Need to investigate concurrent updates to pingable_mbrs and ping_dest.