Trouble Shooting
Node startup failure.
Linux: illegal instruction?
If you encounter an 'illegal instruction' error when starting the node using the official provided binary, it indicates a mismatch between your CPU instruction set and the one used to compile the binary. You may try downloading the compatible version from the release page or compile it yourself.
Linux: GLIBC_2.27 not found?
The Conflux binary depends on the glibc library. If it is not installed on your system or the installed version is too low, you may encounter this error.
kvdb_rocksdb - DB has been previously marked as corrupted, attempting repair
This error occurs because the data files of the node have been corrupted, making it unable to start. In such cases, you can try deleting the data directory and allowing the node to resynchronize the data.
If you want to quickly start the node, you can directly download the node data snapshot, unzip it, and start the node.
Err value: PKCS#8 cryptographic error
This error may be caused by an incorrect password input for the pos_key.
No such device or address
failed to start full client: Os { code: 6, kind: Uncategorized, message: "No such device or address" }
This error occurs when starting the node using Docker. The node attempts to read the pos_key password from standard input, and if it cannot be read, it returns an error. In this case, you can configure the password in the configuration file or set it as an environment variable.
Mac System Symbol not found
If this occurs, it indicates that the host system's version is too low. Currently, only systems with macOS 12 or above are supported.
Additionally, when running the node program on a Mac, it's important to choose the correct processor version based on your computer's architecture. M1 and x86 versions are not interchangeable.
Windows System ExecutionContext exists for cur_era_genesis core\src\block_data_manager\mod.rs
When using a data snapshot on a Windows system to start a node, you may encounter the following error:
The node crashes shortly after startup.
If this issue occurs on a Linux system, it may be due to insufficient permissions for the startup account. You can try starting it in sudo mode.
Node data synchronization issue.
The node is unable to connect to peers after startup.
It is possible that an incorrect configuration file was used, such as using the mainnet binary with testnet configuration, testnet binary with mainnet configuration, or not specifying a configuration file when starting the node.
The fundamental reason for not connecting to peers is often the lack of correctly specified bootnodes.
Another possibility is that the node is unable to connect to the network due to network issues.
How to determine if a node is running properly?
- Check the latest epoch in the running logs:
If the latest epoch in the node's running logs keeps increasing, or if the epochNumber obtained through the cfx_getStatus
method continues to rise, it indicates that the node is running normally.
Catch-up mode: false, latest epoch: 85959xxxx
- Check StatisticsInner in the running logs:
If the latest epoch in the node's running logs is not increasing, but the numbers in SyncGraphStatistics and ConsensusGraphStatistics within StatisticsInner keep growing, the node is still running normally.
Statistics: StatisticsInner {
sync_graph: SyncGraphStatistics {
inserted_block_count: 1195746,
inserted_header_count: 1324647
},
consensus_graph: ConsensusGraphStatistics {
inserted_block_count: 154808,
activated_block_count: 1305980,
processed_block_count: 1305982
}
}
- Check construct_pivot_state in the running logs:
If the index or height keep increase, the node is running normally.
cfxcore::con - construct_pivot_state: index 30774 height 86370774 compute_epoch true
How to determine if a node is synchronized to the latest block?
If the node's running log shows Catch-up mode: false, it indicates that the node has synchronized to the latest data.
Why is my node not synchronizing?
The node synchronization may encounter various issues, with common ones including:
- Insufficient disk space on the node machine.
- Network issues, such as inadequate incoming and outgoing bandwidth (recommended at least 5M).
- Linux maximum file open limit not set high enough (ulimit -n 10000).
- Incorrect specification of the configuration file; without proper configuration file settings, bootnodes cannot be located, leading to data synchronization issues. (When starting via Docker and mounting directories, it is easy to forget to specify the configuration file.)
- Check for any error in node's running log. (When starting via start.sh, error messages are saved in stderr.txt.)
If after checking none of the above issues are present, but the node's latest epoch is not increasing, the node is likely running normally but engaged in other tasks, such as creating a checkpoint. In such cases, it is advisable to observe for an extended period, as this situation may persist for several hours or even tens of hours.
After restarting the node, the epoch height remains unchanged?
After restarting the node, there might be a state rebuilding operation at the era checkpoint. This process takes a considerable amount of time, ranging from half an hour to several hours. Please be patient and wait.