At the end this is the way where it happens:
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);
1. In my application a BLE Server is created like this, and it works fine
Code: Select all
Get these events during creating server
- Event:ESP_GATTS_REG_EVT gatts_if:4
2. Next this service should be removed with esp_ble_gatts_app_unregister and there I get these events:
- Event:ESP_GATTS_UNREG_EVT gatts_if:4
3. and then created again (with other char for example). Thats where the bug comes up
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 ?