espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.67k stars 7.29k forks source link

LightSleep not working after update to v4.4.6 with FREERTOS_IDLE_TIME_BEFORE_SLEEP set to 2 (IDFGH-11294) #12448

Open ztefanjo opened 1 year ago

ztefanjo commented 1 year ago

Answers checklist.

IDF version.

v4.4.6

Espressif SoC revision.

ESP32-S3

Operating System used.

Windows

How did you build your project?

Command line with idf.py

If you are using Windows, please specify command line type.

CMD

Development Kit.

Custom Board

Power Supply used.

External 3.3V

What is the expected behavior?

Stable lightsleep function.

What is the actual behavior?

After update from v4.4.5 to v4.4.6, LightSleep is no longer working, we get "assert failed: vTaskStepTick tasks.c:2959 (( xTickCount + xTicksToJump ) <= xNextTaskUnblockTime)" more or less directly when LightSleep is enabled, see attached coredump.

vTaskStepTick assert.txt

If increasing CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP from 2 to 3 (the default value) it seems to work much better, we have not been able to reproduce with this setting.

Note: with earlier v4.4.x releases, we have seen this problem as well, but very, very seldom, see https://github.com/espressif/esp-idf/issues/9797.

Steps to reproduce.

For us, it happens more or less directly when LightSleep is entered/exited and CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP is set to 2.

Debug Logs.

assert failed: vTaskStepTick tasks.c:2959 (( xTickCount + xTicksToJump ) <= xNextTaskUnblockTime)

More Information.

No response

AxelLin commented 5 months ago

@0xjakob Any update?