diff --git a/channeldb/db.go b/channeldb/db.go index b1e202c73..a1979b7d0 100644 --- a/channeldb/db.go +++ b/channeldb/db.go @@ -1254,11 +1254,13 @@ func (c *ChannelStateDB) GetChannelOpeningState(outPoint []byte) ([]byte, error) return ErrChannelNotFound } - serializedState = bucket.Get(outPoint) - if serializedState == nil { + stateBytes := bucket.Get(outPoint) + if stateBytes == nil { return ErrChannelNotFound } + serializedState = append(serializedState, stateBytes...) + return nil }, func() { serializedState = nil diff --git a/docs/release-notes/release-notes-0.15.0.md b/docs/release-notes/release-notes-0.15.0.md index e626901f5..adb068db5 100644 --- a/docs/release-notes/release-notes-0.15.0.md +++ b/docs/release-notes/release-notes-0.15.0.md @@ -169,6 +169,9 @@ from occurring that would result in an erroneous force close.](https://github.co * [Taproot wallet inputs can also be used to fund channels](https://github.com/lightningnetwork/lnd/pull/6521) +* [Fixed an intermittent panic that would occur due to a violated assumption with our + underlying database.](https://github.com/lightningnetwork/lnd/pull/6547) + ## Routing * [Add a new `time_pref` parameter to the QueryRoutes and SendPayment APIs](https://github.com/lightningnetwork/lnd/pull/6024) that