Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom msg as notification #6899

Merged

Conversation

ErikDeSmedt
Copy link
Contributor

Implements notifications for custommsg

@cdecker cdecker self-assigned this Nov 27, 2023
@cdecker cdecker self-requested a review November 27, 2023 13:54
@cdecker cdecker modified the milestone: v24.02 Nov 27, 2023
@ErikDeSmedt ErikDeSmedt force-pushed the custom_msg_as_notification branch 2 times, most recently from ccadac4 to c417ff8 Compare November 27, 2023 14:24
@ErikDeSmedt
Copy link
Contributor Author

ErikDeSmedt commented Nov 27, 2023

Marked as draft because I am getting a valgrind error locally

Valgrind logs
------------------------------- Valgrind errors --------------------------------
Valgrind error file: valgrind-errors.154915
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x153C25: main (lightningd.c:978)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B77B3: trace_span_slot (trace.c:78)
==154915==    by 0x1B7A9F: trace_span_start (trace.c:140)
==154915==    by 0x153C25: main (lightningd.c:978)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_slot
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B77BE: trace_span_slot (trace.c:83)
==154915==    by 0x1B7A9F: trace_span_start (trace.c:140)
==154915==    by 0x153C25: main (lightningd.c:978)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_slot
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x153DA2: main (lightningd.c:1081)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B77B3: trace_span_slot (trace.c:78)
==154915==    by 0x1B7A9F: trace_span_start (trace.c:140)
==154915==    by 0x153DA2: main (lightningd.c:1081)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_slot
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B77BE: trace_span_slot (trace.c:83)
==154915==    by 0x1B7A9F: trace_span_start (trace.c:140)
==154915==    by 0x153DA2: main (lightningd.c:1081)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_slot
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x153DE9: main (lightningd.c:1106)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x153E0D: main (lightningd.c:1118)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x153E42: main (lightningd.c:1132)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x18F03C: wallet_new (wallet.c:114)
==154915==    by 0x153E51: main (lightningd.c:1133)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B77B3: trace_span_slot (trace.c:78)
==154915==    by 0x1B7A9F: trace_span_start (trace.c:140)
==154915==    by 0x18F03C: wallet_new (wallet.c:114)
==154915==    by 0x153E51: main (lightningd.c:1133)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_slot
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B77BE: trace_span_slot (trace.c:83)
==154915==    by 0x1B7A9F: trace_span_start (trace.c:140)
==154915==    by 0x18F03C: wallet_new (wallet.c:114)
==154915==    by 0x153E51: main (lightningd.c:1133)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_slot
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x18F079: wallet_new (wallet.c:120)
==154915==    by 0x153E51: main (lightningd.c:1133)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x18F0A0: wallet_new (wallet.c:124)
==154915==    by 0x153E51: main (lightningd.c:1133)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x18F0C9: wallet_new (wallet.c:128)
==154915==    by 0x153E51: main (lightningd.c:1133)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x153EB0: main (lightningd.c:1156)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x153F01: main (lightningd.c:1176)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x153FDF: main (lightningd.c:1207)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x12F112: bitcoind_getrawblockbyheight_ (bitcoind.c:515)
==154915==    by 0x1304B2: check_chain (chaintopology.c:1307)
==154915==    by 0x12EAAE: getchaininfo_callback (bitcoind.c:572)
==154915==    by 0x176AED: plugin_response_handle (plugin.c:660)
==154915==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==154915==    by 0x17A296: plugin_read_json (plugin.c:823)
==154915==    by 0x3115F7: next_plan (io.c:59)
==154915==    by 0x311A7E: do_plan (io.c:407)
==154915==    by 0x311B17: io_ready (io.c:417)
==154915==    by 0x313374: io_loop (poll.c:453)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:bitcoind_getrawblockbyheight_
   fun:check_chain
   fun:getchaininfo_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x15149A: parse_request (jsonrpc.c:1140)
==154915==    by 0x1518DE: read_json (jsonrpc.c:1248)
==154915==    by 0x3115F7: next_plan (io.c:59)
==154915==    by 0x311A7E: do_plan (io.c:407)
==154915==    by 0x311B17: io_ready (io.c:417)
==154915==    by 0x313374: io_loop (poll.c:453)
==154915==    by 0x14F311: io_loop_with_timers (io_loop_with_timers.c:22)
==154915==    by 0x17AA25: plugins_config (plugin.c:2156)
==154915==    by 0x154062: main (lightningd.c:1231)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:parse_request
   fun:read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
   fun:io_loop_with_timers
   fun:plugins_config
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x1305FE: try_extend_tip (chaintopology.c:1099)
==154915==    by 0x1324BD: begin_topology (chaintopology.c:1385)
==154915==    by 0x154234: main (lightningd.c:1312)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:try_extend_tip
   fun:begin_topology
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x12F112: bitcoind_getrawblockbyheight_ (bitcoind.c:515)
==154915==    by 0x13061D: try_extend_tip (chaintopology.c:1100)
==154915==    by 0x1324BD: begin_topology (chaintopology.c:1385)
==154915==    by 0x154234: main (lightningd.c:1312)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:bitcoind_getrawblockbyheight_
   fun:try_extend_tip
   fun:begin_topology
   fun:main
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x130DED: add_tip (chaintopology.c:976)
==154915==    by 0x131ACE: get_new_block (chaintopology.c:1083)
==154915==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==154915==    by 0x176AED: plugin_response_handle (plugin.c:660)
==154915==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==154915==    by 0x17A296: plugin_read_json (plugin.c:823)
==154915==    by 0x3115F7: next_plan (io.c:59)
==154915==    by 0x311A7E: do_plan (io.c:407)
==154915==    by 0x311B17: io_ready (io.c:417)
==154915==    by 0x313374: io_loop (poll.c:453)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:add_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x130E17: add_tip (chaintopology.c:980)
==154915==    by 0x131ACE: get_new_block (chaintopology.c:1083)
==154915==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==154915==    by 0x176AED: plugin_response_handle (plugin.c:660)
==154915==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==154915==    by 0x17A296: plugin_read_json (plugin.c:823)
==154915==    by 0x3115F7: next_plan (io.c:59)
==154915==    by 0x311A7E: do_plan (io.c:407)
==154915==    by 0x311B17: io_ready (io.c:417)
==154915==    by 0x313374: io_loop (poll.c:453)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:add_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x130E39: add_tip (chaintopology.c:984)
==154915==    by 0x131ACE: get_new_block (chaintopology.c:1083)
==154915==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==154915==    by 0x176AED: plugin_response_handle (plugin.c:660)
==154915==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==154915==    by 0x17A296: plugin_read_json (plugin.c:823)
==154915==    by 0x3115F7: next_plan (io.c:59)
==154915==    by 0x311A7E: do_plan (io.c:407)
==154915==    by 0x311B17: io_ready (io.c:417)
==154915==    by 0x313374: io_loop (poll.c:453)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:add_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x130E5B: add_tip (chaintopology.c:989)
==154915==    by 0x131ACE: get_new_block (chaintopology.c:1083)
==154915==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==154915==    by 0x176AED: plugin_response_handle (plugin.c:660)
==154915==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==154915==    by 0x17A296: plugin_read_json (plugin.c:823)
==154915==    by 0x3115F7: next_plan (io.c:59)
==154915==    by 0x311A7E: do_plan (io.c:407)
==154915==    by 0x311B17: io_ready (io.c:417)
==154915==    by 0x313374: io_loop (poll.c:453)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:add_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x1305FE: try_extend_tip (chaintopology.c:1099)
==154915==    by 0x131AAE: get_new_block (chaintopology.c:1091)
==154915==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==154915==    by 0x176AED: plugin_response_handle (plugin.c:660)
==154915==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==154915==    by 0x17A296: plugin_read_json (plugin.c:823)
==154915==    by 0x3115F7: next_plan (io.c:59)
==154915==    by 0x311A7E: do_plan (io.c:407)
==154915==    by 0x311B17: io_ready (io.c:417)
==154915==    by 0x313374: io_loop (poll.c:453)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:try_extend_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==154915== Conditional jump or move depends on uninitialised value(s)
==154915==    at 0x1B7795: trace_span_find (trace.c:67)
==154915==    by 0x1B7A91: trace_span_start (trace.c:139)
==154915==    by 0x1305FE: try_extend_tip (chaintopology.c:1099)
==154915==    by 0x1B776A: timer_expired (timeout.c:62)
==154915==    by 0x14F340: io_loop_with_timers (io_loop_with_timers.c:30)
==154915==    by 0x154450: main (lightningd.c:1334)
==154915== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:try_extend_tip
   fun:timer_expired
   fun:io_loop_with_timers
   fun:main
}
--------------------------------------------------------------------------------
------------------------------- Valgrind errors --------------------------------
Valgrind error file: valgrind-errors.155058
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x153C25: main (lightningd.c:978)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B77B3: trace_span_slot (trace.c:78)
==155058==    by 0x1B7A9F: trace_span_start (trace.c:140)
==155058==    by 0x153C25: main (lightningd.c:978)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_slot
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B77BE: trace_span_slot (trace.c:83)
==155058==    by 0x1B7A9F: trace_span_start (trace.c:140)
==155058==    by 0x153C25: main (lightningd.c:978)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_slot
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x153DA2: main (lightningd.c:1081)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B77B3: trace_span_slot (trace.c:78)
==155058==    by 0x1B7A9F: trace_span_start (trace.c:140)
==155058==    by 0x153DA2: main (lightningd.c:1081)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_slot
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B77BE: trace_span_slot (trace.c:83)
==155058==    by 0x1B7A9F: trace_span_start (trace.c:140)
==155058==    by 0x153DA2: main (lightningd.c:1081)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_slot
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x153DE9: main (lightningd.c:1106)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x153E0D: main (lightningd.c:1118)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x153E42: main (lightningd.c:1132)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x18F03C: wallet_new (wallet.c:114)
==155058==    by 0x153E51: main (lightningd.c:1133)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B77B3: trace_span_slot (trace.c:78)
==155058==    by 0x1B7A9F: trace_span_start (trace.c:140)
==155058==    by 0x18F03C: wallet_new (wallet.c:114)
==155058==    by 0x153E51: main (lightningd.c:1133)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_slot
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B77BE: trace_span_slot (trace.c:83)
==155058==    by 0x1B7A9F: trace_span_start (trace.c:140)
==155058==    by 0x18F03C: wallet_new (wallet.c:114)
==155058==    by 0x153E51: main (lightningd.c:1133)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_slot
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x18F079: wallet_new (wallet.c:120)
==155058==    by 0x153E51: main (lightningd.c:1133)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x18F0A0: wallet_new (wallet.c:124)
==155058==    by 0x153E51: main (lightningd.c:1133)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x18F0C9: wallet_new (wallet.c:128)
==155058==    by 0x153E51: main (lightningd.c:1133)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:wallet_new
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x153EB0: main (lightningd.c:1156)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x153F01: main (lightningd.c:1176)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x153FDF: main (lightningd.c:1207)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x12F112: bitcoind_getrawblockbyheight_ (bitcoind.c:515)
==155058==    by 0x1304B2: check_chain (chaintopology.c:1307)
==155058==    by 0x12EAAE: getchaininfo_callback (bitcoind.c:572)
==155058==    by 0x176AED: plugin_response_handle (plugin.c:660)
==155058==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==155058==    by 0x17A296: plugin_read_json (plugin.c:823)
==155058==    by 0x3115F7: next_plan (io.c:59)
==155058==    by 0x311A7E: do_plan (io.c:407)
==155058==    by 0x311B17: io_ready (io.c:417)
==155058==    by 0x313374: io_loop (poll.c:453)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:bitcoind_getrawblockbyheight_
   fun:check_chain
   fun:getchaininfo_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x15149A: parse_request (jsonrpc.c:1140)
==155058==    by 0x1518DE: read_json (jsonrpc.c:1248)
==155058==    by 0x3115F7: next_plan (io.c:59)
==155058==    by 0x311A7E: do_plan (io.c:407)
==155058==    by 0x311B17: io_ready (io.c:417)
==155058==    by 0x313374: io_loop (poll.c:453)
==155058==    by 0x14F311: io_loop_with_timers (io_loop_with_timers.c:22)
==155058==    by 0x17AA25: plugins_config (plugin.c:2156)
==155058==    by 0x154062: main (lightningd.c:1231)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:parse_request
   fun:read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
   fun:io_loop_with_timers
   fun:plugins_config
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x1305FE: try_extend_tip (chaintopology.c:1099)
==155058==    by 0x1324BD: begin_topology (chaintopology.c:1385)
==155058==    by 0x154234: main (lightningd.c:1312)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:try_extend_tip
   fun:begin_topology
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x12F112: bitcoind_getrawblockbyheight_ (bitcoind.c:515)
==155058==    by 0x13061D: try_extend_tip (chaintopology.c:1100)
==155058==    by 0x1324BD: begin_topology (chaintopology.c:1385)
==155058==    by 0x154234: main (lightningd.c:1312)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:bitcoind_getrawblockbyheight_
   fun:try_extend_tip
   fun:begin_topology
   fun:main
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x130DED: add_tip (chaintopology.c:976)
==155058==    by 0x131ACE: get_new_block (chaintopology.c:1083)
==155058==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==155058==    by 0x176AED: plugin_response_handle (plugin.c:660)
==155058==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==155058==    by 0x17A296: plugin_read_json (plugin.c:823)
==155058==    by 0x3115F7: next_plan (io.c:59)
==155058==    by 0x311A7E: do_plan (io.c:407)
==155058==    by 0x311B17: io_ready (io.c:417)
==155058==    by 0x313374: io_loop (poll.c:453)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:add_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x130E17: add_tip (chaintopology.c:980)
==155058==    by 0x131ACE: get_new_block (chaintopology.c:1083)
==155058==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==155058==    by 0x176AED: plugin_response_handle (plugin.c:660)
==155058==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==155058==    by 0x17A296: plugin_read_json (plugin.c:823)
==155058==    by 0x3115F7: next_plan (io.c:59)
==155058==    by 0x311A7E: do_plan (io.c:407)
==155058==    by 0x311B17: io_ready (io.c:417)
==155058==    by 0x313374: io_loop (poll.c:453)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:add_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x130E39: add_tip (chaintopology.c:984)
==155058==    by 0x131ACE: get_new_block (chaintopology.c:1083)
==155058==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==155058==    by 0x176AED: plugin_response_handle (plugin.c:660)
==155058==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==155058==    by 0x17A296: plugin_read_json (plugin.c:823)
==155058==    by 0x3115F7: next_plan (io.c:59)
==155058==    by 0x311A7E: do_plan (io.c:407)
==155058==    by 0x311B17: io_ready (io.c:417)
==155058==    by 0x313374: io_loop (poll.c:453)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:add_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x130E5B: add_tip (chaintopology.c:989)
==155058==    by 0x131ACE: get_new_block (chaintopology.c:1083)
==155058==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==155058==    by 0x176AED: plugin_response_handle (plugin.c:660)
==155058==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==155058==    by 0x17A296: plugin_read_json (plugin.c:823)
==155058==    by 0x3115F7: next_plan (io.c:59)
==155058==    by 0x311A7E: do_plan (io.c:407)
==155058==    by 0x311B17: io_ready (io.c:417)
==155058==    by 0x313374: io_loop (poll.c:453)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:add_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x1305FE: try_extend_tip (chaintopology.c:1099)
==155058==    by 0x131AAE: get_new_block (chaintopology.c:1091)
==155058==    by 0x12EE2C: getrawblockbyheight_callback (bitcoind.c:493)
==155058==    by 0x176AED: plugin_response_handle (plugin.c:660)
==155058==    by 0x179FFA: plugin_read_json_one (plugin.c:772)
==155058==    by 0x17A296: plugin_read_json (plugin.c:823)
==155058==    by 0x3115F7: next_plan (io.c:59)
==155058==    by 0x311A7E: do_plan (io.c:407)
==155058==    by 0x311B17: io_ready (io.c:417)
==155058==    by 0x313374: io_loop (poll.c:453)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:try_extend_tip
   fun:get_new_block
   fun:getrawblockbyheight_callback
   fun:plugin_response_handle
   fun:plugin_read_json_one
   fun:plugin_read_json
   fun:next_plan
   fun:do_plan
   fun:io_ready
   fun:io_loop
}
==155058== Conditional jump or move depends on uninitialised value(s)
==155058==    at 0x1B7795: trace_span_find (trace.c:67)
==155058==    by 0x1B7A91: trace_span_start (trace.c:139)
==155058==    by 0x1305FE: try_extend_tip (chaintopology.c:1099)
==155058==    by 0x1B776A: timer_expired (timeout.c:62)
==155058==    by 0x14F340: io_loop_with_timers (io_loop_with_timers.c:30)
==155058==    by 0x154450: main (lightningd.c:1334)
==155058== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:trace_span_find
   fun:trace_span_start
   fun:try_extend_tip
   fun:timer_expired
   fun:io_loop_with_timers
   fun:main
}
--------------------------------------------------------------------------------
Leaving base_dir /tmp/ltests-se9lvqpc intact, it still has test sub-directories with failure details: ['test_custommsg_triggers_notification_1']

@ErikDeSmedt ErikDeSmedt marked this pull request as ready for review December 4, 2023 13:29
@cdecker cdecker added this to the v24.02 milestone Dec 4, 2023
@ErikDeSmedt
Copy link
Contributor Author

ErikDeSmedt commented Dec 4, 2023

@cdecker : Managed to diagnose and fix the problem. The fix is now part of this MR

@ErikDeSmedt ErikDeSmedt force-pushed the custom_msg_as_notification branch 2 times, most recently from 95a48b5 to 4390393 Compare December 14, 2023 13:41
@ErikDeSmedt
Copy link
Contributor Author

Some conflict appeared. I've rebased the branch so it can be merged more easily.

Copy link
Contributor

@rustyrussell rustyrussell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack 43903936ffe06b9cd84235bccbeb23780aff7112a

Looks good!

Copy link
Contributor

@rustyrussell rustyrussell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first commit needs a "Changelog-Added: Plugins: notification custommsg for receiving an unknown protocol message" line (we used to have a bot to enforce this, but it's broken).

Create a notification that is triggered when a `costummsg` is received.

Changelog-Added: Plugins: notification custommsg for receiving an unknown protocol message
@rustyrussell rustyrussell merged commit 36f69a1 into ElementsProject:master Dec 16, 2023
38 checks passed
@ErikDeSmedt ErikDeSmedt deleted the custom_msg_as_notification branch December 16, 2023 11:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants