Inconsistent required_approval_index
when loading from disk
#1719
Labels
1b User Story
The User Story details a requirement. It may reference a parent Epic. It may reference child Task(s)
2e Ready for Testing
Status indicating the solution is sufficiently developed to begin testing
3d Bug
Classification indicating the existing implementation does not match the intention of the design
4c High Priority
Priority indicating significant impact to system/user -OR- workaround is prohibitivly expensive
6 API
Impact flag identifying the application programing interface (API)
6 UX
Impact flag identifying the User Interface (UX)
Milestone
Bug Description
The secondary index class
required_approval_index
has an empty overridden member functionabout_to_modify(obj)
as well as an emptyobject_modified(obj)
function, combined with the logic inobject_inserted(obj)
, may lead to inconsistent chain state and memory leak when reloading data from disk.bitshares-core/libraries/chain/include/graphene/chain/proposal_object.hpp
Lines 76 to 77 in 623aea2
bitshares-core/libraries/chain/proposal_object.cpp
Lines 62 to 65 in 623aea2
The misbehavior is reported by Mobile App Dev Team (btspp / @syalon).
The misbehavior can be corrected and avoided with a replay.
Steps To Reproduce
Steps to reproduce the behavior:
(Alice,proposal)
will be inserted intorequired_approval_index
required_approval_index
won't be updated(Alice,proposal)
and(Bob,proposal)
will be inserted intorequired_approval_index
required_approval_index
won't be updated(Alice,proposal)
will be removed fromrequired_approval_index
, but pair(Bob,proposal)
will be kept in memoryget_full_accounts
API, see "Unable to find object" errorImpacts
Describe which portion(s) of BitShares Core may be impacted by this bug. Please tick at least one box.
CORE TEAM TASK LIST
The text was updated successfully, but these errors were encountered: