Closed ArnChe closed 6 years ago
are you running on 3 physical servers or VMs? If the latter, it may be that one server is not done generating DAG.
You could try inserting the following:
assert(r.find("result:") != std::string::npos)
after line 324 in src/macro/kvstore/core/evm_utils.cc
to check if the contract is deploy successfully.
I run on 3 physical servers in an openstack cloud infrastructure. I will insert the code and see what I get as result answer. The DAG generation was successful on every server, even was in epoch 1. Happens with experiments with 1 and 2 servers too, but luckily not every time.
I get answer: driver: evm_utils.cc:334: std::__cxx11::string BBUtils::EVMUtils::lookup_smart_contract_address_or_die(const string&, const string&): Assertion `r.find("\"result\":null") == std::string::npos' failed. Don't know why driver sometimes don't find adress, because it is committed on network. Unfortunately I get this error sometimes running automated tests with 1, 2 server tests and always with 3 servers. It is always like a lottery. Maybe it is something with the server, don't know. I will have a look at it. The DAG generation always reached over epoch 0, so it is no problem with that.
this sounds like the smart contract wasn't deployed successfully, i.e. it hasn't yet been included in a mined block.
try increase the deploy wait time, e.g. "-wt 120" in the start-clients.sh
I can run experiments with 1 and 2 servers. But when I start with 3 servers, the client can't find an address, but the driver works. Do you have a suggestion why this appears. See Pastebin for log and client files. Server (just one) https://pastebin.com/Q49YcyVD and client https://pastebin.com/YpJPxauF