diff --git a/contractcourt/utxonursery.go b/contractcourt/utxonursery.go index f78be9fa4..f87524305 100644 --- a/contractcourt/utxonursery.go +++ b/contractcourt/utxonursery.go @@ -286,19 +286,18 @@ func (u *UtxoNursery) Start() error { // 2. Restart spend ntfns for any preschool outputs, which are waiting // for the force closed commitment txn to confirm, or any second-layer // HTLC success transactions. - // - // NOTE: The next two steps *may* spawn go routines, thus from this - // point forward, we must close the nursery's quit channel if we detect - // any failures during startup to ensure they terminate. + // NOTE: The next two steps *may* spawn go routines. if err := u.reloadPreschool(); err != nil { - close(u.quit) + utxnLog.Errorf("Failed to reload preschool: %v", err) + return err } // 3. Replay all crib and kindergarten outputs up to the current best // height. if err := u.reloadClasses(uint32(bestHeight)); err != nil { - close(u.quit) + utxnLog.Errorf("Failed to reload class: %v", err) + return err } @@ -309,7 +308,8 @@ func (u *UtxoNursery) Start() error { Hash: bestHash, }) if err != nil { - close(u.quit) + utxnLog.Errorf("RegisterBlockEpochNtfn failed: %v", err) + return err } diff --git a/docs/release-notes/release-notes-0.19.2.md b/docs/release-notes/release-notes-0.19.2.md index 0628d1748..e703888a6 100644 --- a/docs/release-notes/release-notes-0.19.2.md +++ b/docs/release-notes/release-notes-0.19.2.md @@ -39,6 +39,9 @@ - [Fixed](https://github.com/lightningnetwork/lnd/pull/10035) a deadlock (writer starvation) in the switch. +- Fixed a [case](https://github.com/lightningnetwork/lnd/pull/10045) that a + panic may happen which prevents the node from starting up. + # New Features ## Functional Enhancements