pytest: don't trigger bad gossip message in test_routing_gossip_reconnect.

```
2024-01-29T21:26:50.9785559Z lightningd-1 2024-01-29T21:14:09.709Z DEBUG   022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59-gossipd: Ignoring future channel_announcment for 110x1x0 (current block 109)
2024-01-29T21:26:50.9786945Z lightningd-1 2024-01-29T21:14:09.710Z UNUSUAL lightningd: Bad gossip order: could not find channel 110x1x0 for peer's channel update
```

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2024-01-31 13:46:20 +10:30
parent fa7c0a7809
commit 38ff9c6d74
2 changed files with 9 additions and 3 deletions

View File

@ -1857,7 +1857,7 @@ def test_multifunding_v2_exclusive(node_factory, bitcoind):
"amount": 50000}]
l1.rpc.multifundchannel(destinations)
bitcoind.generate_block(6, wait_for_mempool=1)
mine_funding_to_announce(bitcoind, [l1, l2, l3], num_blocks=6, wait_for_mempool=1)
for node in [l1, l2, l3, l4]:
node.daemon.wait_for_log(r'to CHANNELD_NORMAL')
@ -4023,7 +4023,7 @@ def test_multichan_stress(node_factory, executor, bitcoind):
assert(len(l3.rpc.listpeerchannels(l2.info['id'])['channels']) == 2)
# Make sure gossip works.
bitcoind.generate_block(6, wait_for_mempool=1)
mine_funding_to_announce(bitcoind, [l1, l2, l3], num_blocks=6, wait_for_mempool=1)
wait_for(lambda: len(l1.rpc.listchannels(source=l3.info['id'])['channels']) == 2)
def send_many_payments():

View File

@ -599,7 +599,7 @@ def test_gossip_persistence(node_factory, bitcoind):
wait_for(lambda: non_public(l4) == [scid34])
def test_routing_gossip_reconnect(node_factory):
def test_routing_gossip_reconnect(node_factory, bitcoind):
# Connect two peers, reconnect and then see if we resume the
# gossip.
disconnects = ['-WIRE_CHANNEL_ANNOUNCEMENT']
@ -608,9 +608,15 @@ def test_routing_gossip_reconnect(node_factory):
'may_reconnect': True},
{'may_reconnect': True},
{}])
# Make sure everyone is up to block height so we don't get bad gossip msgs!
sync_blockheight(bitcoind, [l1, l2, l3])
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
l1.openchannel(l2, CHANNEL_SIZE)
# Make sure everyone is up to block height so we don't get bad gossip msgs!
sync_blockheight(bitcoind, [l1, l2, l3])
# Now open new channels and everybody should sync
l2.rpc.connect(l3.info['id'], 'localhost', l3.port)
l2.openchannel(l3, CHANNEL_SIZE)