1

Before the update

Before the update of the code of my c++ smart contract, this uses to work absolutely fine. Data storing on the table and actions execution were done successfully.

After the update

After I updated the code - adding some functions and not touching the tables - it started showing this error:

Error 3050003: eosio_assert_message assertion failure
Error Details:
assertion failure with message: read
pending console output:

What I tried

  1. I tried to change the table names and execute the update code again (didn't work);
  2. I tried to revert the contract to the exactly previous code (didn't work);

  3. I tried to add $NODEOSBINDIR/nodeos --verbose-http-errors true to the script that starts the node (nothing more is shoed in the error output);

  4. I tried to access the table after changing its name, and I could do it (but of course is empty).

What I am looking for

  1. If anyone experienced the same issue please help to figure out more details about this eosio_asser_message;
  2. A clear explanation on how to update smart contracts with tables and what happens in different use cases;
  3. If I made some mistakes in the configuration of the flag --verbose-http-errors true.
  • Try to start nodeos with --verbose-http-errors flag and see if there is a more detailed error log. – damianodamiano Oct 2 '18 at 12:06
  • I already tried, and this command is already in both the config.ini and the script to start the node; but I cannot see any difference in the error output. – Riccardo Persiani Oct 2 '18 at 12:07
  • But are you able to access the table using cleos? – damianodamiano Oct 2 '18 at 12:11
  • I can access the table, but there is no content inside. The previous content - of the old table before renaming - is no more there. – Riccardo Persiani Oct 2 '18 at 12:12
  • I think you should post some code smippets you have changed to get mor help... – damianodamiano Oct 2 '18 at 12:15
1

It took me a while, but I finally solved the issue.

Searching on Google for this kind of error, the most interesting source I was able to find was the following: https://github.com/EOSIO/eos/issues/4394.

The issue described at the link is not the same as mine, but actually suggested me that there was something wrong when calling an action, from a smart contract.

In fact, the error was in the parameters that I was passing, which where not matching with the action called.

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.