CORRUPT HEAP around esp_ble_gatts_app_register
Posted: Fri Mar 16, 2018 11:47 am
Got an CORRUPT HEAP abort and tried to drill down with lst file.
At the end this is the way where it happens:
Get these events during creating server
For testing, steps are called manually, means there is a lot of time between. So there should be no overlapping of (internal)free and malloc
Is step2 is not sufficient or is there any other hint, what to do ?
At the end this is the way where it happens:
- invoke_abort
abort
split_if_necessary
multi_heap_malloc
get_all_caps ret = multi_heap_malloc(heap->heap, size);
heap_caps_malloc_default r=heap_caps_malloc( size, MALLOC_CAP_DEFAULT | MALLOC_CAP_INTERNAL );
_malloc_r return heap_caps_malloc_default( size );
0x 4000beaf ??
lmsg.arg = (void *)osi_malloc(arg_len);
esp_ble_gatts_app_register
Code: Select all
{0xBBCC:{0x1358:{value:"Hello",readable:true,writable:true,description:"bbcc 1358"}},
0xDDEE:{0x2468:{value:"Hallo",readable:true,writable:true},
0x3579:{value:"Egon",readable:true}}};
- Event:ESP_GATTS_REG_EVT gatts_if:4
Event:ESP_GATTS_CREATE_EVT gatts_if:4
Event:ESP_GATTS_START_EVT gatts_if:4
Event:ESP_GATTS_ADD_CHAR_EVT gatts_if:4
Event:ESP_GATTS_ADD_CHAR_DESCR_EVT gatts_if:4
Event:ESP_GATTS_REG_EVT gatts_if:5
Event:ESP_GATTS_CREATE_EVT gatts_if:5
Event:ESP_GATTS_START_EVT gatts_if:5
Event:ESP_GATTS_ADD_CHAR_EVT gatts_if:5
Event:ESP_GATTS_ADD_CHAR_EVT gatts_if:5
Event:ESP_GAP_BLE_ADV_START_COMPLETE_EVT
Event:ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT
- Event:ESP_GATTS_UNREG_EVT gatts_if:4
Event:ESP_GATTS_UNREG_EVT gatts_if:5
For testing, steps are called manually, means there is a lot of time between. So there should be no overlapping of (internal)free and malloc
Is step2 is not sufficient or is there any other hint, what to do ?