I'm chasing a heap corruption issue so I enabled comprehensive heap poisoning, and built with gdbstub to break when this occurrs. When it happened I saw:
Code: Select all
CORRUPT HEAP: Invalid data at 0x3ffdc0b8. Expected 0xfefefefe got 0xfefefeff
CORRUPT HEAP: Invalid data at 0x3ffdc190. Expected 0xfefefefe got 0xfefefeff
assertion "verify_fill_pattern(data, size, true, true, true)" failed: file "/dev/p/Firmware/esp-idf/components/heap/./multi_heap_poisoning.c", line 183, function: multi_heap_malloc
abort() was called at PC 0x400dfacb on core 0
However, in gdb when I see:
Code: Select all
(gdb) x/12x 0x3ffdc0b0
0x3ffdc0b0: 0xcececece 0xcececece 0xcececece 0xcececece
0x3ffdc0c0: 0xcececece 0xcececece 0xcececece 0xcececece
0x3ffdc0d0: 0xcececece 0xcececece 0xcececece 0xcececece