I have configured the exception decoder and it says the backtrace is corrupted. Tried with debug symbols on, same effect. What am I doing wrong? Do I need to install something extra myself?
using OSX and pio core.
monitor filters in platformio.ini:
monitor_filters = time, default, esp32_exception_decoder
device output
00:09:22.640 >
00:09:22.640 > abort() was called at PC 0x40086097 on core 1
00:09:22.756 >
00:09:22.756 >
00:09:22.756 > Backtrace:0x400839b1:0x3ffbeedc |<-CORRUPTED
00:09:22.810 > #0 0x400839b1:0x3ffbeedc in panic_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_system/panic.c:402
00:09:22.810 >
00:09:22.810 >
00:09:22.810 >
00:09:22.811 >
00:09:22.811 > ELF file SHA256: 0000000000000000
Maybe the firmware crashes so weirdly that it already spews out corrupted addresses / incomplete backtrace, and the decoder tool is just showing you that, but the decoder tool doesn’t itself have a fault. If the crash occurs very early, maybe it’s happening a global object’s constructor code.
Can you run the same code in the Arduino IDE and verify it also crashes in that way?
I spent more time with this and the exception decoder has nothing do to with it as you suggest.
I get the CORRUPTED message without it. The crashes occur fairly randomly, sometimes after 5 minutes, often after hours, pretty much never at boot. Heap consumption is very stable, I monitor it.
Anyhow, I realised esp-idf has great coredump facility. If I enable it would I get more details from the crashdump partition?