Merge branch 'v0-17-1-branch-rc3-8158' into v0-17-1-branch-rc3

This commit is contained in:
Olaoluwa Osuntokun
2023-11-08 14:58:41 -08:00
2 changed files with 11 additions and 8 deletions

View File

@@ -19,6 +19,8 @@
# Bug Fixes
* A bug that caused certain API calls to hang [has been fixed](https://github.com/lightningnetwork/lnd/pull/8158).
* [LND now sets the `BADONION`](https://github.com/lightningnetwork/lnd/pull/7937)
bit when sending `update_fail_malformed_htlc`. This avoids a force close
with other implementations.

View File

@@ -655,9 +655,15 @@ func (p *Brontide) Start() error {
if len(msgs) > 0 {
p.log.Infof("Sending %d channel sync messages to peer after "+
"loading active channels", len(msgs))
if err := p.SendMessage(true, msgs...); err != nil {
p.log.Warnf("Failed sending channel sync "+
"messages to peer: %v", err)
// Send the messages directly via writeMessage and bypass the
// writeHandler goroutine to avoid cases where writeHandler
// may exit and cause a deadlock.
for _, msg := range msgs {
if err := p.writeMessage(msg); err != nil {
return fmt.Errorf("unable to send reestablish"+
"msg: %v", err)
}
}
}
@@ -2020,11 +2026,6 @@ func (p *Brontide) logWireMessage(msg lnwire.Message, read bool) {
// with a nil message iff a timeout error is returned. This will continue to
// flush the pending message to the wire.
func (p *Brontide) writeMessage(msg lnwire.Message) error {
// Simply exit if we're shutting down.
if atomic.LoadInt32(&p.disconnect) != 0 {
return lnpeer.ErrPeerExiting
}
// Only log the message on the first attempt.
if msg != nil {
p.logWireMessage(msg, false)