Running b17b05b8ae271d097d39ff24840d17f1f47e88be, after a long uptime, the most recent channel is from block 552,214 (Dec 2018). Recent channels are not showing up.
However, logs have lines about more recent channels:
Received channel_update for 559295x969x0 with old time 1550692137
getinfo output{
"id": "023d280ae29f84dcfd289eb66b57227fea3a7bde97ec2869923d3c4d5c6a426028",
"alias": "p2sh.info",
"color": "023d28",
"num_peers": 16,
"num_pending_channels": 0,
"num_active_channels": 15,
"num_inactive_channels": 0,
"address": [
{
"type": "ipv4",
"address": "195.201.84.23",
"port": 9735
},
{
"type": "ipv6",
"address": "2a01:4f8:13b:3da8::2",
"port": 9735
}
],
"binding": [
{
"type": "ipv6",
"address": "::",
"port": 9735
},
{
"type": "ipv4",
"address": "0.0.0.0",
"port": 9735
}
],
"version": "v0.7.0-48-gb17b05b",
"blockheight": 568888,
"network": "bitcoin",
"msatoshi_fees_collected": 3267,
"fees_collected_msat": "3267msat"
}
It could be an issue with listchannels as logs indicate the node is aware of more recent channels according from the logs:
2019-03-26T13:23:29.088Z lightning_gossipd(9385): Received channel_update for channel 567544x2727x1/1 now ACTIVE was ACTIVE (from subdaemon)
Command to reproduce my experience:
$ ./cli/lightning-cli listchannels | grep short_channel | sort | tail -n 1
"short_channel_id": "552214x805x1",
Deleting the gossip store and restarting the node seems to have done something.
A few seconds after restarting the node having deleted its gossip store:
./cli/lightning-cli listchannels | grep short_channel | sort | tail -n 1
"short_channel_id": "567956x1741x0",
After a few minutes, the recent channels disappeared:
./cli/lightning-cli listchannels | grep short_channel | sort | tail -n 1
"short_channel_id": "551133x1290x0",
It seems like it could be related to https://github.com/ElementsProject/lightning/issues/2443
Very interesting finding, this could be an issue in two different places: the JSON-RPC serialization, or the communication path between gossipd and lightningd.
The JSON is correctly formed, as otherwise a program of mine that parses the output of the RPC call would fail on deserialization.
Found the problem, we have more that UINT16_MAX channels to return, which causes an integer overflow :-)
Most helpful comment
Found the problem, we have more that
UINT16_MAXchannels to return, which causes an integer overflow :-)