区块链交易执行超时
【问题分类】
- bug
- P2P网络相关(包含libp2p,liquid)
- 链账户身份与权限相关(证书问题、public、多签投票问题)
- 核心交易引擎相关(交易池、DAG)
- 共识相关
- 智能合约相关
- 存储相关
- SDK相关
- 长安链CMC工具
- 长安链管理台
- 长安链浏览器
- 长安链合约IDE
- 长安链web签名插件
- 跨链相关
- 轻节点相关
- 隐私计算相关
- 密码学相关
- 环境依赖
- 其他补充:
【问题描述】(请对问题进行描述,方便定位问题)
原有6个节点的网络,
- n1:192.168.0.91
- n2:192.168.0.92
- n3:192.168.0.92
- n4:192.168.0.93
- n5:192.168.0.93
- n6:192.168.0.94
后面在将n1网络节点停止,并重新部署了新节点:nn1,该节点复用了之前的端口p2p和rpc端口;
这时通过nn2发起上链交易;
这期间,节点n2、n3由于服务器原因重启,在节点下产生了wal_xx的文件;
2022-11-01 01:17:41.557 [ERROR] [Consensus] @chain1 v2@v2.2.1/consensus_tbft_impl.go:732 [QmNqGSoBRGq4VUwHLS2robfMwwQakW45TYtvEjsKWuv9Fz](732356/0/PRECOMMIT) receive precommit QmNsMQXPYfNUwercsiUNpvnVrmxRrN6R3K51rcZ5xdG9es(732356/0/6a307a0478940daa4c7fc4cbd6416cc01eb53f84315eb05f063c066cff20fad7), verifyVote failed, cert id not mapping
2022-11-01 01:17:41.815 [ERROR] [Consensus] @chain1 v2@v2.2.1/consensus_tbft_impl.go:1568 [QmNqGSoBRGq4VUwHLS2robfMwwQakW45TYtvEjsKWuv9Fz](732356/0/PRECOMMIT) verifyVote certId: consensus1.sign.org1.cer.org, GetNodeUidByCertId failed cert id not mapping
2022-11-01 01:17:41.815 [ERROR] [Consensus] @chain1 v2@v2.2.1/consensus_tbft_impl.go:732 [QmNqGSoBRGq4VUwHLS2robfMwwQakW45TYtvEjsKWuv9Fz](732356/0/PRECOMMIT) receive precommit QmNsMQXPYfNUwercsiUNpvnVrmxRrN6R3K51rcZ5xdG9es(732356/0/6a307a0478940daa4c7fc4cbd6416cc01eb53f84315eb05f063c066cff20fad7), verifyVote failed, cert id not mapping
2022-11-01 01:17:42.057 [ERROR] [Consensus] @chain1 v2@v2.2.1/consensus_tbft_impl.go:1568 [QmNqGSoBRGq4VUwHLS2robfMwwQakW45TYtvEjsKWuv9Fz](732356/0/PRECOMMIT) verifyVote certId: consensus1.sign.org1.cer.org, GetNodeUidByCertId failed cert id not mapping
2022-11-01 01:17:42.057 [ERROR] [Consensus] @chain1 v2@v2.2.1/consensus_tbft_impl.go:732 [QmNqGSoBRGq4VUwHLS2robfMwwQakW45TYtvEjsKWuv9Fz](732356/0/PRECOMMIT) receive precommit QmNsMQXPYfNUwercsiUNpvnVrmxRrN6R3K51rcZ5xdG9es(732356/0/6a307a0478940daa4c7fc4cbd6416cc01eb53f84315eb05f063c066cff20fad7), verifyVote failed, cert id not mapping
2022-11-01 01:17:42.313 [ERROR] [Consensus] @chain1 v2@v2.2.1/consensus_tbft_impl.go:1568 [QmNqGSoBRGq4VUwHLS2robfMwwQakW45TYtvEjsKWuv9Fz](732356/0/PRECOMMIT) verifyVote certId: consensus1.sign.org1.cer.org, GetNodeUidByCertId failed cert id not mapping
2022-11-01 01:17:42.313 [ERROR] [Consensus] @chain1 v2@v2.2.1/consensus_tbft_impl.go:732 [QmNqGSoBRGq4VUwHLS2robfMwwQakW45TYtvEjsKWuv9Fz](732356/0/PRECOMMIT) receive precommit QmNsMQXPYfNUwercsiUNpvnVrmxRrN6R3K51rcZ5xdG9es(732356/0/6a307a0478940daa4c7fc4cbd6416cc01eb53f84315eb05f063c066cff20fad7), verifyVote failed, cert id not mapping
2022-11-01 01:17:42.559 [ERROR] [Consensus] @chain1 v2@v2.2.1/consensus_tbft_impl.go:1568 [QmNqGSoBRGq4VUwHLS2robfMwwQakW45TYtvEjsKWuv9Fz](732356/0/PRECOMMIT) verifyVote certId: consensus1.sign.org1.cer.org, GetNodeUidByCertId failed cert id not mapping
2022-11-01 01:17:42.559 [ERROR] [Consensus] @chain1 v2@v2.2.1/consensus_tbft_impl.go:732 [QmNqGSoBRGq4VUwHLS2robfMwwQakW45TYtvEjsKWuv9Fz](732356/0/PRECOMMIT) receive precommit QmNsMQXPYfNUwercsiUNpvnVrmxRrN6R3K51rcZ5xdG9es(732356/0/6a307a0478940daa4c7fc4cbd6416cc01eb53f84315eb05f063c066cff20fad7), verifyVote failed, cert id not mapping
为了让其完成共识,我们删除了节点下的wal文件,删除后,节点正常共识,不再报上述错误;
后面,我们又将之前显示上链失败的数据重新进行上链操作(这里面包含大量业务上的重复上链数据),节点报错日志如下:
后面观察上链的信息出块很慢,大概15-30min一个块(通过查询区块高度对比判断);
今天在该链上安装官方提供的docker-go合约,发现无法安装,节点日志和docker-vm日志分别如下:
节点
2022-11-01 14:32:21.921 [ERROR] [Core] @lcago scheduler/scheduler.go:432 failed to run vm for tx id:1723621c61e06aaaca4882d61143615f48570aa348cf42c29c77938baefdf855, tx result:code:CONTRACT_FAIL contract_result:<code:1 message:"contract initial fail, fail to receive response, tx timeout" > , error:contract initial fail, fail to receive response, tx timeout
2022-11-01 14:32:32.423 [ERROR] [Vm] @lcago v2@v2.2.2/runtime.go:312 [1723621c61e06aaaca4882d61143615f48570aa348cf42c29c77938baefdf855#54026] fail to receive response in 10 seconds and return timeout response
2022-11-01 14:32:32.423 [ERROR] [Vm] @lcago v2@v2.2.2/runtime.go:1258 fail to receive response, tx timeout
2022-11-01 14:32:32.423 [ERROR] [Core] @lcago scheduler/scheduler.go:432 failed to run vm for tx id:1723621c61e06aaaca4882d61143615f48570aa348cf42c29c77938baefdf855, tx result:code:CONTRACT_FAIL contract_result:<code:1 message:"contract initial fail, fail to receive response, tx timeout" > , error:contract initial fail, fail to receive response, tx timeout
2022-11-01 14:33:47.555 [ERROR] [Vm] @lcago v2@v2.2.2/runtime.go:312 [1723621c61e06aaaca4882d61143615f48570aa348cf42c29c77938baefdf855#54027] fail to receive response in 10 seconds and return timeout response
2022-11-01 14:33:47.556 [ERROR] [Vm] @lcago v2@v2.2.2/runtime.go:1258 fail to receive response, tx timeout
2022-11-01 14:33:47.556 [ERROR] [Core] @lcago scheduler/scheduler.go:432 failed to run vm for tx id:1723621c61e06aaaca4882d61143615f48570aa348cf42c29c77938baefdf855, tx result:code:CONTRACT_FAIL contract_result:<code:1 message:"contract initial fail, fail to receive response, tx timeout" > , error:contract initial fail, fail to receive response, tx timeout
2022-11-01 14:39:25.001 [ERROR] [Vm] @lcago v2@v2.2.2/runtime.go:312 [1723629d9940f804cadb59f99c83a7c18afccdfc639f4ebab21fe0c6a1ce17b9#54028] fail to receive response in 10 seconds and return timeout response
2022-11-01 14:39:25.001 [ERROR] [Vm] @lcago v2@v2.2.2/runtime.go:1258 fail to receive response, tx timeout
2022-11-01 14:39:25.001 [ERROR] [Core] @lcago scheduler/scheduler.go:432 failed to run vm for tx id:1
docker-vm
EOF
2022-11-01 14:32:22.430 [WARN] [Docker Process] core/process.go:242 [chain1#fact#1.0#1667284342422953586:4] process stopped for tx [1723621c61e06aaaca4882d61143615f48570aa348cf42c29c77938baefdf855#54026], err is [exit status 2], process state is [PROCESS_STATE_CREATED]
2022-11-01 14:32:22.430 [WARN] [Docker Process] core/process.go:337 [chain1#fact#1.0#1667284342422953586:4] fail to launch process: exit status 2
EOF
EOF
2022-11-01 14:33:37.564 [WARN] [Docker Process] core/process.go:242 [chain1#fact#1.0#1667284417555407822:5] process stopped for tx [1723621c61e06aaaca4882d61143615f48570aa348cf42c29c77938baefdf855#54027], err is [exit status 2], process state is [PROCESS_STATE_CREATED]
2022-11-01 14:33:37.566 [WARN] [Docker Process] core/process.go:337 [chain1#fact#1.0#1667284417555407822:5] fail to launch process: exit status 2
2022-11-01 14:39:15.008 [WARN] [Docker Process] core/process.go:242 [chain1#fact#1.0#1667284755001457278:6] process stopped for tx [1723629d9940f804cadb59f99c83a7c18afccdfc639f4ebab21fe0c6a1ce17b9#54028], err is [exit status 2], process state is [PROCESS_STATE_CREATED]
2022-11-01 14:39:15.008 [WARN] [Docker Process] core/process.go:337 [chain1#fact#1.0#1667284755001457278:6] fail to launch process: exit status 2
具体的现象,操作步骤,前置条件等,尽可能描述清楚,有截图说明更佳
【相关日志文件】(如果有报错日志请贴图,或者上传附件)
chainmaker-go 的 log/system.log & bin/panic.log file *
SDK 的 sdk.log file
【系统信息】(请填写系统信息,方便定位问题)
- chainmaker-go version * : [v2.2.1]
- OS & version * :
- docker镜像 version:
-
管理台 version:
- 如果是管理台的相关问题,请附带管理台版本,如果不是可忽略。
-
区块浏览器 version:
- 如果是浏览器的相关问题,请附带浏览器版本,如果不是可忽略。
-
合约IDE version:
- 如果是合约IDE的相关问题,请附带合约IDE版本,如果不是可忽略。
-
web签名插件 version:
- 如果是web签名插件的相关问题,请附带web签名插件版本,如果不是可忽略。
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information