nervosnetwork / ckb-light-client

CKB light client reference implementation
MIT License
14 stars 16 forks source link

panic with 'attempt to add with overflow #60

Closed gpBlockchain closed 9 months ago

gpBlockchain commented 2 years ago

env

git log
commit 84fe4ba4859f18be529d8be52a1ac88011582773 (HEAD -> develop, origin/develop, origin/HEAD)

send set_scripts with large block_num ,cause panic

step

curl http://localhost:9000/ -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "method":"set_scripts", "params": [[{"script": {"code_hash": "0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8", "hash_type": "type", "args": "0x50878ce52a68feb47237c29574d82288f58b5d21"}, "block_number": "0xffffffffffffffff"}]], "id": 1}'

log

[2022-09-01T04:16:53Z TRACE ckb_light_client::protocols::light_client::components::send_last_state] peer SessionId(1): update last state
[2022-09-01T04:16:53Z TRACE ckb_light_client::protocols::light_client] LightClient.received peer=SessionId(1), message=SendLastState
[2022-09-01T04:16:53Z DEBUG ckb_light_client::protocols::filter::block_filter] found proved peer SessionId(1), start_number: 1, prove_state number: 6544086
[2022-09-01T04:16:54Z TRACE ckb_light_client::protocols::relayer] RelayProtocol.received peer=SessionId(1), message=CompactBlock
[2022-09-01T04:16:55Z TRACE ckb_light_client::protocols::light_client::components::send_last_state] peer SessionId(1): update last state
[2022-09-01T04:16:55Z TRACE ckb_light_client::protocols::light_client] LightClient.received peer=SessionId(1), message=SendLastState
[2022-09-01T04:16:56Z TRACE ckb_light_client::protocols::relayer] RelayProtocol.received peer=SessionId(1), message=CompactBlock
[2022-09-01T04:16:56Z TRACE ckb_light_client::protocols::relayer] RelayProtocol.received peer=SessionId(1), message=RelayTransactionHashes
[2022-09-01T04:16:56Z DEBUG ckb_light_client::protocols::filter::block_filter] found proved peer SessionId(1), start_number: 1, prove_state number: 6544086
[2022-09-01T04:16:58Z TRACE ckb_light_client::protocols::light_client::components::send_last_state] peer SessionId(1): update last state
[2022-09-01T04:16:58Z TRACE ckb_light_client::protocols::light_client] LightClient.received peer=SessionId(1), message=SendLastState
[2022-09-01T04:16:58Z TRACE ckb_light_client::protocols::relayer] RelayProtocol.received peer=SessionId(1), message=CompactBlock
[2022-09-01T04:16:59Z TRACE ckb_light_client::protocols::relayer] RelayProtocol.received peer=SessionId(1), message=RelayTransactionHashes
thread 'GlobalRt-6' panicked at 'attempt to add with overflow', src/protocols/filter/block_filter.rs:188:40
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[2022-09-01T04:16:59Z INFO  ckb_network::network] p2p service event: ListenClose { address: "/ip4/0.0.0.0/tcp/8118" }
[2022-09-01T04:16:59Z INFO  ckb_stop_handler] StopHandler(network) send signal
[2022-09-01T04:16:59Z INFO  ckb_light_client::protocols::synchronizer] SyncProtocol.disconnected peer=SessionId(1)
[2022-09-01T04:16:59Z INFO  ckb_light_client::protocols::relayer] RelayProtocol.disconnected peer=SessionId(1)
[2022-09-01T04:16:59Z INFO  ckb_light_client] Done.