The assigning of vnode ID is based on node ID and timestamp:
https://github.com/basho/riak_kv/blob/develop-3.0/src/riak_kv_vnode_status_mgr.erl#L342-L354
Vnodes on the same node are started in parallel, and so can have the same node ID and timestamp. If the cluster is too small for claim to be effective, then two vnodes within the same preflist may be started on the same node. In this circumstance, and write of a key co-ordinated by either vnode will cause key-amnesia then read repair will be prompted by that key amnesia in a continuous and never-ending loop.
There is potentially no recovery from this situation.