lightning/lightningd
Rusty Russell 023a688e3f lightningd: fix spurious leak report.
We can (and probably should!) allocate this off tmpctx rather than
off the response.

Also, json_add_invoice doesn't actually match the normal pattern,
so fix that.


```
E           ValueError: 
E           Node errors:
E           Global errors:
E            - Node /tmp/ltests-_vbj8az8/test_pay_fail_unconfirmed_channel_1/lightning-2/ has memory leaks: [
E               {
E                   "backtrace": [
E                       "ccan/ccan/tal/tal.c:442 (tal_alloc_)",
E                       "wallet/invoices.c:81 (wallet_stmt2invoice_details)",
E                       "wallet/invoices.c:697 (invoices_get_details)",
E                       "wallet/wallet.c:2946 (wallet_invoice_details)",
E                       "lightningd/invoice.c:1296 (json_add_invoices)",
E                       "lightningd/invoice.c:1370 (json_listinvoices)",
E                       "lightningd/jsonrpc.c:625 (command_exec)",
E                       "lightningd/jsonrpc.c:753 (rpc_command_hook_final)",
E                       "lightningd/plugin_hook.c:280 (plugin_hook_call_)",
E                       "lightningd/jsonrpc.c:841 (plugin_hook_call_rpc_command)",
E                       "lightningd/jsonrpc.c:938 (parse_request)",
E                       "lightningd/jsonrpc.c:1035 (read_json)",
E                       "ccan/ccan/io/io.c:59 (next_plan)",
E                       "ccan/ccan/io/io.c:407 (do_plan)",
E                       "ccan/ccan/io/io.c:417 (io_ready)",
E                       "ccan/ccan/io/poll.c:453 (io_loop)",
E                       "lightningd/io_loop_with_timers.c:22 (io_loop_with_timers)",
E                       "lightningd/lightningd.c:1194 (main)",
E                       "../csu/libc-start.c:308 (__libc_start_main)"
E                   ],
E                   "label": "wallet/invoices.c:81:struct invoice_details",
E                   "parents": [
E                       "common/json_stream.c:41:struct json_stream",
E                       "ccan/ccan/io/io.c:91:struct io_conn **NOTLEAK**",
E                       "lightningd/lightningd.c:107:struct lightningd"
E                   ],
E                   "value": "0x55a57a77de08"
E               }
E           ]
```
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-09-14 13:43:27 -05:00
..
test lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
.gitignore Ignore all the deamon inside the git history 2021-10-28 15:51:38 +02:00
bitcoind.c Remove general shadowed variables. 2022-08-31 12:18:28 +03:00
bitcoind.h Remove general shadowed variables. 2022-08-31 12:18:28 +03:00
chaintopology.c Remove general shadowed variables. 2022-08-31 12:18:28 +03:00
chaintopology.h Remove names of parameters of callbacks which confuse gcc. 2022-08-31 12:18:28 +03:00
channel_control.c doc: update BOLTs to bc86304b4b0af5fd5ce9d24f74e2ebbceb7e2730 2022-09-12 09:34:52 +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 doc: update BOLTs to bc86304b4b0af5fd5ce9d24f74e2ebbceb7e2730 2022-09-12 09:34:52 +09:30
channel.h notif: dont send balance snapshot for not yet opened channel 2022-09-14 15:59:37 +09:30
closing_control.c lightningd: drive all reconnections out of disconnections. 2022-07-18 20:50:04 -05:00
closing_control.h patch lightningd-peer-fds.patch 2022-01-20 15:24:06 +10:30
coin_mvts.c notif: dont send balance snapshot for not yet opened channel 2022-09-14 15:59:37 +09:30
coin_mvts.h coin_mvt: tiny, dont import lightningd header 2022-02-07 13:02:09 +10:30
connect_control.c common: remove unused parameter "allow_deprecated" from parse_wireaddr_internal. 2022-09-12 09:34:52 +09:30
connect_control.h connectd: control connect backoff from lightningd. 2022-07-28 15:08:44 +09:30
datastore.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
dual_open_control.c channeld/dualopend/lightningd: use channel_ready everywhere. 2022-09-12 09:34:52 +09:30
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 lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
gossip_control.h connectd: remove second gossip fd. 2022-02-08 11:15:52 +10:30
hsm_control.c lightningd: expand exit codes for various failures. 2022-07-20 19:28:33 +09:30
hsm_control.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
htlc_end.c lightningd: fix overzealous check in htlc_out_check: 2022-04-20 16:30:05 +09:30
htlc_end.h coin_mvt: record fees for an outbound htlc 2021-12-28 04:42:42 +10:30
htlc_set.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
htlc_set.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
invoice.c lightningd: fix spurious leak report. 2022-09-14 13:43:27 -05:00
invoice.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
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 lightningd/io_loop_with_timers.c: Move mainloop to its own source file, have chaintopology use it. 2019-05-31 17:57:10 +02:00
jsonrpc.c lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
jsonrpc.h lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
lightningd.c lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
lightningd.h tests: flake fix; l1 was waiting too long to reconnect 2022-07-25 16:28:09 +09:30
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 lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
memdump.c Remove general shadowed variables. 2022-08-31 12:18:28 +03:00
memdump.h lightningd: simplify memleak code. 2022-03-10 09:40:09 +10:30
notification.c channeld/dualopend/lightningd: use channel_ready everywhere. 2022-09-12 09:34:52 +09:30
notification.h channeld/dualopend/lightningd: use channel_ready everywhere. 2022-09-12 09:34:52 +09:30
offer.c offers: remove backwards-compatiblity invoice_request signatures. 2022-09-12 09:34:52 +09:30
onchain_control.c doc: update BOLTs to bc86304b4b0af5fd5ce9d24f74e2ebbceb7e2730 2022-09-12 09:34:52 +09:30
onchain_control.h onchaind: remove 'is_replay' logic 2021-12-28 04:42:42 +10:30
onion_message.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
onion_message.h common: remove support for pre v0.10.2 onionmessages. 2021-12-01 05:44:28 +10:30
opening_common.c doc: update BOLTs to bc86304b4b0af5fd5ce9d24f74e2ebbceb7e2730 2022-09-12 09:34:52 +09:30
opening_common.h lightningd: set cid correctly in peer->uncommitted_channel. 2022-07-18 20:50:04 -05:00
opening_control.c doc: update BOLTs to bc86304b4b0af5fd5ce9d24f74e2ebbceb7e2730 2022-09-12 09:34:52 +09:30
opening_control.h connectd: hold peer until we're interested. 2022-03-23 13:20:12 +10:30
options.c connectd: DNS Bolt7 #911 no longer EXPERIMENTAL 2022-09-13 06:42:20 +09:30
options.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
pay.c wallet: Load and value completed_at timestamp from DB 2022-09-14 13:14:10 +02:00
pay.h lightningd: use our cached channel_update for errors instead of asking gossipd. 2022-02-08 11:15:52 +10:30
peer_control.c doc: include recent BOLT recommendation on grace period. 2022-09-12 09:34:52 +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 doc: include recent BOLT recommendation on grace period. 2022-09-12 09:34:52 +09:30
peer_htlcs.h lightningd: extra sanity checks and rescue attempts for missing HTLCs. 2022-03-31 13:40:27 +10:30
ping.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
plugin_control.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
plugin_control.h plugins: add command field to subcommand output. 2021-06-25 09:49:33 +09:30
plugin_hook.c lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
plugin_hook.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
plugin.c lightningd: more graceful shutdown. 2022-09-12 14:00:41 +02:00
plugin.h lightningd: cleanup obsolete plugins->shutdown flag 2021-12-14 09:33:10 +10:30
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 Remove general shadowed variables. 2022-08-31 12:18:28 +03: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