satindergrewal / lightning

c-lightning — a Lightning Network implementation in C
Other
0 stars 2 forks source link

Error - lightningd: FATAL SIGNAL 6 - invoice_count command crashes lightningd #7

Closed satindergrewal closed 3 years ago

satindergrewal commented 3 years ago

Executing following command crashes lightningd:

root@pangea:~/grewal/lightning/cli# ./lightning-cli --network chips invoice-count
lightning-cli: reading response: socket closed
root@pangea:~/grewal/lightning/cli#

lightningd crash log:

2020-12-19T11:10:49.438Z DEBUG   lightningd: Adding block 7592392: 00000043c866bd5defe8743e0a0a95a3bbcfe233dcecb4fc73ba7d7fdd36fbc1
invoices_count: SELECT count(*)  FROM invoices;: bad parameter or other API misuse
2020-12-19T11:10:59.672Z **BROKEN** lightningd: invoices_count: SELECT count(*)  FROM invoices;: bad parameter or other API misuse
lightningd: FATAL SIGNAL 6 (version chipsln.0.0.0)
0x55f971bc37a9 send_backtrace
    common/daemon.c:38
0x55f971bc383c crashdump
    common/daemon.c:51
0x7f447a24103f ???
    ???:0
0x7f447a240fb7 ???
    ???:0
0x7f447a242920 ???
    ???:0
0x55f971b919c4 fatal
    lightningd/log.c:803
0x55f971bad85f db_prepare_
    wallet/db.c:759
0x55f971bb0bef invoices_count
    wallet/invoices.c:692
0x55f971bb6201 wallet_invoice_count
    wallet/wallet.c:2373
0x55f971b8b827 json_invoice_count
    lightningd/invoice.c:1662
0x55f971b8c73a command_exec
    lightningd/jsonrpc.c:644
0x55f971b8e0f3 rpc_command_hook_callback
    lightningd/jsonrpc.c:754
0x55f971baa13a plugin_hook_call_
    lightningd/plugin_hook.c:288
0x55f971b8dbd8 plugin_hook_call_rpc_command
    lightningd/jsonrpc.c:809
0x55f971b8dbd8 parse_request
    lightningd/jsonrpc.c:889
0x55f971b8de1f read_json
    lightningd/jsonrpc.c:980
0x55f971bfca21 next_plan
    ccan/ccan/io/io.c:59
0x55f971bfcf10 do_plan
    ccan/ccan/io/io.c:407
0x55f971bfcf3d io_ready
    ccan/ccan/io/io.c:417
0x55f971bfe809 io_loop
    ccan/ccan/io/poll.c:445
0x55f971b8c176 io_loop_with_timers
    lightningd/io_loop_with_timers.c:24
0x55f971b8f9fa main
    lightningd/lightningd.c:1016
0x7f447a223bf6 ???
    ???:0
0x55f971b7d119 ???
    ???:0
0xffffffffffffffff ???
    ???:0
2020-12-19T11:10:59.692Z **BROKEN** lightningd: FATAL SIGNAL 6 (version chipsln.0.0.0)
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: common/daemon.c:43 (send_backtrace) 0x55f971bc37f1
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: common/daemon.c:51 (crashdump) 0x55f971bc383c
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0x7f447a24103f
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0x7f447a240fb7
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0x7f447a242920
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: lightningd/log.c:803 (fatal) 0x55f971b919c4
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: wallet/db.c:759 (db_prepare_) 0x55f971bad85f
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: wallet/invoices.c:692 (invoices_count) 0x55f971bb0bef
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: wallet/wallet.c:2373 (wallet_invoice_count) 0x55f971bb6201
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: lightningd/invoice.c:1662 (json_invoice_count) 0x55f971b8b827
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: lightningd/jsonrpc.c:644 (command_exec) 0x55f971b8c73a
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: lightningd/jsonrpc.c:754 (rpc_command_hook_callback) 0x55f971b8e0f3
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: lightningd/plugin_hook.c:288 (plugin_hook_call_) 0x55f971baa13a
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: lightningd/jsonrpc.c:809 (plugin_hook_call_rpc_command) 0x55f971b8dbd8
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: lightningd/jsonrpc.c:889 (parse_request) 0x55f971b8dbd8
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: lightningd/jsonrpc.c:980 (read_json) 0x55f971b8de1f
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: ccan/ccan/io/io.c:59 (next_plan) 0x55f971bfca21
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: ccan/ccan/io/io.c:407 (do_plan) 0x55f971bfcf10
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: ccan/ccan/io/io.c:417 (io_ready) 0x55f971bfcf3d
2020-12-19T11:10:59.692Z **BROKEN** lightningd: backtrace: ccan/ccan/io/poll.c:445 (io_loop) 0x55f971bfe809
2020-12-19T11:10:59.693Z **BROKEN** lightningd: backtrace: lightningd/io_loop_with_timers.c:24 (io_loop_with_timers) 0x55f971b8c176
2020-12-19T11:10:59.693Z **BROKEN** lightningd: backtrace: lightningd/lightningd.c:1016 (main) 0x55f971b8f9fa
2020-12-19T11:10:59.693Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0x7f447a223bf6
2020-12-19T11:10:59.693Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0x55f971b7d119
2020-12-19T11:10:59.693Z **BROKEN** lightningd: backtrace: (null):0 ((null)) 0xffffffffffffffff
Log dumped in crash.log.20201219111059
spenderp: Lost connection to the RPC socket.
pay: Lost connection to the RPC socket.
autoclean: Lost connection to the RPC socket.
txprepare: Lost connection to the RPC socket.
root@pangea:~/grewal/lightning#
satindergrewal commented 3 years ago

Resolved it by utilising lightning's own db_common functions and definitions. Can refer to this code link: https://github.com/satindergrewal/lightning/blob/8945c672223597a10c5824670a5875414a120a81/wallet/invoices.c#L687-L735