CORRUPT Heap error ... then nothing on Serial monitor!

I have a sketch I’m working on for a thermostat.

On about 1 of 2 page loads, a CORRUPT Heap error occurs. If it is getting 0xFFFFFFFF it resets and recovers, however, when it gets 0x00000000 it will stop printing ANYTHING to serial port. It still functions to OTA and serve (some) webpages, but now I can’t get serial to work. What the heck happened?

My sketch is too big to put in-line so I’ll attach…

thermostat23.ino (42.7 KB)

No expert here but after a quick perusal I see something like this:

int handleTempSet() {
  char filler56[1500], fillerc[40];
.
.
.

and I wonder about the size of the stack and whether or not a 1500-byte array will fit on it.

What processor are you using?