pytest: mark renepay's self-pay test flaky
What changed, and why it matters
This commit only adds a test-flakiness marker to an existing automated test. It does not change any production code, and the commit message treats the underlying crash as a low-priority test reliability issue rather than a security problem.
No immediate security action required. If the underlying plugin crash is concerning, investigate renepay's handling of malformed `sendpay_failure` onion replies separately from this test-only commit.
Security signals we found
Plugin crash (cln-renepay) observed in test logs, but not patched
Malformed onion reply handling may be a latent robustness issue, though not demonstrated to be exploitable
Change is test-only; no runtime behavior is altered
Evidence from the diff
The diff adds @pytest.mark.flaky(reruns=2) to test_self_pay in tests/test_renepay.py. The commit message shows that the renepay plugin sometimes crashes when it receives a sendpay_failure notification containing a malformed onion reply, causing the plugin to terminate before replying to the RPC call. However, the patch does not fix the crash; it merely retries the test up to two times. No production code is modified.
Changed components
tests/test_renepay.pycln-renepay plugin (referenced in logs only, not modified)Inspect captured patch +1 / −0
diff --git a/tests/test_renepay.py b/tests/test_renepay.py
index 047d4a4d..65735426 100644
--- a/tests/test_renepay.py
+++ b/tests/test_renepay.py
@@ -407,6 +407,7 @@ def test_hardmpp(node_factory):
assert invoice["amount_received_msat"] >= Millisatoshi("1800000sat")
+@pytest.mark.flaky(reruns=2)
def test_self_pay(node_factory):
l1, l2 = node_factory.line_graph(2, wait_for_announce=True)
Why this scored 11/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.