The background to this is on this enwiki VPP thread
Steps to replicate the issue (include links if applicable):
- Set the moon to the required (but as of yet, uncertain) phase
- Run IABot via the interface at https://iabot.wmcloud.org/index.php?page=runbotsingle.
- Continue to edit the article you attempted to run IABot on
- Wait a few hours
- Observe that your edits in the previous step have been reverted
What happens?:
Under certain (unknown) circumstances, the web interfaces fails after a substantial delay, returning a 50x series error. It would appear, however, that a job has been queued which will run at some indeterminate time in the future. When it runs, it will make edits to the page content it grabbed earlier, which is no longer the current revision. When it writes the updated page back to the wiki, it will fail to notice the edit conflict and overwrite the intervening changes.
Example: https://en.wikipedia.org/w/index.php?diff=1179698559
What should have happened instead?:
It should have noticed the edit conflict and either aborted the write or grabbed a fresh copy of the page.
Note that there is a suggestion in the cited thread that IABot is passing the correct information to the wiki API to detect the edit conflict and that it's the Mediawiki software that's failing. I don't know if that's true or not, but either way, I would classify this a a high priority issue because it causes silent data corruption. In my case, I didn't notice the problem until I had made some additional edits after IABot's revision, so it was too late for undo. Fortunately, the volume of changes which needed to be replayed manually were fairly small so it wasn't a huge problem. Depending on the timing, however, a far greater range of revisions could be overwritten and a far greater amount of post-IABot changes could have been performed, making recovery substantially more difficult.
Software version
- IABot Management Interface (v2.0.9.5; checkIfDead v1.8.3.7)
Other information (browser name/version, screenshots, etc.):
- Google Chrome Version 117.0.5938.149 (Official Build) (x86_64)
- MacOSMonterey version 12.6.1 (21G217)