BLE Advertising Crash
Posted: Wed Nov 27, 2019 2:52 pm
Hello,
I am currently running into an issue with BLE advertising causing a core panic. This is 100% reproducible with minimal code.
It will always crash after attempting to start advertising after the controller has been disabled and re-enabled.
After setting up BLE, the following task can be run to cause a crash (Note, some code has not been included, but its the ble_adv example with some minor modifications).
Here is the monitor output when it crashes
There has been an open issue on GitHub since December of 2018 with this exact issue, but I'm wondering if anyone has worked around this before?
Thanks.
I am currently running into an issue with BLE advertising causing a core panic. This is 100% reproducible with minimal code.
It will always crash after attempting to start advertising after the controller has been disabled and re-enabled.
After setting up BLE, the following task can be run to cause a crash (Note, some code has not been included, but its the ble_adv example with some minor modifications).
Code: Select all
void bleAdvtTask(void *pvParameters)
{
int cmd_cnt = 0;
bool send_avail = false;
esp_vhci_host_register_callback(&vhci_host_cb);
printf("BLE advt task start\n");
while (1) {
vTaskDelay(1000 / portTICK_PERIOD_MS);
send_avail = esp_vhci_host_check_send_available();
if (send_avail) {
switch (cmd_cnt) {
case 0: bt_controller_enable(); ++cmd_cnt; break;
case 1: hci_cmd_send_reset(); ++cmd_cnt; break;
case 2: hci_cmd_send_ble_set_adv_param(); ++cmd_cnt; break;
case 3: hci_cmd_send_ble_set_adv_data(); ++cmd_cnt; break;
case 4: hci_cmd_send_ble_adv_start(); ++cmd_cnt; break;
case 5: hci_cmd_send_ble_adv_stop(); ++cmd_cnt; break;
case 6: bt_controller_disable(); ++cmd_cnt; break;
}
}
printf("BLE Advertise, flag_send_avail: %d, cmd_sent: %d\n", send_avail, cmd_cnt);
cmd_cnt %= 6 + 1;
}
}
Code: Select all
ASSERT_PARAM(512 0), in rwble.c at line 235
Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0)
Core 0 register dump:
PC : 0x40086a09 PS : 0x00060034 A0 : 0x8008a8fc A1 : 0x3ffbe260
0x40086a09: r_assert_param at ??:?
A2 : 0x00000001 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x60008054
A6 : 0x3ffbdbb4 A7 : 0x60008050 A8 : 0x80086a09 A9 : 0x3ffbe240
A10 : 0x00000004 A11 : 0x00000000 A12 : 0x6000804c A13 : 0xffffffff
A14 : 0x00000000 A15 : 0xfffffffc SAR : 0x00000004 EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x40086941 LEND : 0x40086948 LCOUNT : 0x00000000
0x40086941: r_assert_param at ??:?
0x40086948: r_assert_param at ??:?
Core 0 was running in ISR context:
EPC1 : 0x400fd8b2 EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x40086a09
0x400fd8b2: esp_pm_impl_waiti at C:/Users/livingstonem/Downloads/esp-idf/components/esp32/pm_esp32.c:487
0x40086a09: r_assert_param at ??:?
ELF file SHA256: 7fa51598400cbe5f99bb6df66b77edec1e93f6a2ae016aecc22e1b3798268820
Backtrace: 0x40086a09:0x3ffbe260 0x4008a8f9:0x3ffbe280 0x4008b4e7:0x3ffbe2a0 0x40082c25:0x3ffbe2c0 0x400fd8af:0x3ffbbc80 0x400d2d17:0x3ffbbca0 0x4008ebe5:0x3ffbbcc0 0x4008d15d:0x3ffbbce0
0x40086a09: r_assert_param at ??:?
0x4008a8f9: r_rwble_isr at ??:?
0x4008b4e7: r_rwbtdm_isr_wrapper at intc.c:?
0x40082c25: _xt_lowint1 at C:/Users/livingstonem/Downloads/esp-idf/components/freertos/xtensa_vectors.S:1154
0x400fd8af: esp_pm_impl_waiti at C:/Users/livingstonem/Downloads/esp-idf/components/esp32/pm_esp32.c:487
0x400d2d17: esp_vApplicationIdleHook at C:/Users/livingstonem/Downloads/esp-idf/components/esp32/freertos_hooks.c:86
0x4008ebe5: prvIdleTask at C:/Users/livingstonem/Downloads/esp-idf/components/freertos/tasks.c:4560
0x4008d15d: vPortTaskWrapper at C:/Users/livingstonem/Downloads/esp-idf/components/freertos/port.c:403
Core 1 register dump:
PC : 0x400fd8b2 PS : 0x00060634 A0 : 0x800d2d1a A1 : 0x3ffbc3f0
0x400fd8b2: esp_pm_impl_waiti at C:/Users/livingstonem/Downloads/esp-idf/components/esp32/pm_esp32.c:487
A2 : 0x00000000 A3 : 0x80000001 A4 : 0x00000000 A5 : 0x00000001
A6 : 0x00000003 A7 : 0x00060023 A8 : 0x800d29fa A9 : 0x3ffbc3c0
A10 : 0x00000000 A11 : 0x00060623 A12 : 0x00060620 A13 : 0x00000001
A14 : 0x00060620 A15 : 0x3ffbd310 SAR : 0x00000000 EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
ELF file SHA256: 7fa51598400cbe5f99bb6df66b77edec1e93f6a2ae016aecc22e1b3798268820
Backtrace: 0x400fd8b2:0x3ffbc3f0 0x400d2d17:0x3ffbc410 0x4008ebe5:0x3ffbc430 0x4008d15d:0x3ffbc450
0x400fd8b2: esp_pm_impl_waiti at C:/Users/livingstonem/Downloads/esp-idf/components/esp32/pm_esp32.c:487
0x400d2d17: esp_vApplicationIdleHook at C:/Users/livingstonem/Downloads/esp-idf/components/esp32/freertos_hooks.c:86
0x4008ebe5: prvIdleTask at C:/Users/livingstonem/Downloads/esp-idf/components/freertos/tasks.c:4560
0x4008d15d: vPortTaskWrapper at C:/Users/livingstonem/Downloads/esp-idf/components/freertos/port.c:403
Rebooting...
Thanks.