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 # 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) * [LND now sets the `BADONION`](https://github.com/lightningnetwork/lnd/pull/7937)
bit when sending `update_fail_malformed_htlc`. This avoids a force close bit when sending `update_fail_malformed_htlc`. This avoids a force close
with other implementations. with other implementations.

View File

@@ -655,9 +655,15 @@ func (p *Brontide) Start() error {
if len(msgs) > 0 { if len(msgs) > 0 {
p.log.Infof("Sending %d channel sync messages to peer after "+ p.log.Infof("Sending %d channel sync messages to peer after "+
"loading active channels", len(msgs)) "loading active channels", len(msgs))
if err := p.SendMessage(true, msgs...); err != nil {
p.log.Warnf("Failed sending channel sync "+ // Send the messages directly via writeMessage and bypass the
"messages to peer: %v", err) // 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 // with a nil message iff a timeout error is returned. This will continue to
// flush the pending message to the wire. // flush the pending message to the wire.
func (p *Brontide) writeMessage(msg lnwire.Message) error { 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. // Only log the message on the first attempt.
if msg != nil { if msg != nil {
p.logWireMessage(msg, false) p.logWireMessage(msg, false)