Page 1 of 1

A2DP panic problem

Posted: Mon Nov 02, 2020 9:06 am
by quenolio
Hey everyone!

I am working on creating my own voice assistant using IDF and ADF libraries. The application also uses such libraries as sh2lib (from protocols/http2 example), ESP-DSP and Tensorflow Lite. Moreover, the assistant can play music via A2DP stream (code taken from advanced_examples/wifi_bt_ble_coex example). And here a problem arises, because the application ran smoothly for about 48h and then the program broke down with the following Panic Handler:

Code: Select all

Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC      : 0x4024994c  PS      : 0x00060630  A0      : 0x80248a48  A1      : 0x3f974a40  
0x4024994c: fa_resample_process at /Users/maojianxin/duros/esp-adf-libs-source/esp_processing/esp-resample/src_fa/fa_resample.c:2935

A2      : 0x00000002  A3      : 0x00000230  A4      : 0x3f974c24  A5      : 0x3f975038  
A6      : 0x00000002  A7      : 0x3f971ecc  A8      : 0x8021b3c5  A9      : 0x3f974a80  
A10     : 0x3fff48cc  A11     : 0x3f958c18  A12     : 0x00000400  A13     : 0x3f975024  
A14     : 0x0596ff0e  A15     : 0x00000000  SAR     : 0x0000000f  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000230  LBEG    : 0x40099488  LEND    : 0x400994b6  LCOUNT  : 0x00000000  
0x40099488: memcpy at /home/jeroen/esp8266/esp32/newlib_xtensa-2.2.0-bin/newlib_xtensa-2.2.0/xtensa-esp32-elf/newlib/libc/machine/xtensa/../../../../.././newlib/libc/machine/xtensa/memcpy.S:168

0x400994b6: memcpy at /home/jeroen/esp8266/esp32/newlib_xtensa-2.2.0-bin/newlib_xtensa-2.2.0/xtensa-esp32-elf/newlib/libc/machine/xtensa/../../../../.././newlib/libc/machine/xtensa/memcpy.S:201


ELF file SHA256: 1bdb9c040599c67e

Backtrace: 0x4024994c:0x3f974a40
0x4024994c: fa_resample_process at /Users/maojianxin/duros/esp-adf-libs-source/esp_processing/esp-resample/src_fa/fa_resample.c:2935


CPU halted.
At the time of the bug, on a device worked a thread from:
  • The A2DP music stream
  • Websocket requests handling
  • HTTP2 requests handling (which waited for a new request using xTaskNotifyWait)
  • Wake-word recognition thread which only performed vTaskDelay, due to muted microphones (which resulted in suspension of calculations)
  • Recorder Engine Task to collect new audio data from I2S (Recorder Engine in only VAD mode)
I use ADF v2.1 and the attached IDF v3.3.2 library.

Does anyone know what the problem may be or experienced similar behavior, or can they advise me how to fix it?