From f0dc028fa9b76a9a7829c1b163f3f39ab2bd7efc Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 19 Apr 2022 13:56:32 +0930 Subject: [PATCH] lightningd: fix overzealous check in htlc_out_check: ``` +11.668971802 lightningdBROKEN: backtrace: lightningd/log.c:821 (fatal_vfmt) 0x558c893c997f +11.668978165 lightningdBROKEN: backtrace: lightningd/log.c:829 (fatal) 0x558c893c9a30 +11.668984935 lightningdBROKEN: backtrace: lightningd/htlc_end.c:87 (corrupt) 0x558c893b9b7d +11.668991262 lightningdBROKEN: backtrace: lightningd/htlc_end.c:205 (htlc_out_check) 0x558c893ba352 +11.669016705 lightningdBROKEN: backtrace: lightningd/peer_htlcs.c:1471 (check_already_failed) 0x558c893ea9c9 +11.669023345 lightningdBROKEN: backtrace: lightningd/peer_htlcs.c:1575 (onchain_failed_our_htlc) 0x558c893eb098 +11.669043122 lightningdBROKEN: backtrace: lightningd/onchain_control.c:438 (handle_onchain_htlc_timeout) 0x558c893cd6ec +11.669049818 lightningdBROKEN: backtrace: lightningd/onchain_control.c:548 (onchain_msg) 0x558c893cdbdc +11.669056372 lightningdBROKEN: backtrace: lightningd/subd.c:556 (sd_msg_read) 0x558c893fa532 +11.669063030 lightningdBROKEN: backtrace: ccan/ccan/io/io.c:59 (next_plan) 0x558c8948e3cd +11.669069093 lightningdBROKEN: backtrace: ccan/ccan/io/io.c:407 (do_plan) 0x558c8948ef9e +11.669075470 lightningdBROKEN: backtrace: ccan/ccan/io/io.c:417 (io_ready) 0x558c8948efdc +11.669081900 lightningdBROKEN: backtrace: ccan/ccan/io/poll.c:453 (io_loop) 0x558c894912a8 +11.669087916 lightningdBROKEN: backtrace: lightningd/io_loop_with_timers.c:22 (io_loop_with_timers) 0x558c893c0966 +11.669094531 lightningdBROKEN: backtrace: lightningd/lightningd.c:1181 (main) 0x558c893c6bf9 ``` Fixes: #5191 Signed-off-by: Rusty Russell --- lightningd/htlc_end.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/lightningd/htlc_end.c b/lightningd/htlc_end.c index bd80eecde..d9a80ac1b 100644 --- a/lightningd/htlc_end.c +++ b/lightningd/htlc_end.c @@ -201,9 +201,6 @@ struct htlc_out *htlc_out_check(const struct htlc_out *hout, return corrupt(abortstr, "Output failmsg, input preimage"); } else if (hout->failmsg) { - if (hout->in->failonion) - return corrupt(abortstr, - "Output failmsg, input failonion"); if (hout->in->preimage) return corrupt(abortstr, "Output failmsg, input preimage");