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
[TW#12670] Panic handler no longer functioning as expected #611
Comments
Hi @MrSurly, The "cache disabled but cached memory region accessed" fatal exception is new. Older versions of IDF wouldn't crash on this, they'd just read garbage from the unmapped cache and go off into the weeds (possibly resulting in a LoadStoreException like the one in your first example, but possibly also crashing in other weird and hard-to-decipher ways.) Can you please post the full output from the current crash you're seeing? Angus |
The full dump is below. But let me give you some more context, since I think it add a lot of value. The code in question is testing the BLE implementation in MicroPython. The code reads a config file from flash (if it exists), then tries to connect to WiFi. If there's no config, or it can't connect, it advertises on BLE, and awaits WiFi credentials from another device. When it gets the credentials, it writes the config file to flash. This is where it crashes. If I don't write to flash, everything works fine. I'm very sure it crashes in the middle of a flash operation, because after the reboot, my However, without a better backtrace, it's hard to know where exactly.
|
Could you please check what's at 0x400877b2? |
Yes, but I'd need to re-compile my older code. I can do that if it still necessary, but: I tried again today with some updates from the mainline micropython-esp32. Now it doesn't crash. I suspect some of of the changes made by @dpgeorge when merging in micropython/micropython-esp32#89, particularly to the LD script, might have fixed this issue. Did you want me to go back and try to re-create using my older code? |
Appears this was probably a linking error. |
Using older versions of the IDF (e.g. f73c6f8) with
CONFIG_ESP32_PANIC_PRINT_REBOOT
, I would get useful backtraces, like this:Now, (1e0710f) I get:
Even when
CONFIG_ESP32_PANIC_GDBSTUB
is set, the same behavior is observed.The text was updated successfully, but these errors were encountered: