I've been trying to track down why a program broken into several freeRTOS tasks has one low priority task that never gets serviced if, and only if, I call configTime() in setup.
If I comment out that one function call to set the time from NTP everything works as I would expect, except for the time being wrong (obviously). All my tasks yield at some point and execution takes place within all priority levels. If I do set the time the highest priority tasks execute (although slower than without NTP sync) but the lowest is never entered. I even tried calling configTime() from an even lower priority task of its own but that made no difference.
I haven't had any success trying to find the inner workings of NTP for arduino-esp32 as some links in the code on github seem to be for blobs of esp8266 code and some are broken. Is anyone familiar with the way NTP time is handled and how it might interfere with the freeRTOS scheduler?