nuls-io / nuls-v2

NULS2.0 Node Wallet Implemented in Java
https://nuls.io
MIT License
117 stars 54 forks source link

chainbox install does not work -- block and consensus modules fail to become "READY" #588

Closed KathyNorman closed 4 years ago

KathyNorman commented 4 years ago

chainboxlogs.tar.gz

chainbox install does not work. See attached logs. ran the following commands: git clone https://github.com/nuls-io/nuls-chainbox.git chaintest1 ./tools -p cd NULS_Wallet ./start-dev

block and consensus does not become “READY” ======================READY MODULE================== account STATE IS READY block STATE NOT READY consensus STATE NOT READY ledger STATE IS READY network STATE IS READY transaction STATE IS READY ================TRY RUNNING MODULE==================

Here is the block log:

2020-05-17 00:11:41,538 ERROR [main] - io.nuls.block.service.impl.BlockServiceImpl.initLocalBlocks(BlockServiceImpl.java:650)::NulsRuntimeException -code: [bl_0007], -msg: Transactions rollback error io.nuls.core.exception.NulsRuntimeException: Transactions rollback error at io.nuls.block.service.impl.BlockServiceImpl.saveBlock(BlockServiceImpl.java:333) at io.nuls.block.service.impl.BlockServiceImpl.initLocalBlocks(BlockServiceImpl.java:627) at io.nuls.block.service.impl.BlockServiceImpl.init(BlockServiceImpl.java:658) at io.nuls.block.manager.ChainManager.runChain(ChainManager.java:79) at io.nuls.block.BlockBootstrap.doStart(BlockBootstrap.java:126) at io.nuls.core.rpc.modulebootstrap.RpcModule.run(RpcModule.java:238) at io.nuls.core.rpc.modulebootstrap.NulsRpcModuleBootstrap.run(NulsRpcModuleBootstrap.java:81) at io.nuls.block.BlockBootstrap.main(BlockBootstrap.java:58) 2020-05-17 00:11:51,888 ERROR [main] - io.nuls.block.service.impl.BlockServiceImpl.initLocalBlocks(BlockServiceImpl.java:650)::NulsRuntimeException -code: [bl_0007], -msg: Transactions rollback error

Here is transaction log:

2020-05-17 00:11:41,510 ERROR [server-handler-request-4] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.commitLedger(ConfirmedTxServiceImpl.java:227):save block tx failed! commitLedger 2020-05-17 00:11:41,523 INFO [server-handler-request-5] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.rollbackTxList(ConfirmedTxServiceImpl.java:297):start rollbackTxList block height:0 2020-05-17 00:11:41,527 ERROR [server-handler-request-5] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.rollbackTxList(ConfirmedTxServiceImpl.java:327):[rollback error] block txs is empty . -hight:0 2020-05-17 00:11:51,876 ERROR [server-handler-request-8] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.commitLedger(ConfirmedTxServiceImpl.java:227):save block tx failed! commitLedger 2020-05-17 00:11:51,883 INFO [server-handler-request] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.rollbackTxList(ConfirmedTxServiceImpl.java:297):start rollbackTxList block height:0 2020-05-17 00:11:51,886 ERROR [server-handler-request] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.rollbackTxList(ConfirmedTxServiceImpl.java:327):[rollback error] block txs is empty . -hight:0 2020-05-17 00:12:02,199 ERROR [server-handler-request-4] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.commitLedger(ConfirmedTxServiceImpl.java:227):save block tx failed! commitLedger 2020-05-17 00:12:02,205 INFO [server-handler-request-5] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.rollbackTxList(ConfirmedTxServiceImpl.java:297):start rollbackTxList block height:0 2020-05-17 00:12:02,207 ERROR [server-handler-request-5] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.rollbackTxList(ConfirmedTxServiceImpl.java:327):[rollback error] block txs is empty . -hight:0 2020-05-17 00:12:12,465 ERROR [server-handler-request-8] - io.nuls.transaction.service.impl.ConfirmedTxServiceImpl.commitLedger(ConfirmedTxServiceImpl.java:227):save block tx failed! commitLedger

nmschorr commented 4 years ago

I found a temporary workaround that might help others, or provide some clues as to what's wrong.

Two things are happening: a) The latest version of chainbox from January 2020 appears to have a problem. b) The branch of nuls-v2 that chainbox relies on was mistakenly removed (chain_box).
I can't put it back, but I happen to have a copy of it in my fork of nuls-v2.

Steps to implement workaround:

1) To run the version from October, your repo needs to be a clone of nuls-chainbox, not just a copy. git clone https://github.com/nuls-io/nuls-chainbox.git

2) cd into nuls-chainbox directory: You need to checkout an older version of the chainbox repo: git checkout 95d67ec

2b) then give it a name: git checkout -b oct20

3) You need to modify the 'tools' script: In nuls-chainbox edit 'tools':

Change line 10 to: NULS2_REPO="https://github.com/nmschorr/nuls-v2.git"

This will allow tools to pick up the necessary chain_box version of nuls-v2.

nmschorr commented 4 years ago

This bug is fixed. A new branch chain-box-used was created. Chainbox 'tools' was modified to use that branch.