【问题反馈】【搭建链】搭建环境时,生成配置文件及打包编译的脚本中存在的问题
问题描述
- 依照文档进行本地环境的搭建,完成了基础环境的安装及配置
- 依照步骤,执行至
./prepare.sh 4 1
、./build_release.sh
、./cluster_quick_start.sh normal
- 发现4个节点中,有两个节点启动失败
- 查看异常节点
node2
的log,发现有类似fail to read whiltlist file [xxxx/chainmaker-v2.1.0-wx-org2.chainmaker.org/config/wx-org3.chainmaker.org/certs/ca/wx-org4.chainmaker.org/ca.crt]
的异常日志 - 查看异常节点
node3
的log,发现有类似fail to read whiltlist file [xxxx/chainmaker-v2.1.0-wx-org3.chainmaker.org/config/wx-org2.chainmaker.org/certs/ca/wx-org4.chainmaker.org/ca.crt]
的异常日志
问题排查
经过排查,发现node2
与node3
的配置文件中有一些配置不正确,举例如下:
问题分析
- 分析了生成配置文件及打包相关的脚本内容,发现几个相关的脚本中都有类似这样的代码:for file in
ls -tr $BUILD_CRYPTO_CONFIG_PATH
,这是问题所在 - 估计作者的意图是通过
ls -tr $BUILD_CRYPTO_CONFIG_PATH
这个命令获取类似这样的结果:wx-org1.chainmaker.org wx-org2.chainmaker.org wx-org3.chainmaker.org wx-org4.chainmaker.org
- 但是在我的运行环境里面,实际上返回了这样的结果:
wx-org2.chainmaker.org wx-org1.chainmaker.org wx-org4.chainmaker.org wx-org3.chainmaker.org
- 正常情况下,
BUILD_CRYPTO_CONFIG_PATH
这个目录下面的文件是依照1...4
的顺序生成的,生成每个目录的修改时间会有所不同,依次递增,所以不会存在问题 - 但是在我当前的运行环境下,有些目录是在同一时间生成的(不确定是不是因为CPU运行速度快还是SSD磁盘IO速度快?),这就导致了
ls -tr
命令返回了意外的结果,然后脚本中假设了返回的结果是依次递增的,并未做更多的判断,所以导致了问题的发生
最后
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information