         return this._trig(Date.now())
       _trig: (t1) ->
         if this.running
+          timeoutSecurity = $timeout(
+            () => this.stop(),
+            this.baseTimeOut
+          )
           return $scope.refreshStats($scope.VM.UUID)
           .then () => this._reset()
           .catch (err) =>


    $scope.refreshStatControl = refreshStatControl = {
      baseStatInterval: 5000
      timeout: null
      running: false
      attempt: 0


            else
              this.attempt++
          .finally () =>
            $timeout.cancel(timeoutSecurity)
            if this.running
              t2 = Date.now()
              return this.period = $timeout(
                () => this._trig(t2),
                Math.max(this.baseStatInterval - (t2 - t1), 0)
              )
      _reset: () ->
        this.attempt = 0
      stop: () ->
        if this.period
          $timeout.cancel(this.period)
        this.running = false
        return
    }
