maticnetwork / bor

Official repository for the Polygon Blockchain
https://polygon.technology/
GNU Lesser General Public License v3.0
1k stars 491 forks source link

"out of gas" in syncing #1256

Closed hzj-edu-nju closed 2 months ago

hzj-edu-nju commented 4 months ago

Our support team has aggregated some common issues and their solutions from past which are faced while running or interacting with a bor client. In order to prevent redundant efforts, we would encourage you to have a look at the FAQ's section of our documentation mentioning the same, before filing an issue here. In case of additional support, you can also join our discord server

System information

Bor client version: v1.3.2

Heimdall client version: v1.0.6

OS & Version: OSX

Environment: Polygon Mainnet

Type of node: Sentry

Additional Information:

Overview of the problem

When bor reaches a certain height from 0 synchronization, an "out of gas" error will be reported in the verifyCascadingFields function, and then the peer node will be dropped. This is caused by triggering a loop of all spans when accessing the getBorValidators method of the validatorSet contract. You can reproduce it by accessing the getBorValidators method of the system contract and passing in a value that exceeds the current (span+2).endblock.

image

https://github.com/maticnetwork/genesis-contracts/blob/master/contracts/BorValidatorSet.template

image image

Please describe the issue you experiencing.

Reproduction Steps

Please mention the steps required to reproduce this issue.

Logs / Traces / Output / Error Messages

Please post any logs/traces/output/error messages (as text and not screenshots) which you believe may have caused the issue. If the log is longer than a few dozen lines, please include the URL to the gist of the log instead of posting it in the issue.

Additional Information

In order to debug the issue faster, we would stongly encourage if you can provide some of the details mentioned below (whichever seems relevant to your issue)

  1. Your start.sh file or bor.service, if you're facing some peering issue or unable to use some service (like http endpoint) as expected. Moreover, if possible mention the chain configuration printed while starting the node which looks something like Initialised chain configuration config="{ChainID: 137, ..., Engine: bor}"
  2. The result of eth.syncing, admin.peers.length, admin.nodeInfo, value of the maxpeers flag in start.sh, and bootnodes/static nodes (if any) is you're facing some syncing issue.
  3. Your heimdall-config.toml parameters for checking the ETH and BOR RPC url's, incase of issue with bor heimdall communication.
  4. The CURL request (for that specific error) if you're facing any issues or identify a bug while making RPC request.
VAIBHAVJINDAL3012 commented 3 months ago

Hi @hzj-edu-nju We will look into it and get back to you.

github-actions[bot] commented 3 months ago

This issue is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 14 days.

github-actions[bot] commented 2 months ago

This issue was closed because it has been stalled for 28 days with no activity.

bladehan1 commented 4 weeks ago

@VAIBHAVJINDAL3012 Any progress?