You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Rusty Russell
b6a63024c1
lightningd: fix double-free on multiple HTLC timeouts.
We can close a connection with a peer to timeout an HTLC, but
we need to clear the pointer otherwise next time we try, we'll
free an expired pointer:
```
lightningd: Fatal signal 6 (version v0.6-336-gfcd1eb5-modded)
0x13ce86 crashdump
common/daemon.c:37
0x5739f1f ???
???:0
0x5739e97 ???
???:0
0x573b800 ???
???:0
0x1850c3 call_error
ccan/ccan/tal/tal.c:93
0x18528b check_bounds
ccan/ccan/tal/tal.c:165
0x1852ca to_tal_hdr
ccan/ccan/tal/tal.c:174
0x185bfb tal_free
ccan/ccan/tal/tal.c:472
0x1343a8 peer_sending_commitsig
lightningd/peer_htlcs.c:1035
0x114f25 channel_msg
lightningd/channel_control.c:159
0x13756b sd_msg_read
lightningd/subd.c:474
0x177c1f next_plan
ccan/ccan/io/io.c:59
0x178717 do_plan
ccan/ccan/io/io.c:387
0x178755 io_ready
ccan/ccan/io/io.c:397
0x17a336 io_loop
ccan/ccan/io/poll.c:310
0x120589 main
lightningd/lightningd.c:455
0x571cb96 ???
???:0
0x10e6d9 ???
???:0
0xffffffffffffffff ???
???:0
2018-08-16T06:41:21.249Z lightningd(869): FATAL SIGNAL 6 (version v0.6-336-gfcd1eb5-modded)
2018-08-16T06:41:21.250Z lightningd(869): backtrace: common/daemon.c:42 (crashdump) 0x13ceda
2018-08-16T06:41:21.250Z lightningd(869): backtrace: (null):0 ((null)) 0x5739f1f
2018-08-16T06:41:21.250Z lightningd(869): backtrace: (null):0 ((null)) 0x5739e97
2018-08-16T06:41:21.251Z lightningd(869): backtrace: (null):0 ((null)) 0x573b800
2018-08-16T06:41:21.251Z lightningd(869): backtrace: ccan/ccan/tal/tal.c:93 (call_error) 0x1850c3
2018-08-16T06:41:21.251Z lightningd(869): backtrace: ccan/ccan/tal/tal.c:165 (check_bounds) 0x18528b
2018-08-16T06:41:21.252Z lightningd(869): backtrace: ccan/ccan/tal/tal.c:174 (to_tal_hdr) 0x1852ca
2018-08-16T06:41:21.252Z lightningd(869): backtrace: ccan/ccan/tal/tal.c:472 (tal_free) 0x185bfb
2018-08-16T06:41:21.252Z lightningd(869): backtrace: lightningd/peer_htlcs.c:1035 (peer_sending_commitsig) 0x1343a8
2018-08-16T06:41:21.252Z lightningd(869): backtrace: lightningd/channel_control.c:159 (channel_msg) 0x114f25
2018-08-16T06:41:21.253Z lightningd(869): backtrace: lightningd/subd.c:474 (sd_msg_read) 0x13756b
2018-08-16T06:41:21.253Z lightningd(869): backtrace: ccan/ccan/io/io.c:59 (next_plan) 0x177c1f
2018-08-16T06:41:21.253Z lightningd(869): backtrace: ccan/ccan/io/io.c:387 (do_plan) 0x178717
2018-08-16T06:41:21.253Z lightningd(869): backtrace: ccan/ccan/io/io.c:397 (io_ready) 0x178755
2018-08-16T06:41:21.253Z lightningd(869): backtrace: ccan/ccan/io/poll.c:310 (io_loop) 0x17a336
2018-08-16T06:41:21.253Z lightningd(869): backtrace: lightningd/lightningd.c:455 (main) 0x120589
2018-08-16T06:41:21.254Z lightningd(869): backtrace: (null):0 ((null)) 0x571cb96
2018-08-16T06:41:21.254Z lightningd(869): backtrace: (null):0 ((null)) 0x10e6d9
2018-08-16T06:41:21.254Z lightningd(869): backtrace: (null):0 ((null)) 0xffffffffffffffff
Log dumped in crash.log
```
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
|
7 years ago |
.. |
test
|
param: remove old callback code
|
7 years ago |
.gitignore
|
handshaked: remove.
|
7 years ago |
Makefile
|
ping: no longer a dev_ command.
|
7 years ago |
bitcoind.c
|
bitcoind: don't use double in extracting feerate.
|
7 years ago |
bitcoind.h
|
bitcoind: fix spurious memleak reports.
|
7 years ago |
chaintopology.c
|
chaintopology: always cap max block to bitcoind's block height.
|
7 years ago |
chaintopology.h
|
improves exponential smoothing of feerate estimates (#1699)
|
7 years ago |
channel.c
|
lightningd: new state AWAITING_UNILATERAL.
|
7 years ago |
channel.h
|
db: store claimed per_commitment_point from option_data_loss_protect.
|
7 years ago |
channel_control.c
|
lightningd: new state AWAITING_UNILATERAL.
|
7 years ago |
channel_control.h
|
lightningd: peer_start_channeld always returns true; make it void.
|
7 years ago |
channel_state.h
|
lightningd: new state AWAITING_UNILATERAL.
|
7 years ago |
closing_control.c
|
connectd: rely on the master to tell us to reconnect.
|
7 years ago |
closing_control.h
|
gossipd: drain fd instead of passing around gossip index.
|
7 years ago |
connect_control.c
|
param: remove old callback code
|
7 years ago |
connect_control.h
|
connectd: remove separate address hint message.
|
7 years ago |
gossip_control.c
|
param: remove old callback code
|
7 years ago |
gossip_control.h
|
connectd: wean off gossip_wire message types, use our own.
|
7 years ago |
gossip_msg.c
|
lightningd: display all addresses in listnodes.
|
7 years ago |
gossip_msg.h
|
gossipd: add flag for locally disabling channel.
|
7 years ago |
hsm_control.c
|
lightningd: get basepoints from hsmd, don't ever get seed.
|
7 years ago |
hsm_control.h
|
hsmd: fix missing status messages.
|
7 years ago |
htlc_end.c
|
Remove unused parameter ptr in corrupt(const void *ptr, ...)
|
7 years ago |
htlc_end.h
|
htlc: keep channel pointer, not peer pointer.
|
7 years ago |
invoice.c
|
param: remove old callback code
|
7 years ago |
invoice.h
|
invoices: Extensive reorganization of invoice system.
|
7 years ago |
json.c
|
param: upgraded json_tok_short_channel_id
|
7 years ago |
json.h
|
param: upgraded json_tok_short_channel_id
|
7 years ago |
jsonrpc.c
|
param: remove old callback code
|
7 years ago |
jsonrpc.h
|
param: upgraded json_tok_newaddr
|
7 years ago |
jsonrpc_errors.h
|
renamed error code
|
7 years ago |
lightningd.c
|
openingd: take peer before we're opening, wait for explicit funding msg.
|
7 years ago |
lightningd.h
|
openingd: take peer before we're opening, wait for explicit funding msg.
|
7 years ago |
log.c
|
log: Append the current time to the crash log filename
|
7 years ago |
log.h
|
param: upgraded json_tok_loglevel
|
7 years ago |
log_status.c
|
Remove tal_len, use tal_count() or tal_bytelen().
|
7 years ago |
log_status.h
|
status: add multiple levels of logging.
|
7 years ago |
memdump.c
|
Use snprintf(...) instead of sprintf(...)
|
7 years ago |
onchain_control.c
|
onchaind: use a point-of-last-resort if we see an unknown transaction.
|
7 years ago |
onchain_control.h
|
onchaind: Replay stored channeltxs to restore onchaind state
|
7 years ago |
opening_control.c
|
db: store claimed per_commitment_point from option_data_loss_protect.
|
7 years ago |
opening_control.h
|
connectd: rely on the master to tell us to reconnect.
|
7 years ago |
options.c
|
param: remove old callback code
|
7 years ago |
options.h
|
hsmd: drop newdir logic.
|
7 years ago |
param.c
|
param: remove old callback code
|
7 years ago |
param.h
|
param: remove old callback code
|
7 years ago |
pay.c
|
param: remove old callback code
|
7 years ago |
pay.h
|
pay: Pass description to send_payment
|
7 years ago |
payalgo.c
|
param: remove old callback code
|
7 years ago |
payalgo.h
|
payalgo: New file for pay command.
|
7 years ago |
peer_control.c
|
lightningd: new state AWAITING_UNILATERAL.
|
7 years ago |
peer_control.h
|
openingd: take peer before we're opening, wait for explicit funding msg.
|
7 years ago |
peer_htlcs.c
|
lightningd: fix double-free on multiple HTLC timeouts.
|
7 years ago |
peer_htlcs.h
|
channel_control: Forget if unconfirmed for a long time and we are fundee.
|
7 years ago |
ping.c
|
param: remove old callback code
|
7 years ago |
subd.c
|
lightningd: don't dump core on subdaemon failure.
|
7 years ago |
subd.h
|
hsmd: fix missing status messages.
|
7 years ago |
watch.c
|
txwatch: hand ld to callback, don't assume channel is non-NULL.
|
7 years ago |
watch.h
|
txwatch: hand ld to callback, don't assume channel is non-NULL.
|
7 years ago |