mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-26 20:30:59 +01:00
plugins/renepay: don't free waiting-for-addgossip flow!
``` Aug 18 13:45:13 lightningd: 0x7fa921f8ffcf ??? Aug 18 13:45:13 lightningd: ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0 Aug 18 13:45:13 lightningd: 0x55b3bb54e6d3 pay_flow_finished_adding_gossip Aug 18 13:45:13 lightningd: plugins/renepay/pay_flow.c:675 Aug 18 13:45:13 lightningd: 0x55b3bb54af25 addgossip_done Aug 18 13:45:13 lightningd: plugins/renepay/pay.c:171 ``` The assert we fail is almost certainly due to the flow being freed: ``` struct pf_result *pay_flow_finished_adding_gossip(struct pay_flow *pf) { assert(pf->state == PAY_FLOW_FAILED_GOSSIP_PENDING); ``` Reported-by: https://github.com/daywalker90 Fixes: #6567 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
d2e39f7af8
commit
763ec6ad43
1 changed files with 2 additions and 1 deletions
|
@ -216,7 +216,8 @@ void payment_reconsider(struct payment *payment)
|
||||||
final_msg = tal_steal(tmpctx, i->final_msg);
|
final_msg = tal_steal(tmpctx, i->final_msg);
|
||||||
break;
|
break;
|
||||||
case PAY_FLOW_FAILED_GOSSIP_PENDING:
|
case PAY_FLOW_FAILED_GOSSIP_PENDING:
|
||||||
break;
|
/* Don't free, it's still going! */
|
||||||
|
continue;
|
||||||
case PAY_FLOW_SUCCESS:
|
case PAY_FLOW_SUCCESS:
|
||||||
if (payment->preimage) {
|
if (payment->preimage) {
|
||||||
/* This should be impossible without breaking SHA256 */
|
/* This should be impossible without breaking SHA256 */
|
||||||
|
|
Loading…
Add table
Reference in a new issue