Skip to content
This repository has been archived by the owner on Aug 30, 2022. It is now read-only.

eosio.contracts 1.9.0 producer scheduling problem #435

Closed
enumivo-core opened this issue Jan 20, 2020 · 5 comments
Closed

eosio.contracts 1.9.0 producer scheduling problem #435

enumivo-core opened this issue Jan 20, 2020 · 5 comments
Labels
bug Something isn't working

Comments

@enumivo-core
Copy link

enumivo-core commented Jan 20, 2020

eosio 1.9.0

when running cleos system unregprod, it sets producer key to EOS1111111111111111111111111111111114T1Anm and it still has some votes. those voting the producer does not remove in its list of voted producers. and the producer still produces blocks.

@enumivo-core
Copy link
Author

we started a chain with eosio.contracts 1.8.3, tried voting and changing the votes and the producer schedule changes as well without any problem, then we upgrade to 1.9.0, and no matter how we change the voting, the active schedule remains fixed. any workaround?

@enumivo-core
Copy link
Author

reverting it to 1.8.3 fixes the producer scheduling. it's definitely an eosio.contracts 1.9.0 problem.

@enumivo-core enumivo-core changed the title unregprod does not work eosio.contracts 1.9.0 producer scheduling problem Jan 22, 2020
@arhag arhag added the bug Something isn't working label Jan 31, 2020
@arhag
Copy link
Contributor

arhag commented Jan 31, 2020

@enumivo-core:

There indeed is a bug in eosio.contracts v1.9.0 that causes problems during onblock (which is responsible for producer schedule changes, producer pay, and a few other things) when transitioning from the producer tables generated in prior versions.

A simple workaround is for all of the top active producers to call the regproducer (or regproducer2) action to correct their produce table records and the system should resolve itself.

I also have a fix in the system contract that should prevent the problem from occurring in the first place (when upgrading from system contract versions v1.8.x or earlier and while skipping over v1.9.0 and its release candidates) and which is able to resolve the onblock failures immediately (if v1.9.0 was already deployed on a chain) even without requiring the producers to take any additional action. If you would like to try it out early on a test network, it is available in the 435-producer-scheduling-1.9 branch.

@enumivo-core
Copy link
Author

enumivo-core commented Jan 31, 2020

calling regproducer fixed our testnet, thanks @arhag

@arhag
Copy link
Contributor

arhag commented Feb 3, 2020

This issue was resolved by #445 (and #446 for v1.9.x). The fix was released in eosio.contracts v1.9.1.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants