Possible Bug when sending "!!!"

PaulS:
Where, exactly, would you expect the bootloader to do that?

Firstly, as a user it's not up to me to find the solution - I'm just complaining about the problem. I'm not familiar with the implementation of the bootloader and the protocol the IDE uses to talk to it. The whole point of the Arduino project is that it hides us users from needing to know this stuff.

However, I would be astonished if no solution was possible - which is what you seem to be implying by your question.

As far as I can see, the problem is caused by an undesirable feature in the bootloader which should ideally have been removed, or not introduced in the first place. In other words, it's a bug. It may have been introduced knowingly, but it's still a bug.

If the bug can't be removed from the bootloader for some reason, it may be possible for the bootloader to indicate to the IDE when it has entered this diagnostic mode, which would enable the IDE to report it to the user in some meaningful way and not just leave them poking around in the guts of hung processes trying to guess what's broken.

If the developers can't figure out a way to achieve that, then surely at least it ought to be possible for the IDE to notify the user when they were attempting to download a sketch which the bootloader is not expected to handle correctly.

And if they can't even manage that, then would it be asking too much to describe the problem in the trouble-shooting guide?