EOSIO / eos

An open source smart contract platform
https://developers.eos.io/manuals/eos
MIT License
11.27k stars 3.6k forks source link

Issue with eosio.system. Error 3050003: assertion failure with message: unable to find key Can not solve #7003

Closed Gshelterm closed 5 years ago

Gshelterm commented 5 years ago

I am trying bios boot sequence in Docker environment and bios-boot-tutorial.py, like:

I have changed symbol in Dockfile to EOS

sudo docker run --name nodeosd -p 8888:8888 -p 9876:9876 -t eosio/eos nodeosd.sh -e --http-alias=nodeos:8888 --http-alias=127.0.0.1:8888 --http-alias=localhost:8888 arg1 arg2

then import keys, create system accounts, set eosio.token and create token

sudo docker exec nodeosd cleos set contract eosio contracts/eosio.bios 
sudo docker exec nodeosd cleos create account eosio eosio.bpay EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos create account eosio eosio.msig EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos create account eosio eosio.names EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos create account eosio eosio.ram EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos create account eosio eosio.ramfee EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos create account eosio eosio.saving EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos create account eosio eosio.stake EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos create account eosio eosio.token EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos create account eosio eosio.vpay EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos create account eosio eosio.rex EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
sudo docker exec nodeosd cleos set contract eosio.token contracts/eosio.token 
sudo docker exec nodeosd cleos set contract eosio.msig contracts/eosio.msig 
sudo docker exec nodeosd cleos push action eosio.token create '{"issuer":"eosio", "maximum_supply": "1000000000.0000 EOS", "can_freeze": 0, "can_recall": 0, "can_whitelist": 0}' -p eosio.token
sudo docker exec nodeosd cleos push action eosio.token issue '{"to":"eosio","quantity":"100000000.0000 EOS","memo":"issue"}' -p eosio
sudo docker exec nodeosd cleos set contract eosio contracts/eosio.system 

then get the error:

#   eosio.token <= eosio.token::issue           {"to":"eosio","quantity":"100000000.0000 EOS","memo":"issue"}
Reading WASM from /contracts/eosio.system/eosio.system.wasm...
Publishing contract...
Error 3050003: eosio_assert_message assertion failure
Error Details:
assertion failure with message: unable to find key
pending console output:

and follow issue like #3134 #3653, I have created system accounts, created and issued token, and used CORE token symbol, why is it still happening? Same thing in bios-boot-tutorial, I run

python3 bios-boot-tutorial.py --cleos="cleos --wallet-url http://127.0.0.1:6666 " --nodeos=nodeos --keosd=keosd --contracts-dir="~/eos/build/contracts" -a --symbol EOS

get same error when set eosio.system contract:

sleep 1 ...
resume
bios-boot-tutorial.py: cleos --wallet-url http://127.0.0.1:6666 --url http://127.0.0.1:8000 set contract eosio /home/go/eos/build/contracts/eosio.system/
Reading WASM from /home/go/eos/build/contracts/eosio.system/eosio.system.wasm...
Publishing contract...
Error 3050003: eosio_assert_message assertion failure
*** Retry

Anyone knows why and how to solve it, please let me know.

taokayan commented 5 years ago

Have you tried to run sudo docker exec nodeosd cleos set contract eosio contracts/eosio.system before create & issue your token?

Gshelterm commented 5 years ago

@taokayan Tried,still getting this error.

error 2019-03-28T08:37:56.374 thread-0  http_plugin.cpp:585           handle_exception     ] FC Exception encountered while processing chain.push_transaction
debug 2019-03-28T08:37:56.375 thread-0  http_plugin.cpp:586           handle_exception     ] Exception Details: 3050003 eosio_assert_message_exception: eosio_assert_message assertion failure
assertion failure with message: unable to find key
    {"s":"unable to find key"}
    thread-0  wasm_interface.cpp:917 eosio_assert
pending console output: 
    {"console":""}
    thread-0  apply_context.cpp:72 exec_one
Gshelterm commented 5 years ago

Solved by reference #5779 I didn't rebuild image with new CORE_SYMBOL, then use wrong CORE_SYMBOL.

riotom commented 5 years ago

check - in transfer action you should be check symbol, and if transfered based symbol like EOS you should be break execute action. so, you dont can change eosio table, this is mistake in you. Maybe it help