-
Notifications
You must be signed in to change notification settings - Fork 13.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix eboot crash with exception 28. ets_printf() should take pointer argument. #7666
Conversation
There was a problem hiding this comment.
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. |
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().