task_wdt: Task watchdog got triggered ESP32S3 AsyncWebServer
Posted: Fri Nov 24, 2023 1:47 pm
Hello,
I dealing with a similar issue as described here:
https://github.com/espressif/arduino-esp32/issues/2267
I wonder how this issue never been solved ... None of the answers are satisfactory in the thread.
In this guy's case something was holding up the execution, in my case I have a long delay, about 50 secons in my code upon a command while the ESP performs a sequence, it turns on some machine, keeps monitoring the status then goes back to the main loop.
I could put a hold timer of course on this to spend as least time it's possible inside this function but as I have said this is a sequence, the Arduino or in this case the ESP waiting back some input from the machine and proceeds further or it fails.
I really don't want to rewrite my code just for this and I don't get it either, this thing 20 folds more powerful as an Arduino and has 2 CPUs, why can't the other core just do the webstuff or if it can then HOW?
My plan is that once the sequence has been started I set a global variable so if someone reloads the page or visits the same website he just sees that the machine is busy, once this flag cleared out the website would show the turn on button again.
I dealing with a similar issue as described here:
https://github.com/espressif/arduino-esp32/issues/2267
I wonder how this issue never been solved ... None of the answers are satisfactory in the thread.
In this guy's case something was holding up the execution, in my case I have a long delay, about 50 secons in my code upon a command while the ESP performs a sequence, it turns on some machine, keeps monitoring the status then goes back to the main loop.
I could put a hold timer of course on this to spend as least time it's possible inside this function but as I have said this is a sequence, the Arduino or in this case the ESP waiting back some input from the machine and proceeds further or it fails.
I really don't want to rewrite my code just for this and I don't get it either, this thing 20 folds more powerful as an Arduino and has 2 CPUs, why can't the other core just do the webstuff or if it can then HOW?
My plan is that once the sequence has been started I set a global variable so if someone reloads the page or visits the same website he just sees that the machine is busy, once this flag cleared out the website would show the turn on button again.
Code: Select all
14:32:04.450 -> E (79213) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
14:32:04.450 -> E (79213) task_wdt: - async_tcp (CPU 0/1)
14:32:04.450 -> E (79213) task_wdt: Tasks currently running:
14:32:04.450 -> E (79213) task_wdt: CPU 0: IDLE
14:32:04.450 -> E (79213) task_wdt: CPU 1: loopTask
14:32:04.450 -> E (79213) task_wdt: Aborting.
14:32:04.483 ->
14:32:04.483 -> abort() was called at PC 0x42017144 on core 0
14:32:04.483 ->
14:32:04.483 ->
14:32:04.483 -> Backtrace: 0x4037718e:0x3fc95560 0x4037c949:0x3fc95580 0x4038269d:0x3fc955a0 0x42017144:0x3fc95620 0x40378685:0x3fc95640 0x420843c7:0x3fcf47d0 0x420179a6:0x3fcf47f0 0x4037dedc:0x3fcf4810
14:32:04.483 ->
14:32:04.483 ->
14:32:04.483 ->
14:32:04.483 ->
14:32:04.483 -> ELF file SHA256: 7e29832554f34c22
14:32:04.649 ->
14:32:04.649 -> Rebooting...
14:32:04.649 -> ESP-ROM:esp32s3-20210327
14:32:04.649 -> Build:Mar 27 2021
14:32:04.649 -> rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
14:32:04.649 -> Saved PC:0x40376d9c
14:32:04.649 -> SPIWP:0xee
14:32:04.649 -> mode:DIO, clock div:1
14:32:04.649 -> load:0x3fce3808,len:0x44c
14:32:04.649 -> load:0x403c9700,len:0xbe4
14:32:04.649 -> load:0x403cc700,len:0x2a68
14:32:04.649 -> entry 0x403c98d4