You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
I have searched the issue tracker for a similar issue and not found a similar issue.
IDF version.
v4.4.8
Espressif SoC revision.
ESP32-D0WD-V3
Operating System used.
macOS
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
Custom Board
Power Supply used.
External 3.3V
What is the expected behavior?
I configured my ESP-IDF with FreeRTOS in unicore mode:
#
# FreeRTOS
#
CONFIG_FREERTOS_UNICORE=y
CONFIG_FREERTOS_CORETIMER_0=y
# CONFIG_FREERTOS_CORETIMER_1 is not set
CONFIG_FREERTOS_HZ=1000
CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
CONFIG_FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER=y
# CONFIG_FREERTOS_RUN_TIME_STATS_USING_CPU_CLK is not set
CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
So all my tasks are running on core 0. I could verify that. I have four tasks monitored by the task WDT:
I (190908) task_wdt: Tasks monitored by the Task WDT:
I (190908) task_wdt: CPU: CPU 0 - IDLE
I (190908) task_wdt: CPU: CPU 0 - out
I (190908) task_wdt: CPU: CPU 0 - bcmd
I (190908) task_wdt: CPU: CPU 0 - main
All on core 0. In that case, something happening on CPU1 should not bother my system at all.
What is the actual behavior?
The system is reset because an unknown task on CPU1 has reset the watchdog time.
Steps to reproduce.
That's the bad part, I cannot replicate it easily elsewhere. I don't want it treated as a bug immediately but to understand if this behaviour is known or even "correct" ? The task on CPU 1 do not even have a name.
Debug Logs.
That's what I see from the Task WDT reset:
(804763) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
(804763) task_wdt: - (CPU 1)
(804763) task_wdt: Tasks currently running:
(804763) task_wdt: CPU 0: IDLE
(804763) task_wdt: Aborting.
abort() was called at PC 0x401581a9 on core 0
More Information.
Unfortunately I could not update all my project to IDF v5 to try and replicate the issue. However I wouldn't want a fix but rather an explanation if possible.
The text was updated successfully, but these errors were encountered:
github-actionsbot
changed the title
Task WDT on FreeRTOS UniCore reset by task on CPU1
Task WDT on FreeRTOS UniCore reset by task on CPU1 (IDFGH-14839)
Mar 12, 2025
Answers checklist.
IDF version.
v4.4.8
Espressif SoC revision.
ESP32-D0WD-V3
Operating System used.
macOS
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
Custom Board
Power Supply used.
External 3.3V
What is the expected behavior?
I configured my ESP-IDF with FreeRTOS in unicore mode:
and with a task watchdog timer:
So all my tasks are running on core 0. I could verify that. I have four tasks monitored by the task WDT:
All on core 0. In that case, something happening on CPU1 should not bother my system at all.
What is the actual behavior?
The system is reset because an unknown task on CPU1 has reset the watchdog time.
Steps to reproduce.
That's the bad part, I cannot replicate it easily elsewhere. I don't want it treated as a bug immediately but to understand if this behaviour is known or even "correct" ? The task on CPU 1 do not even have a name.
Debug Logs.
More Information.
Unfortunately I could not update all my project to IDF v5 to try and replicate the issue. However I wouldn't want a fix but rather an explanation if possible.
The text was updated successfully, but these errors were encountered: