heap corruption any idea?
Posted: Mon Apr 08, 2019 2:23 pm
Hi,
Kindly help in diagnosis. when I delete my big application object before esp_restart(); then I get this trace.
CORRUPT HEAP: Bad head at 0x3ffcfe24. Expected 0xabba1234 got 0x00000001
assertion "head != NULL" failed: file "C:/Work/library/esp32/master/esp-idf/components/heap/multi_heap_poisoning.c", line 214, function: multi_heap_free
abort() was called at PC 0x400da49b on core 0
0x400da49b: __assert_func at /home/jeroen/esp8266/esp32/newlib_xtensa-2.2.0-bin/newlib_xtensa-2.2.0/xtensa-esp32-elf/newlib/libc/stdlib/../../../.././newlib/libc/stdlib/assert.c:63 (discriminator 8)
Backtrace: 0x40093cb4:0x3ffba3e0 0x40093f01:0x3ffba400 0x400da49b:0x3ffba420 0x400999e3:0x3ffba450 0x400855ce:0x3ffba470 0x40085ee2:0x3ffba490 0x40085f99:0x3ffba4e0 0x400f1e01:0x3ffba500 0x40122d8d:0x3ffba520 0x40122e32:0x3ffba540 0x4010d18d:0x3ffba560 0x4010ed85:0x3ffba
580 0x4010ed92:0x3ffba5a0 0x400d78ee:0x3ffba5c0 0x400d9e59:0x3ffba5e0 0x400d24cc:0x3ffba960 0x40097be5:0x3ffba980
0x40093cb4: invoke_abort at C:/Work/library/esp32/master/esp-idf/components/esp32/panic.c:680
0x40093f01: abort at C:/Work/library/esp32/master/esp-idf/components/esp32/panic.c:680
0x400da49b: __assert_func at /home/jeroen/esp8266/esp32/newlib_xtensa-2.2.0-bin/newlib_xtensa-2.2.0/xtensa-esp32-elf/newlib/libc/stdlib/../../../.././newlib/libc/stdlib/assert.c:63 (discriminator 8)
0x400999e3: multi_heap_free at C:/Work/library/esp32/master/esp-idf/components/heap/multi_heap_poisoning.c:370
0x400855ce: heap_caps_free at C:/Work/library/esp32/master/esp-idf/components/heap/heap_caps.c:351
0x40085ee2: trace_free at C:/Work/library/esp32/master/esp-idf/components/heap/heap_trace.c:351
0x40085f99: __wrap_free at C:/Work/library/esp32/master/esp-idf/components/heap/heap_trace.c:399
0x400f1e01: operator delete(void*) at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/del_op.cc:46
Kindly help in diagnosis. when I delete my big application object before esp_restart(); then I get this trace.
CORRUPT HEAP: Bad head at 0x3ffcfe24. Expected 0xabba1234 got 0x00000001
assertion "head != NULL" failed: file "C:/Work/library/esp32/master/esp-idf/components/heap/multi_heap_poisoning.c", line 214, function: multi_heap_free
abort() was called at PC 0x400da49b on core 0
0x400da49b: __assert_func at /home/jeroen/esp8266/esp32/newlib_xtensa-2.2.0-bin/newlib_xtensa-2.2.0/xtensa-esp32-elf/newlib/libc/stdlib/../../../.././newlib/libc/stdlib/assert.c:63 (discriminator 8)
Backtrace: 0x40093cb4:0x3ffba3e0 0x40093f01:0x3ffba400 0x400da49b:0x3ffba420 0x400999e3:0x3ffba450 0x400855ce:0x3ffba470 0x40085ee2:0x3ffba490 0x40085f99:0x3ffba4e0 0x400f1e01:0x3ffba500 0x40122d8d:0x3ffba520 0x40122e32:0x3ffba540 0x4010d18d:0x3ffba560 0x4010ed85:0x3ffba
580 0x4010ed92:0x3ffba5a0 0x400d78ee:0x3ffba5c0 0x400d9e59:0x3ffba5e0 0x400d24cc:0x3ffba960 0x40097be5:0x3ffba980
0x40093cb4: invoke_abort at C:/Work/library/esp32/master/esp-idf/components/esp32/panic.c:680
0x40093f01: abort at C:/Work/library/esp32/master/esp-idf/components/esp32/panic.c:680
0x400da49b: __assert_func at /home/jeroen/esp8266/esp32/newlib_xtensa-2.2.0-bin/newlib_xtensa-2.2.0/xtensa-esp32-elf/newlib/libc/stdlib/../../../.././newlib/libc/stdlib/assert.c:63 (discriminator 8)
0x400999e3: multi_heap_free at C:/Work/library/esp32/master/esp-idf/components/heap/multi_heap_poisoning.c:370
0x400855ce: heap_caps_free at C:/Work/library/esp32/master/esp-idf/components/heap/heap_caps.c:351
0x40085ee2: trace_free at C:/Work/library/esp32/master/esp-idf/components/heap/heap_trace.c:351
0x40085f99: __wrap_free at C:/Work/library/esp32/master/esp-idf/components/heap/heap_trace.c:399
0x400f1e01: operator delete(void*) at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/del_op.cc:46