core-lightning/lightningd
Rusty Russell 626998efce lightningd: don't timeout plugins if init is slow!
This is a minimal fix: we wait until all plugins reply from init before
continuing.  Really large or busy nodes can have other things monopolize
lightningd, then the timer goes off and we blame the plugin (which has
responded, we just haven't read it yet!).

The real answer is to have some timeouts only advance when we're idle,
or have them low-priority so we only activate them when we're idle (this
doesn't apply to all timers: some are probably important!).  But
this is a minimal fix for -rc3.

Fixes: https://github.com/ElementsProject/lightning/issues/5736
Changelog-Fixed: plugins: on large/slow nodes we could blame plugins for failing to answer init in time, when we were just slow.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-11-27 14:58:42 +01:00
..
test lightningd: only use non-numeric JSON ids if plugin says we can. 2022-11-21 11:23:54 +01:00
.gitignore Ignore all the deamon inside the git history 2021-10-28 15:51:38 +02:00
bitcoind.c lightningd: only use non-numeric JSON ids if plugin says we can. 2022-11-21 11:23:54 +01:00
bitcoind.h lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
chaintopology.c ld: Replace list of outgoing_txs with a hash table 2022-11-18 13:39:09 +01:00
chaintopology.h ld: Replace list of outgoing_txs with a hash table 2022-11-18 13:39:09 +01:00
channel_control.c channeld: remove onion objects. 2022-09-29 16:10:57 +09:30
channel_control.h doc: update BOLTs to bc86304b4b0af5fd5ce9d24f74e2ebbceb7e2730 2022-09-12 09:34:52 +09:30
channel_state.h channel-state: add two new states, for dualopend 2021-01-10 13:44:04 +01:00
channel.c lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
channel.h lightningd: figure out optimal channel *before* forward_htlc hook. 2022-09-26 13:52:04 +02:00
closing_control.c lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
closing_control.h lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
coin_mvts.c common/onion: split into decode and encode routines. 2022-11-09 15:08:03 +01:00
coin_mvts.h coin_mvt: tiny, dont import lightningd header 2022-02-07 13:02:09 +10:30
connect_control.c jsonrpc: make error codes an enum. 2022-09-19 10:18:55 +09:30
connect_control.h plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
datastore.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
dual_open_control.c wallet: Use boolean to determine whether an output is coinbase 2022-11-09 11:55:25 +01:00
dual_open_control.h lightningd: hand fds to connectd, not receive them from connectd. 2022-07-18 20:50:04 -05:00
feerate.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
feerate.h lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
gossip_control.c gossipd: batch outpoints spent, add block height. 2022-09-24 15:22:27 +09:30
gossip_control.h gossipd: batch outpoints spent, add block height. 2022-09-24 15:22:27 +09:30
hsm_control.c createinvoice: make a minimal blinded "path" in bolt12 invoice if none presented. 2022-11-09 15:08:03 +01:00
hsm_control.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
htlc_end.c channeld: don't calculate blinding shared secret, let lightningd do it. 2022-10-26 11:29:06 +10:30
htlc_end.h channeld: don't calculate blinding shared secret, let lightningd do it. 2022-10-26 11:29:06 +10:30
htlc_set.c common/onion_decode: put the path_id into onion_payload->payment_secret. 2022-11-09 15:08:03 +01:00
htlc_set.h
invoice.c lightningd: only use non-numeric JSON ids if plugin says we can. 2022-11-21 11:23:54 +01:00
invoice.h
io_loop_with_timers.c database: pull out database code into a new module 2022-03-05 15:03:34 +10:30
io_loop_with_timers.h
jsonrpc.c lightningd: only use non-numeric JSON ids if plugin says we can. 2022-11-21 11:23:54 +01:00
jsonrpc.h lightningd: only use non-numeric JSON ids if plugin says we can. 2022-11-21 11:23:54 +01:00
lightningd.c onionmessages: remove obsolete onion message parsing. 2022-09-29 16:10:57 +09:30
lightningd.h createinvoice: make a minimal blinded "path" in bolt12 invoice if none presented. 2022-11-09 15:08:03 +01:00
log_status.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
log_status.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
log.c lightningd: fix fatal() log message in log. 2022-07-25 08:11:09 -07:00
log.h options: let log-level subsystem filter also cover nodeid. 2022-07-09 09:59:52 +09:30
Makefile createinvoice: make a minimal blinded "path" in bolt12 invoice if none presented. 2022-11-09 15:08:03 +01:00
memdump.c memleak: remove exclusions from memleak_start() 2022-09-19 11:34:42 +09:30
memdump.h lightningd: simplify memleak code. 2022-03-10 09:40:09 +10:30
notification.c lightningd: add in_htlc_id / out_htlc_id to listforwards. 2022-09-22 15:19:46 +02:00
notification.h jsonrpc: make error codes an enum. 2022-09-19 10:18:55 +09:30
offer.c bolt12: update comments to match latest spec. 2022-11-09 15:08:03 +01:00
onchain_control.c onchaind: cap RBF penalty fee for testnet/regtest 2022-11-18 13:38:42 +01:00
onchain_control.h onchaind: remove 'is_replay' logic 2021-12-28 04:42:42 +10:30
onion_message.c onion_message: don't use general secret, use per-message secret. 2022-11-09 15:08:03 +01:00
onion_message.h common: remove support for pre v0.10.2 onionmessages. 2021-12-01 05:44:28 +10:30
opening_common.c openingd: Add reserve to fundchannel and multifundchannel 2022-09-21 11:25:47 +02:00
opening_common.h openingd: Add reserve to fundchannel and multifundchannel 2022-09-21 11:25:47 +02:00
opening_control.c opening: Add dev-allowdustreserve option to opt into dust reserves 2022-09-21 11:25:47 +02:00
opening_control.h connectd: hold peer until we're interested. 2022-03-23 13:20:12 +10:30
options.c common/features: add explicit bolt12 feature sets. 2022-11-09 15:08:03 +01:00
options.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
pay.c db: add invoicerequests table. 2022-11-09 15:08:03 +01:00
pay.h jsonrpc: make error codes an enum. 2022-09-19 10:18:55 +09:30
peer_control.c plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
peer_control.h connectd: control connect backoff from lightningd. 2022-07-28 15:08:44 +09:30
peer_fd.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_fd.h subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_htlcs.c common/onion: split into decode and encode routines. 2022-11-09 15:08:03 +01:00
peer_htlcs.h lightningd: add in_htlc_id / out_htlc_id to listforwards. 2022-09-22 15:19:46 +02:00
ping.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
plugin_control.c lightningd: wire plugin command JSON id through to plugin commands. 2022-09-16 12:31:45 +09:30
plugin_control.h plugins: add command field to subcommand output. 2021-06-25 09:49:33 +09:30
plugin_hook.c lightningd: only use non-numeric JSON ids if plugin says we can. 2022-11-21 11:23:54 +01:00
plugin_hook.h plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
plugin.c lightningd: don't timeout plugins if init is slow! 2022-11-27 14:58:42 +01:00
plugin.h plugins: set non_numeric_ids flag based on getmanifest nonnumericids field. 2022-11-21 11:23:54 +01:00
routehint.c lightnind: use aliases in routehints for private channels. 2022-08-09 16:31:36 -05:00
routehint.h invoice: overhaul routehints to use topology.listincoming, cleanup. 2021-06-16 10:29:17 +09:30
signmessage.c lightningd: only use non-numeric JSON ids if plugin says we can. 2022-11-21 11:23:54 +01:00
subd.c lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
subd.h lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
watch.c Remove names of parameters of callbacks which confuse gcc. 2022-08-31 12:18:28 +03:00
watch.h Remove names of parameters of callbacks which confuse gcc. 2022-08-31 12:18:28 +03:00