mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 09:54:16 +01:00
wallet: don't get so upset on orphaned HTLC.
User grubman on IRC reported a crash due to new HTLC checks: ``` 2022-04-05T01:15:17.707Z **BROKEN** wallet: Missing preimage for orphaned HTLC; replacing with zeros ... 2022-04-05T01:15:44.950Z **BROKEN** lightningd: check_already_failed:Both failed and succeeded? 2022-04-05T01:15:45.020Z **BROKEN** lightningd: FATAL SIGNAL 6 (version v0.11.0rc1-modded) 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: common/daemon.c:38 (send_backtrace) 0xaaaab8f7f8bb 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: common/daemon.c:46 (crashdump) 0xaaaab8f7f91b 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0xffffa4a315bf 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0xffffa45c6cd8 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0xffffa45b3a27 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/log.c:821 (fatal_vfmt) 0xaaaab8f3e1b7 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/log.c:829 (fatal) 0xaaaab8f3e24b 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/htlc_end.c:87 (corrupt) 0xaaaab8f325d3 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/htlc_end.c:175 (htlc_out_check) 0xaaaab8f32ee3 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/peer_htlcs.c:1471 (check_already_failed) 0xaaaab8f53ea7 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/peer_htlcs.c:1575 (onchain_failed_our_htlc) 0xaaaab8f54aab 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/onchain_control.c:411 (handle_missing_htlc_output) 0xaaaab8f4037b 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/onchain_control.c:544 (onchain_msg) 0xaaaab8f409bf 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/subd.c:556 (sd_msg_read) 0xaaaab8f5f8ef 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: ccan/ccan/io/io.c:59 (next_plan) 0xaaaab8fda197 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: ccan/ccan/io/io.c:407 (do_plan) 0xaaaab8fda76f 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: ccan/ccan/io/io.c:417 (io_ready) 0xaaaab8fda82f 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: ccan/ccan/io/poll.c:453 (io_loop) 0xaaaab8fdc77f 2022-04-05T01:15:45.020Z **BROKEN** lightningd: backtrace: lightningd/io_loop_with_timers.c:22 (io_loop_with_timers) 0xaaaab8f37857 2022-04-05T01:15:45.021Z **BROKEN** lightningd: backtrace: lightningd/lightningd.c:1181 (main) 0xaaaab8f3bcff 2022-04-05T01:15:45.021Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0xffffa45b3d4f 2022-04-05T01:15:45.021Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0xaaaab8f1ed33 ``` Since no HTLCs are likely to still be pending since v0.6.1, we can remove that compat code. Indeed, this happens on my node: we've not loaded the incoming HTLC because it's resolved. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
c55ae7cbcb
commit
d18817a525
@ -2648,21 +2648,12 @@ static bool wallet_stmt2htlc_out(struct wallet *wallet,
|
||||
u64 in_id = db_col_u64(stmt, "origin_htlc");
|
||||
struct htlc_in *hin;
|
||||
|
||||
/* If it failed / succeeded already, we could have
|
||||
* closed incoming htlc */
|
||||
hin = remove_htlc_in_by_dbid(unconnected_htlcs_in, in_id);
|
||||
if (hin)
|
||||
htlc_out_connect_htlc_in(out, hin);
|
||||
out->am_origin = false;
|
||||
if (!out->in && !out->preimage) {
|
||||
#ifdef COMPAT_V061
|
||||
log_broken(wallet->log,
|
||||
"Missing preimage for orphaned HTLC; replacing with zeros");
|
||||
out->preimage = talz(out, struct preimage);
|
||||
#else
|
||||
fatal("Unable to find corresponding htlc_in %"PRIu64
|
||||
" for unfulfilled htlc_out %"PRIu64,
|
||||
in_id, out->dbid);
|
||||
#endif
|
||||
}
|
||||
db_col_ignore(stmt, "partid");
|
||||
db_col_ignore(stmt, "groupid");
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user