LiteFull Node stuck sync after 68096091 block
Opened this issue · 6 comments
Software Versions
openjdk version "1.8.0_432"
OpenJDK Runtime Environment (build 1.8.0_432-8u432-gaus1-0ubuntu222.04-ga)
OpenJDK 64-Bit Server VM (build 25.432-bga, mixed mode)
Expected behaviour
Sync to last block
Actual behaviour
Sync gets stuck on block 68096091
tron@tron:~$ curl -s http://192.168.0.13:8090/wallet/getnowblock | jq '.block_header.raw_data.number'
68096091
18:12:17.436 ERROR [sync-handle-block] net Process block failed, Num:68096092, ID:000000000040f105c28b00861d08dd9773a301ffcdc5c09f69b52eb45eace4357, reason: different resultCode txId: f6021d86aae06189b0df14df09e448f263073f49c8de7d5aa889150de56f4f90, expected: SUCCESS, actual: OUT_OF_TIME
Before this, synchronization was going correctly, restarting did not help, I used backup LiteFullNode_output-directory.tgz for 23-Dec-2024 05:56 http://34.143.247.77/backup20241223/
Frequency
Steps to reproduce the behaviour
-
Download blockchain and FullNode.jar backup wget http://34.143.247.77/backup20241223/LiteFullNode_output-directory.tgz
https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.7.7/FullNode.jarConfig from: https://github.com/tronprotocol/tron-deployment/blob/master/main_net_config.conf
-
Unpack and use default main net conf
-
When synchronization reaches the block 68096091 it stuck
Backtrace
First 1000 lines of log
https://pastebin.com/Xqc845VR
Last 1000 lines of log
https://pastebin.com/XYApwU5q
@namen3645
For OUT_OF_TIME error :
Increase the time tolerance of verification transactions
Increase the value of the maxTimeRatio configuration item in the node configuration file to 20.0 or higher(max 100.0).
vm = {
supportConstant = false
minTimeRatio = 0.0
maxTimeRatio = 20.0
saveInternalTx = false
}
@namen3645 beside the time tolerance, another possible reason could be your host machine performance, as
Minimum requirements:
CPU with 8+ cores
32GB RAM
200GB free storage space to sync the Mainnet with Lite fullnode data snapshot
50 MBit/sec download Internet service
Could you also check this?
Further @namen3645 you could use -Xmx24g
inside java -Xmx24g -XX:+UseConcMarkSweepGC -jar FullNode.jar -c main_net_config.conf
to make sure giving enough heap space for fullnode.
@namen3645 For OUT_OF_TIME error : Increase the time tolerance of verification transactions Increase the value of the maxTimeRatio configuration item in the node configuration file to 20.0 or higher(max 100.0).
vm = { supportConstant = false minTimeRatio = 0.0 maxTimeRatio = 20.0 saveInternalTx = false }
How is the timeRatio calculated?
@namen3645 beside the time tolerance, another possible reason could be your host machine performance, as Minimum requirements: CPU with 8+ cores 32GB RAM 200GB free storage space to sync the Mainnet with Lite fullnode data snapshot 50 MBit/sec download Internet service Could you also check this?
E5 2680v2 10 cores cpu
64 gb DDR3 ECC ram
Nvme SSD 1TB Adata
1000 mbit / s wan
@sYNCHROtime in Tron the equation would be generally:
TxCPULimit = maxTimeRatio * MaxCpuTimeOfOneTx
- TxCPULimit: The maximum of time one smart contract transaction can consume.
- MaxCpuTimeOfOneTx: A static value set by proposal. You could check the proposal No.65 in TranScan. The current value is 400ms, which is quite large.
Thus for a low performance host machine, you could set a higher value of maxTimeRatio
.