Skip to content

Conversation

@Lagrang3
Copy link
Collaborator

We remove the auxiliary RPC renesenday (only used internally) in favor of a function that builds the onion, stores the shared secrets needed to recover the onion reply, and calls sendonion/injectpaymentonion.

This solves a concurrency race

**BROKEN** plugin-cln-renepay: Unable to parse sendpay_failure

in which we are waiting for renesenday to return in order to record the shared secrets but we get the a sendpay_failure notification with an onionreply before we have secrets to decode it.

It also solves a missing JSON id seen in the logs

DEBUG   plugin-cln-renepay: JSON reply with unknown id

because renesendpay was using his command variable to issue an RPC to sendonion/injecpaymentonion and would fail or succeed the command before those RPCs were done. This also meant that the callback functions were silently being ignored.

Solves issues #8789 and #8345.

@Lagrang3 Lagrang3 force-pushed the renepay_sendpay_race branch from 1ecdf9f to da46e19 Compare December 19, 2025 15:16
We remove the auxiliary RPC renesenday (only used internally) in favor
of a function that builds the onion, stores the shared secrets
needed to recover the onion reply, and calls sendonion/injectpaymentonion.

This solves a concurrency race
```
**BROKEN** plugin-cln-renepay: Unable to parse sendpay_failure
```
in which we are waiting for renesenday to return in order to record the shared
secrets but we get the a sendpay_failure notification with an onionreply
before we have secrets to decode it.

It also solves a missing JSON id seen in the logs
```
DEBUG   plugin-cln-renepay: JSON reply with unknown id
```
because renesendpay was using his command variable to issue an RPC
to sendonion/injecpaymentonion and would fail or succeed the command
before those RPCs were done. This also meant that the callback
functions were silently being ignored.

Changelog-Fixed: renepay: fixes a race condition that leads to **BROKEN** plugin-cln-renepay: Unable to parse sendpay_failure

Signed-off-by: Lagrang3 <[email protected]>
@Lagrang3 Lagrang3 force-pushed the renepay_sendpay_race branch from da46e19 to eb5fd83 Compare December 19, 2025 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant