Hi,

I worked a lot on a script that created a page under my bot's user page, finally after tests I renamed it to project namespace. At the next run the bot worked 8 minutes (hard to wait if you want to work with the result), and finally stopped at the last moment instead of saving the page.

Sorry, I forgot to copy the screen, the essence is that it claimed my page to be locked (what I thought to be protected). I didn't understand, and I spent a lot of time with investigating and understanding what happened. The page was not protected, of course.

The result of my investigation is that when the bot finds its own name in the last edit comment (that was the fact because of renaming), it supposes that the last edit was a revert of its previous edit (why?), and denies saving with a fake and misleading "page locked" exception.

The code in wikipedia.py is:
            elif self.comment() and username in self.comment():
                raise LockedPage(
                    u'Not allowed to edit %s because last edit maybe reverted'
                    % self.title(asLink=True))
(line 1970)
Of course, these type of messages in the argument of raise won't appear on user's screen, it is hidden into the source code. For some reason, Python does not show the message in user exceptions.

This was my first experience with this kind of error so I was first frightened and confused and finally found out that I should use a force=True parameter, and so after waiting another 8 minutes I could save the page. I solved the case and lost 15-20 minutes.

Is there really a serious reason to suppose that having found the name of the bot in the last edit comment marks a revert and to prevent the bot of saving the result of its work?

Bináris.unhappy.hu