From 496d1e8edc0350c8f068bc76e8c30cff8a785ee1 Mon Sep 17 00:00:00 2001 From: Olaoluwa Osuntokun Date: Wed, 13 Jul 2016 12:22:54 -0700 Subject: [PATCH] lnd: manually set sig pending bit in commitment state machine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit fixes a class of bug which would trigger a never ending loop of “null” commitment updates between two peers. --- peer.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/peer.go b/peer.go index b3e2cc586..e094fe35e 100644 --- a/peer.go +++ b/peer.go @@ -769,6 +769,7 @@ out: peerLog.Errorf("unable to update "+ "commitment: %v", err) } + state.sigPending = true } case msg, ok := <-upstreamLink: // If the upstream message link is closed, this signals @@ -890,6 +891,7 @@ out: "commitment: %v", err) continue } + state.sigPending = true state.htlcsToSettle = nil } case <-p.quit: @@ -921,8 +923,6 @@ func (p *peer) updateCommitTx(state *commitmentState) error { } p.queueMsg(commitSig, nil) - state.sigPending = true - return nil }