Validator may get slashed even not be one of mining validator set
System information
Geth version: 1.1.16
OS & Version: Linux
Expected behaviour
After BEP-131 introduced, 21 mining validators are selected from top 26 (for the moment this issue is raised) validators every 200 blocks.
It is possible for one specific validator to be unauthorized for mining.
Actual behaviour
Validator get slashed for missing block while is out of mining set.
Steps to reproduce the behaviour
We only observed 2 cases.
Case1: https://bscscan.com/tx/0x5d57d5ce81f31ca52ab7e14a3253dea776fe0de3036697741573a562dfdc525a 0x72b61c6014342d914470ec7ac2975be345796c2b is slashed by 0xa6f79b60359f141df90a0c745125b131caaffd12 at 21771611
Case2: https://bscscan.com/tx/0x3312f4597839f794e047944ee739e6c32f66583616dc2a2f5d43650332eea434 0x4396e28197653d0c244d95f8c1e57da902a72b4e is slashed by 0x7ae2f5b9e386cd1b50a4550696d957cb4900f03a at 22127411
Both were at height of 200*N + 11 which are around mining set switching block.
My guess is, there is something misaligned of mining set among active validators thus the slasher considers the slashee as active miner while not.
It's difficult to reproduce, because it doesn't necessarily happen when this pattern is met.