Fix eboot crash with exception 28. ets_printf() should take pointer argument. by dirkenstein · Pull Request #7666 · esp8266/Arduino
The latest update to eboot was trying to pass 32bit string literals as their own pointer to ets_printf(). This caused eboot to crash with exception 28 on any operation that used ets_printf().
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess I flubbed the original PR big time, so thanks for noticing it. It didn't crash in my local testing, but that was obviously not sufficient!
The crash only happens when ACTION_COPY_RAW is called as part of an OTA firmware update. It breaks OTA updates and leaves the esp8266 in an infinite reset loop until it is power cycled, at which point it reverts to the old firware.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters