Watch dog got triggered error

nicola
Posts: 22
Joined: Mon Feb 18, 2019 8:04 am

Watch dog got triggered error

Postby nicola » Mon Mar 25, 2019 1:16 pm

Hi all,
I need your help about my FW code in esp-idf (Compiler version: 5.2.0).
My Board is LuaNode: https://github.com/Nicholas3388/LuaNode

I have one task with priority 12 (worker task) which I created in my main entry point (with xTaskCreate API) which every 20 sec gets from cloud (using http calls), some setting parameters and then enable/disable the web_radio streaming using an i2s device (both HW and FW I used for the radio streaming are from Mr. BuddyCasino project on :https://github.com/MrBuddyCasino/ESP32_MP3_Decode).

As shown in the web_radio.c the streaming task is created with the xTaskCreatePinnedToCore API and has a priority of 20 running on core 0.
I'm getting some error related (I think) to task synchronization like in the following lines :

I (39271) audio_player: Buffer fill 95%, 30708 bytes
I (39871) audio_player: Buffer fill 99%, 31738 bytes
I (40541) audio_player: Buffer fill 94%, 30312 bytes
I (41121) audio_player: Buffer fill 98%, 31394 bytes
I (41801) audio_player: Buffer fill 93%, 29967 bytes
I (42391) audio_player: Buffer fill 96%, 30964 bytes
I (43061) audio_player: Buffer fill 98%, 31556 bytes
I (43641) audio_player: Buffer fill 95%, 30522 bytes
E (43811) task_wdt: Task watchdog got triggered. The following tasks did not res
et the watchdog in time:
E (43811) task_wdt: - IDLE1 (CPU 1)
E (43811) task_wdt: Tasks currently running:
E (43811) task_wdt: CPU 0: IDLE0
E (43811) task_wdt: CPU 1: mp3_decoder_tas
I (44231) audio_player: Buffer fill 98%, 31603 bytes
I (44911) audio_player: Buffer fill 94%, 30167 bytes
I (45501) audio_player: Buffer fill 97%, 31249 bytes
I (46171) audio_player: Buffer fill 93%, 29762 bytes
I (46761) audio_player: Buffer fill 96%, 30844 bytes
I (47351) audio_player: Buffer fill 99%, 31925 bytes
I (48031) audio_player: Buffer fill 95%, 30499 bytes
I (48611) audio_player: Buffer fill 98%, 31521 bytes
E (48811) task_wdt: Task watchdog got triggered. The following tasks did not res
et the watchdog in time:
E (48811) task_wdt: - IDLE1 (CPU 1)
E (48811) task_wdt: Tasks currently running:
E (48811) task_wdt: CPU 0: IDLE0
E (48811) task_wdt: CPU 1: mp3_decoder_tas


How can I solve this problem?
Could it be some problem related to the shared resource (for example the WIFI) between the two task which causes a sort of dead lock or something like that?

Hope you can drive me on the right direction.
Thanks in advance
Nico

User avatar
fly135
Posts: 606
Joined: Wed Jan 03, 2018 8:33 pm
Location: Orlando, FL

Re: Watch dog got triggered error

Postby fly135 » Mon Mar 25, 2019 1:58 pm

Your mp3 task is not yielding and causing the WD timeout. That's OK if you want it designed that way. Sounds like you are checking for something and looping versus waiting for a semaphore or sleeping, which would allow the idle task to process.

John A

nicola
Posts: 22
Joined: Mon Feb 18, 2019 8:04 am

Re: Watch dog got triggered error

Postby nicola » Wed Mar 27, 2019 8:10 am

Dear John ,
you are right .
I had some semaphore blocking my code.
I solved by removing it: now the streaming is good
Thanks a lot.
Nicola

Who is online

Users browsing this forum: Bing [Bot] and 107 guests