Skip to content

[bug]: payment_failure_reason > 0 when payment status = SUCCEEDED  #8884

Open
@rsafier

Description

@rsafier

Background

Appears since 0.18.0 some payments now occasional will have payment_failure_reason not equal to FAILURE_REASON_NONE despite payment being in SUCCEEDED status, and having preimage recorded.

Your environment

  • lnd 0.18.0-beta
  • Linux ip-100-0-1-117 6.5.0-1020-aws 22.04.1-Ubuntu SMP Wed May 1 16:10:50 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  • bitcoind backend

Steps to reproduce (only works on 0.18.0 and daily-testing-only dockerimage, 0.17.5 does not show this behavior)

  • Make network Alice->Bob->Carol
  • Have HTLC interceptor delay all traffic by 30s on Bob
  • Have Carol pay invoice on Alice with TimeoutSeconds set at 15s on the SendPaymentV2 request.
  • Original blocking payment will return SUCCEEDED and FAILURE_REASON_NONE
  • TrackPayment again and will return SUCCEEDED and FAILURE_REASON_TIMEOUT

C# unit test of behavior

Expected behaviour

if payment status equals SUCCEEDED then payment_failure_reason should be reported back as FAILURE_REASON_NONE as in prior LND versions.

Actual behaviour

Some payments in SUCCEEDED status also have non-zero payment_failure_reason set

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugUnintended code behaviourpaymentsRelated to invoices/paymentsrefactoring

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions