Trouble Shooting
Node startup failure.
Linux: illegal instruction?
如果在使用官方提供的二进制文件启动节点时遇到 'illegal instruction' 错误,这表明您的CPU指令集与编译二进制文件时使用的指令集不匹配。 您可以尝试从发布页面下载兼容版本或自行编译。
Linux: GLIBC_2.27 not found?
Conflux二进制文件依赖于 glibc 库。 如果系统未安装该库,或者安装的版本过低,您可能会遇到此错误。
kvdb_rocksdb - DB has been previously marked as corrupted, attempting repair
这个错误发生是因为节点的数据文件已损坏,无法启动。 在这种情况下,您可以尝试删除数据目录,让节点重新同步数据。
如果您想快速启动节点,可以直接下载节点数据快照,解压并启动节点。
Err value: PKCS#8 cryptographic error
这个错误可能是由于为pos_key输入的密码不正确。
No such device or address
failed to start full client: Os { code: 6, kind: Uncategorized, message: "No such device or address" }
使用Docker启动节点时可能出现这个错误。 节点尝试从标准输入读取 pos_key 密码,如果无法读取,则返回错误。 在这种情况下,您可以在配置文件中配置密码,或将其设置为环境变量。
Mac System Symbol not found
如果出现这种情况,表明宿主系统的版本过低。 目前,只支持macOS 12或以上的系统。
此外,在Mac上运行节点程序时,重要的是根据您电脑的架构选择正确的处理器版本。 M1和x86版本不可互换。
Windows System ExecutionContext exists for cur_era_genesis core\src\block_data_manager\mod.rs
在Windows系统上使用数据快照启动节点时,您可能会遇到以下错误:
节点在启动后不久崩溃。
如果这个问题发生在Linux系统上,可能是由于启动账户权限不足。 您可以尝试以sudo模式启动。
节点数据同步问题及其解决方法:
节点启动后无法连接到其他节点
可能是由于使用了错误的配置文件,例如使用主网二进制文件与测试网配置,测试网二进制文件与主网配置,或者在启动节点时未指定配置文件。
通常不连接到其他节点 的根本原因是没有正确指定启动节点。
另一种可能性是由于网络问题导致节点无法连接到网络。
如何确定节点是否正常运行?
- 检查运行日志中的latest epoch:
如果节点的运行日志中的latest epoch不断增加,或者通过cfx_getStatus
方法获得的epochNumber持续上升,说明节点正在正常运行。
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