Skip to content

[bug]: ListPayments returns "unable to decode error update" for old payments #10332

@guggero

Description

@guggero

Pre-Submission Checklist

  • I have searched the existing issues and believe this is a new bug.
  • I am not asking a question about how to use lnd, but reporting a bug (otherwise open a discussion).

LND Version

v0.20.0-beta.rc3

LND Configuration

lnd.conf:

  --tlsautorefresh \
  --color="#cccccc" \
  --accept-keysend \
  --accept-amp \
  --protocol.wumbo-channels \
  --protocol.simple-taproot-chans \
  --protocol.option-scid-alias \
  --minchansize=1000000 \
  --bitcoin.mainnet \
  --bitcoin.node=bitcoind \
  --bitcoin.basefee=5000 \
  --bitcoin.feerate=5000 \
  --bitcoin.timelockdelta=29 \
  --bitcoind.rpchost=...
  --tor.active \
  --tor.socks=tor:9050 \
  --tor.control=tor:9051 \
  --tor.skip-proxy-for-clearnet-targets \
  --db.backend=sqlite \
  --db.use-native-sql \
  --routerrpc.maxmchistory=0 \
  --debuglevel=debug,PEER=info,DISC=info \
  --rpcmiddleware.enable \
  --healthcheck.diskspace.attempts=0 \
  --healthcheck.chainbackend.attempts=3 \

Backend Version

v30.0

Backend Configuration

bitcoind.conf

  -txindex \
  -rest \
  -disablewallet \
  -printtoconsole \
  -maxmempool=1024 \
  -dbcache=1024 \
  -server \
  -zmqpubrawblock=tcp://0.0.0.0:28332 \
  -zmqpubrawtx=tcp://0.0.0.0:28333 \
  -rpcauth=... \
  -rpcbind=0.0.0.0 \
  -rpcallowip=172.0.0.0/8 \
  -i2psam=i2pd:7656 \
  -onion=tor:9050 \
  -peerblockfilters=1 \
  -blockfilterindex=1 \
  -discover

OS/Distribution

Ubuntu 24.04.3 LTS

Bug Details & Steps to Reproduce

I have some very old payments.
When I run lncli listpayments --max_payments 99999999, I get the following error:

2025-10-31 15:40:33.202 [DBG] RPCS: [/lnrpc.Lightning/ListPayments] requested
2025-10-31 15:40:33.398 [TRC] SQLD: Error in txBody: unable to decode error update (type=*lnwire.FailTemporaryChannelFailure): unexpected EOF
2025-10-31 15:40:33.399 [ERR] RPCS: [/lnrpc.Lightning/ListPayments]: unable to decode error update (type=*lnwire.FailTemporaryChannelFailure): unexpected EOF

When I run with the default number of payments, the error disappears. Which makes me think it's an old payment that's causing the issue.

I have not yet deleted any payments in case you want to debug this with my data (I can provide you with the SQLite DB if necessary).

I assume the error is coming from here:

f.Message, err = lnwire.DecodeFailureMessage(

Which looks to have been refactored recently (though haven't looked at it in detail).

Expected Behavior

Old payments should be returned without an error.

Debug Information

No response

Environment

No response

Metadata

Metadata

Assignees

Labels

bugUnintended code behaviourpaymentsRelated to invoices/payments

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions