Fix eboot crash with exception 28. ets_printf() should take pointer argument. by dirkenstein · Pull Request #7666 · esp8266/Arduino

@dirkenstein

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().

@dirkenstein

@dirkenstein

earlephilhower

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!

@dirkenstein

@dirkenstein

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.

d-a-v

earlephilhower

@dirkenstein

earlephilhower

d-a-v

Jason2866 added a commit to Jason2866/Arduino that referenced this pull request

Oct 23, 2020

Jason2866 added a commit to Jason2866/Arduino that referenced this pull request

Oct 23, 2020