status-im / nimbus-eth1

Nimbus: an Ethereum Execution Client for Resource-Restricted Devices
https://status-im.github.io/nimbus-eth1/
Apache License 2.0
569 stars 115 forks source link

Error: unhandled exception: `len(s) == length` the length of the HashSet changed while iterating over it [AssertionDefect] #1480

Closed shyba closed 4 months ago

shyba commented 1 year ago

Hi,

I was following the README to play on a server when this happened. I'm unsure if it is worth reporting as it is experimental, but feel free to close it. Server is a proxmox/lxc container with debian 11. Just followed the instructions line by line strictly except for default port as there is another node running there.

$ ./build/nimbus --tcp-port=30304                                                                                                                                                            
INF 2023-02-23 22:57:30.434+00:00 UPnP: added port mapping                   topics="eth net nat" tid=59967 file=nat.nim:173 externalPort=30304 internalPort=30304 protocol=TCP                                    
ERR 2023-02-23 22:57:30.440+00:00 UPnP port mapping                          topics="eth net nat" tid=59967 file=nat.nim:164 msg=ConflictInMappingEntry port=30304                                                 
INF 2023-02-23 22:57:30.441+00:00 RLPx listener up                           topics="eth p2p" tid=59967 file=p2p.nim:145 self=enode://<REDACTED>:30304                                  
INF 2023-02-23 22:57:30.441+00:00 Fast Sync: start sync from                 topics="legacy-sync" tid=59967 file=legacy.nim:959 number=0 hash=D4E56740F876AEF8C010B86A40D5F56745A118D0906A34E69AEC8C0DB1CB8FA3     
ERR 2023-02-23 22:59:53.408+00:00 not able to get pooled transactions        tid=59967 file=eth.nim:265
ERR 2023-02-23 23:00:23.556+00:00 not able to get pooled transactions        tid=59967 file=eth.nim:265
ERR 2023-02-23 23:01:20.902+00:00 not able to get pooled transactions        tid=59967 file=eth.nim:265

(that repeats a lot until)

ERR 2023-02-23 23:02:59.210+00:00 not able to get pooled transactions        tid=59967 file=eth.nim:265
/home/user/nimbus-eth1/nimbus/nimbus.nim(490) nimbus
/home/user/nimbus-eth1/nimbus/nimbus.nim(463) process
/home/user/nimbus-eth1/vendor/nim-chronos/chronos/asyncloop.nim(295) poll
/home/user/nimbus-eth1/vendor/nim-chronos/chronos/asyncfutures2.nim(369) futureContinue
/home/user/nimbus-eth1/vendor/nimbus-build-system/vendor/Nim/lib/pure/collections/sets.nim(266) startSyncWithPeerImpl
/home/user/nimbus-eth1/vendor/nimbus-build-system/vendor/Nim/lib/system/assertions.nim(38) failedAssertImpl
/home/user/nimbus-eth1/vendor/nimbus-build-system/vendor/Nim/lib/system/assertions.nim(28) raiseAssert
/home/user/nimbus-eth1/vendor/nimbus-build-system/vendor/Nim/lib/system/fatal.nim(54) sysFatal
[[reraised from:
/home/user/nimbus-eth1/nimbus/nimbus.nim(490) nimbus
/home/user/nimbus-eth1/nimbus/nimbus.nim(463) process
/home/user/nimbus-eth1/vendor/nim-chronos/chronos/asyncloop.nim(295) poll
/home/user/nimbus-eth1/vendor/nim-chronos/chronos/asyncfutures2.nim(391) futureContinue
]]
Error: unhandled exception: /home/user/nimbus-eth1/vendor/nimbus-build-system/vendor/Nim/lib/pure/collections/sets.nim(266, 13) `len(s) == length` the length of the HashSet changed while iterating over it [AssertionDefect]
ahmadina commented 1 year ago

same issue, any help?

jangko commented 1 year ago

perhaps you can try --sync-mode:full, the default legacy sync mode is known to have many issues

tersec commented 4 months ago

Legacy sync has been removed: https://github.com/status-im/nimbus-eth1/pull/2237